Skip to main content

Ads console: Meta click-to-chat conversion tracking

The Ads page in your dashboard is the console for Meta click-to-chat advertising: connect an ad account, launch campaigns that open conversations on WhatsApp, Messenger, or Instagram, and send the conversations’ outcomes back to Meta for attribution. This page walks each tab of the console in the order you run it; the Ads API reference has the endpoint schemas, and the Meta Ads activation guide covers the same loop end to end.
The Ads console campaign list with Meta insights

Connect your Meta ad account

Meta Ads is an early-access channel. You can connect and launch today; the badge clears when it goes generally available.
  1. Open Settings > Channels and find the Meta Ads connector card.
  2. Choose Connect Ad Account and sign in with your Facebook profile over OAuth.
  3. Select the ad account to link.
Once linked, the Ads page shows a success card with the connected account and a Disconnect control. One ad account connects per organization, and the connection reports the account’s billing currency so budgets and spend render in that currency, not USD. From then on:
  • Reads (connection status, campaign list, audience list) are available to every role in your organization.
  • Writes (connect/disconnect, campaign create/pause/resume/delete, audience create/sync/delete, conversions configuration and posting) require an owner or admin.
Disconnecting is irreversible — it stops data flow and disables click-to-chat campaigns. The console gates it behind a typed-phrase confirmation, and reconnecting requires a fresh Meta authorization.

If the wrong account got connected

The console names the connected ad account id on the status card. If that id is not the account you meant to run, disconnect and re-run the OAuth flow, this time picking the correct ad account in Meta’s account picker. Because only one account links per organization, never share the connection across brands: disconnect, then reconnect under the right account.

Create a campaign

The Ad Campaigns tab lists every campaign with name, status, destination, daily budget, impressions, clicks, and conversations. Filter by search and status, and page through the full list with Load more campaigns. To create a campaign:
  1. Choose Create campaign.
  2. Set a name, a daily budget in the account currency, and the destination (WhatsApp, Messenger, or Instagram Direct).
  3. Write the ad text; optionally attach an image URL and a welcome message that opens the conversation.
New campaigns are created PAUSED, so review them in Meta before you spend. From the campaign’s action menu you can Pause and Resume — Meta rejects a status change on DELETED or ARCHIVED campaigns, so only PAUSED campaigns offer Resume. Delete removes the campaign from your Meta ad account for good. Open View Insights on a campaign for impressions, reach, clicks, CTR, spend, cost per click, and started conversations in the account currency.

Verify conversion tracking (Conversions tab)

The Conversions tab is where click-to-chat attribution is wired. Meta matches a business outcome to the ad that started the conversation only if it receives one of two identifiers: the ctwa_clid (the Click-to-WhatsApp click id stamped on the inbound message) or the contact’s phone/email. The phone/email is SHA-256 hashed server-side before anything leaves — raw PII never goes to Meta.
  1. Set the Dataset ID. Paste your Meta dataset id into Configuration and save. Saving anywhere else does not enable the integration; the send-test endpoint reads this exact setting.
  2. Send a test event. Choose Send Test Event to verify the dataset receives a Lead event before live traffic. The Recent Test Events panel logs every send Meta confirmed ({count} received) during this session, so a misconfigured dataset id is caught cheap. A send that Meta rejects is flagged instead of logged.
  3. Post real conversions. When your agent qualifies a lead or a purchase lands, open Post Conversion, pick the event (Lead, Purchase, complete registration, appointment, or any of the Meta standard names the form lists), and supply at least one match key: the ctwa_clid from the inbound message or the contact’s phone. Optionally set the value and currency so Meta optimizes delivery on revenue, not just volume.
The attribution model is first-touch: a contact’s first click-to-chat referral fixes the entry ad, and everything that follows is credited to it. The conversion window you read back is chosen in the attribution endpoint (window_days, 1–365, default 30) rather than in the console.

Where conversions surface in attribution

Set the dataset_id once as above, then the attribution view joins captured click-to-chat entry points, orders, and Meta ad spend into one report:
Reconcile the per-ad entry counts against the analytics funnel event log and the referrals funnel landing pages. Because the attribution is inbound-only — the referral stamp attaches to inbound click-to-chat messages — outbound delivery of ads never leaves Devotel: only hashed identifiers and event ids do. Every inbound click-to-chat message carries the referral block stamped by Meta — the source ad id, type, creative, and the ctwa_clid. Map it to the reply:
  1. A customer taps your ad and lands in WhatsApp, Messenger, or Instagram Direct.
  2. Meta stamps the inbound message with the referral block; the inbox message shows the originating campaign and the ctwa_clid.
  3. When the conversation converts, post the event under Conversions > Post Conversion with the ctwa_clid from that message (or the contact’s phone).
  4. Insights then credits the originating ad with the entry and the outcome.
If a reply shows no referral, the conversation did not come through a click-to-chat ad — the conversion posts with the phone/email match key instead.

Activate first-party segments (Audiences tab)

The Audiences tab turns a CDP segment into a Meta Custom Audience for targeting or suppression:
  1. Build the segment in the CDP first — the CDP segment guide covers filters and auto-refresh.
  2. In the Audiences tab choose Create audience, name it, and optionally link the segment so membership can sync with one click.
  3. Choose Sync members on an audience and pick Add members (targeting) or Remove members (suppression).
Email and phone are hashed before upload. A sync resolves up to 100,000 members per call and reports truncated: true when it cut the list — split larger segments or re-run paginated syncs. Tenant-owned controls like consent and suppression still apply to any segment you target or exclude, so pair this with opt-out lists when the segment feeds a suppression audience.

Troubleshooting

  • “Connect via Settings” shows a Coming Soon card. Meta Ads is early access; its connector card leads its category with a working Connect Ad Account button. The Ads page links straight to that card.
  • Connect banner shows no account. The connection-status read failed (401/403/500). The console surfaces the error with a Try again path — fix that before re-running OAuth.
  • Send Test Event rejected. The dataset id is unset or wrong. Save it on Conversions > Configuration exactly; write anywhere else and the send-test endpoint rejects with CAPI not configured.
  • Post Conversion stays disabled. The button needs at least one match key — ctwa_clid or phone — so Meta can attribute the event.
  • Wrong account linked. Disconnect from the status card, then re-run the OAuth flow and pick the right ad account in Meta’s account picker.
  • Attribution shows no entry points. The referral stamp is inbound-only; check window_days is within the past 365 days and the campaign actually reached ACTIVE.
  • Resume not offered on a campaign. Only PAUSED campaigns can go back to ACTIVE; DELETED or ARCHIVED campaigns are terminal in Meta.

See also