Skip to content

Settings → Conversions

The Conversions tab in Settings (/settings?tab=automations, group Events and CAPI) sends your real conversions (leads, bookings, sales, payments) back to the ad platforms, server-side, with no code. The older addresses /settings/automations and /settings/automations/meta-capi redirect to this tab.

Why it matters: ad platforms only optimize on what they can see. A sale closed on the phone three weeks after the click does not exist for Meta or Google until someone sends it back. Here, every event received by DURUM can be forwarded to the pixel or ad account of your choice, with the amount and the account currency.

The tab reads top to bottom: connected destinations, conversions (the workflows), send log.

1. Connected destinations

One card per platform: Facebook, TikTok, Google, Snapchat, LinkedIn, ChatGPT and Whop. Every connected card has a Test button that sends a verification event and shows the result ("Facebook OK, events_received: 1", for instance), plus any point to fix.

Facebook (Meta)

Two ways to connect a pixel:

  • Connected account (recommended): when the Meta Ads account is already connected under Integrations, the dialog lists your pixels (field Meta pixel (connected account)). No token to paste. Optional Test Event Code field (leave empty for production mode).
  • Manual entry (System User): fields Pixel ID, Access Token (system user token) and an optional Test Event Code.

An account can hold several pixels (+ Add a pixel). Each pixel gets routing rules by domain and by URL path of the landing page; the pixel flagged catch-all receives everything no rule captures. A pixel with no rule that is not the catch-all receives nothing.

Google

No token to paste: the card reuses the Google Ads connection made under Integrations. You pick a conversion action of type "Import, other data sources or CRM" (actions incompatible with import are flagged "not compatible with sending"). Several Google Ads accounts can be added; an account still used by a conversion cannot be removed. If the enhanced conversions terms are not accepted on the account, Google will refuse conversions carrying an email or a phone: the card says so.

TikTok, Snapchat, LinkedIn, ChatGPT, Whop

PlatformFields requested
TikTokPixel Code, Access Token (long-lived), optional Test Event Code
SnapchatSnap Pixel ID, Access Token, optional Test Event Code
LinkedInConversion Rule ID / URN, Access Token (scope rw_conversions)
ChatGPTPixel ID (px_…, OpenAI Ads Manager, Conversions tab), Server-side key
WhopOne-click connection (Business ID biz_… then authorization), or an API key as fallback

Credentials are validated with a test call before being saved (Validate & connect). When editing, a secret field left empty keeps the current value.

2. Conversions (workflows)

A conversion = a DURUM trigger, optional filters, an optional delay and one or more actions (destination + event name). The guided creator does most of the work; the full editor lets you fine-tune.

Triggers

TriggerDURUM event
Leadlead
Applicationapplication
Booking (appointment)booking
No-showno_show
Salesale
Paymentpayment
Refundrefund
New customernew_customer (first paid purchase of a contact; full editor only)

Your custom events are also offered as triggers. A trigger can also be a webhook URL specific to the workflow, for a tool that is not integrated.

Filters

One or more conditions on the event data (utm_source, utm_campaign, calendar_name, product_key or any field in dotted notation), combined with AND / OR, using the operators equals, not equals, contains, does not contain, greater than, less than, exists, does not exist, in list, not in list. For booking and no_show, a calendar picker restricts sending to some calendars; with no selection, every booking is sent.

Delay

Wait before sending: immediate, 5 minutes, 15 minutes, 1 hour, 6 hours, 1 day, 3 days, 7 days, or a custom duration up to 30 days.

Actions

Each action targets a destination and an event name on the platform (standard list, or Custom conversion for a free name). The recommended name is preselected from the trigger:

TriggerFacebookGoogleTikTok
LeadLeadLeadLead
ApplicationSubmitApplicationSubmitLeadFormSubmitForm
BookingScheduleBookAppointmentSubscribe
No-showContactLeadContact
Sale, Payment, RefundPurchasePurchaseCompletePayment (PlaceAnOrder for a refund)
New customerNewClient (custom conversion)SignUpCompleteRegistration

Per-action options:

  • Destination pixel when the Facebook account holds several pixels (otherwise automatic routing by page URL).
  • Google Ads account and conversion action when several are connected; Customer Match checkboxes to also feed a customer list.
  • Test mode with a Test Event Code (suggested code: DURUMTEST): the event only shows in the Test events tab of the events manager, no real conversion is counted. A workflow in test carries the TEST MODE badge.

Amount, currency and identity: nothing to configure

