Skip to content

Messaging CAPI

Click to message ads send people into a conversation rather than to a landing page, which means the conversion happens somewhere the pixel cannot see. Messaging CAPI reports those conversions back to Meta so campaigns optimize towards conversations that led somewhere, rather than towards clicks.

Because the events are sent from your server rather than the browser, they arrive whether or not client side tracking was available.

These are one to one pairings. Connect the destination that matches the ad type you are running.

SourceDestination
Click to WhatsApp AdsMeta WhatsApp Conversions API
Click to Messenger AdsMeta Messenger Conversions API
Click to Instagram AdsMeta Instagram Conversions API

Supported sources

Supported destinations

The two sides authenticate differently, so expect a slightly different flow on each.

SideHow it authenticates
SourceSingle sign-on only. Click Login with Facebook for Business and grant the requested permissions. Sign in with an account that already administers the Page, because Datahash reads as that account and a Page it cannot manage will not appear.
DestinationSingle sign-on, which is the recommended route, or manual entry of Dataset ID and Access Token followed by Validate Credentials.

Individual connector pages give the exact steps for each Meta connector.

  1. In Studio, open Destination, find Meta, and click the tile for your channel.

  2. Authenticate using single sign-on, or enter Dataset ID and Access Token and click Validate Credentials.

  3. Provide a Connection Name.

  4. Select the Facebook Page the conversations belong to.

  5. Select the Dataset ID events should be written to.

  6. Click Finish.

This is the one part of the setup that genuinely differs by channel. Each has its own Meta identifier, and it is the strongest match key available because it identifies the conversation rather than the person. A hashed email cannot do that.

ChannelIdentifierWhat it is
WhatsAppctwa_clidThe click ID Meta generates when someone taps a Click to WhatsApp ad. It arrives with the first inbound message of the conversation.
Instagramig_sid, ig_account_idThe Instagram-scoped user ID for the person in the conversation, and the Instagram account ID of the business that received it.
Messengerpage_id, page_scoped_user_idThe Page ID, and the page-scoped user ID Meta issues for the person in that conversation. A page-scoped ID is only meaningful next to its Page, so send both.

Meta requires all of these unhashed. Hashing one produces a value no platform has ever seen, and the conversion falls back to contact-detail matching or goes unattributed. See Identifier normalization & hashing.

Map phone number, email and name alongside them wherever you have them. Those are normalized and hashed as usual, and they are what covers conversations Meta cannot tie back to its own identifier.

The event ID is what deduplicates. Where the dataset, the event name and the event ID all match, two deliveries are counted as one conversion, so keep the event ID stable for a given conversation.

No Pages listed during setup. The authenticated user cannot see them, or the business you selected does not own them.

No events in Events Manager. No Click to message source is connected in the same project, or it is not sending.

Delivery stopped. The access token has expired or been revoked.