DURUM automatically sends everything it received: email, phone, name, city, region, country, postal code, amount, currency, product and order number. A refund amount is sent as a negative value. The currency is the event's, otherwise the account currency (see Account currency and timezone). A manual mapping (value, currency, content_name, content_ids, order_id, predicted_ltv) is only useful to override one of these values.

Conversion list

Each row shows the state (active or paused), the name, the event → platform event mapping, and its stats: number of fires, success rate, number filtered ("All filtered (no send)", "Never fired"). The success rate leaves out filtered events: a workflow that filters as asked is not penalized. Actions: Pause / Enable, Edit, Delete. Filters by source, destination, status and name.

When no destination is connected, a banner warns: "No pixel connected. Your conversions will be saved but will not fire." The guided creator also warns when an active workflow already sends the same event to the same platform without a distinguishing filter (duplicate risk).

3. The "no event without an identifier" guard

An ad platform cannot match an event to a person without an identifier. Before every send, DURUM checks that the event carries one; otherwise it is not sent and the log explains why.

  • Facebook: at least one strong identifier is required (email em, phone ph, fbc, fbp, external_id or lead_id), failing that first name and last name, failing that IP address and browser. Otherwise, status Skipped with the reason meta_sans_identifiant: ni courriel, ni telephone, ni nom, ni fbc/fbp, ni IP+navigateur (Meta refuse, sous-code 2804050).
  • Google: a click identifier (gclid, wbraid, gbraid), an email or a phone is required. Otherwise, status Skipped with the reason google_sans_identifiant: ni clic (gclid/wbraid/gbraid), ni courriel, ni telephone.

Why this guard: Meta handles a whole batch in a single request. One empty event used to get the entire batch refused, up to 24 healthy events with it, and every retry replayed the same error. Since then, the empty event is set aside before sending, and if a batch is still refused for an invalid parameter, each event of the batch is resent alone to isolate the culprit.

Also set aside, never sent: test or neutralized contacts, fictional identities (555-01xx numbers, reserved domains) and duplicate webhook calls (same workflow, same email, a few minutes apart).

4. Send log

The log lists every send with its status, the destination, the workflow and event name sent, the date and the number of attempts. Clicking a row opens the detail: Why this status?, the event ID (deduplication), the scheduled and sent dates, then three blocks: Data sent to the platform, Platform response, Trigger event data. For a filtered event, each condition is shown with its verdict and the value actually received.

StatusMeaning
SentAccepted by the platform
PendingQueued, picked up on the next pass (every minute)
SendingSend to the platform in progress
FailedThe send failed; it will be retried automatically, or you can resend it now
AbandonedFive failed attempts, no more automatic retries: fix the cause, then resend
FilteredNormal behaviour: the workflow filters exclude this event
SkippedNot sent: the source data was incomplete at processing time (guard above, test contact, build failure)

Log filters: status, destination, conversion. 50 rows per page. Per-status counters stay visible whatever the filter.

Resend

A banner appears as soon as there are Failed or Abandoned sends: "N failed sends never reached their destination. The data is kept: resending is possible." The Resend all button (or Resend on a row) puts those events back in the queue with the attempt counter reset. A Skipped event cannot be replayed: the source data must be fixed, after which a new event will go out.

Cadence and retries

Sends go out every minute, in batches of at most 25 events per destination, never mixing two pixels or two Google conversion actions in one call. On failure, five attempts with growing delays (5 s, 30 s, 5 min, 30 min, 6 h), then Abandoned.

Troubleshooting

SymptomLikely cause and fix
"No pixel found via the connected Meta account"Connect the Meta Ads account under Integrations, or enter the pixel manually
"Connect the Google Ads account under Integrations first"The Google Ads connection is missing; conversions reuse it
"No active conversion action in this account"Create in Google Ads an action of type "Import, other data sources or CRM"
Many Skipped rows with meta_sans_identifiantYour forms or calendars send neither email nor phone: check the source integration
Abandoned rowsExpired token, invalid pixel or missing permissions: read the Platform response, fix the connection (Test button), then Resend all
A saved workflow never firesNo connected destination (INACTIVE badge), or workflow paused
Events only show under Test eventsThe workflow is in TEST MODE: untick test mode in the action

Who has access

The tab requires the Integrations permission (settings_integrations), granted by default to the owner, administrator, media buyer, member and client roles; the sales director, sales rep and viewer do not have it. A client or trial account only sees the conversions of its own account.

Powered by DURUM.ai: ad attribution and operational intelligence