Analytics
Conversion Reporting
Report WhatsApp-attributed purchases and product views to Meta’s Conversions API via Connectly 🧾
POST
Conversion Reporting
When a customer clicks a Click-to-WhatsApp (CTWA) ad and later purchases on your site, Connectly can forward that conversion event to Meta’s Conversions API on your behalf — so the originating ad gets credit in Ads Manager. You send the event to Connectly; you never need to talk to Meta directly.
Endpoint
Integration journey
1
Get your API key
Open the Connectly inbox → Settings → General → API Key. Create a new key with all scopes unchecked (full access) or reuse an existing one if you still have the plaintext. The key is shown only once — copy and store it securely. Never expose it client-side or commit it to source control.
2
Enable purchase tracking in your campaign
In the Flow Builder, open the Audience step of your Click-to-WhatsApp card and tick “Track purchases completed on my own site and report them to the Ads Manager”. Without this, carousel CTA links will not carry the required tracking parameters.
3
Capture tracking parameters at landing
Once your campaign sends, Connectly auto-appends five query parameters to every CTA link:Persist all five values when the customer lands on your site — store them in the session or against the customer record — so they’re available at checkout.
4
Call the conversion endpoint on purchase
When the customer completes a purchase, POST a single conversion event to Connectly with the tracking parameters captured at landing.
5
Verify in Ads Manager
Connectly forwards the event to Meta. Conversions typically appear in Meta Events Manager and roll up into Ads Manager attribution within a few hours.
Request body
Top-level fields
string
required
Verbatim copy of the
cnct_tracking_id query parameter from the landing URL. Identifies the originating WhatsApp/CTWA session at the customer level.string
required
Meta CAPI event name. Accepted values:
"Purchase" or "ViewContent". Any other value returns 400 INVALID_ARGUMENT.string
required
Verbatim copy of the
sendout_id query parameter from the landing URL. Credits the conversion to the correct Connectly campaign.object
required
CTWA attribution data.
object
required
Per-event detail. For
Purchase, currency and value are required.Example request
Response
events_received: 1 confirms Connectly received and recorded the event. Connectly logs the conversion to your campaign analytics regardless of whether the Meta CAPI forward succeeds. If Meta rejects the event, you receive a non-200 response with Meta’s verbatim error message.
Error responses
Notes
Send one event per API call. For multi-item orders, include all items in the
contents[] array within a single Purchase event — do not send multiple POST requests for the same order.cnct_tracking_id,sendout_id,ctwa_clid, andad_idmust be captured from the landing page URL at visit time and passed back when the customer converts — which may happen later in the same session.- Set
event_timeto the actual order timestamp, not the time you call the API. This matters if you flush events in batches or run backfills. order_iddoubles as Meta’s dedup key — keep it stable per order so retries are safe.
1
Get your API key
Open the Connectly inbox → Settings → General → API Key. Create a new key with all scopes unchecked (full access) or reuse an existing one if you still have the plaintext. The key is shown only once — copy and store it securely. Never expose it client-side or commit it to source control.
2
Enable purchase tracking in your campaign
In the Flow Builder, open the Audience step of your Click-to-WhatsApp card and tick “Track purchases completed on my own site and report them to the Ads Manager”. Without this, carousel CTA links will not carry the required tracking parameters.
3
Capture tracking parameters at landing
Once your campaign sends, Connectly auto-appends five query parameters to every CTA link:Persist all five values when the customer lands on your site — store them in the session or against the customer record — so they’re available at checkout.
4
Call the conversion endpoint on purchase
When the customer completes a purchase, POST a single conversion event to Connectly with the tracking parameters captured at landing.
5
Verify in Ads Manager
Connectly forwards the event to Meta. Conversions typically appear in Meta Events Manager and roll up into Ads Manager attribution within a few hours.
Request body
string
required
Verbatim copy of the
cnct_tracking_id query parameter from the landing URL. Identifies the originating WhatsApp/CTWA session at the customer level.string
required
Meta CAPI event name. Accepted values:
"Purchase" or "ViewContent". Any other value returns 400 INVALID_ARGUMENT.string
required
Verbatim copy of the
sendout_id query parameter from the landing URL. Credits the conversion to the correct Connectly campaign.object
required
CTWA attribution data.
object
required
Per-event detail. For
Purchase, currency and value are required.events_received: 1 confirms Connectly received and recorded the event. Connectly logs the conversion to your campaign analytics regardless of whether the Meta CAPI forward succeeds. If Meta rejects the event, you receive a non-200 response with Meta’s verbatim error message.
Error responses
Send one event per API call. For multi-item orders, include all items in the
contents[] array within a single Purchase event — do not send multiple POST requests for the same order.cnct_tracking_id,sendout_id,ctwa_clid, andad_idmust be captured from the landing page URL at visit time and passed back when the customer converts — which may happen later in the same session.- Set
event_timeto the actual order timestamp, not the time you call the API. This matters if you flush events in batches or run backfills. order_iddoubles as Meta’s dedup key — keep it stable per order so retries are safe.
1
Get your API key
Open the Connectly inbox → Settings → General → API Key. Create a new key with all scopes unchecked (full access) or reuse an existing one if you still have the plaintext. The key is shown only once — copy and store it securely. Never expose it client-side or commit it to source control.
2
Enable purchase tracking in your campaign
In the Flow Builder, open the Audience step of your Click-to-WhatsApp card and tick “Track purchases completed on my own site and report them to the Ads Manager”. Without this, carousel CTA links will not carry the required tracking parameters.
3
Capture tracking parameters at landing
Once your campaign sends, Connectly auto-appends five query parameters to every CTA link:Persist all five values when the customer lands on your site — store them in the session or against the customer record — so they’re available at checkout.
4
Call the conversion endpoint on purchase
When the customer completes a purchase, POST a single conversion event to Connectly with the tracking parameters captured at landing.
5
Verify in Ads Manager
Connectly forwards the event to Meta. Conversions typically appear in Meta Events Manager and roll up into Ads Manager attribution within a few hours.
Request body
string
required
Verbatim copy of the
cnct_tracking_id query parameter from the landing URL. Identifies the originating WhatsApp/CTWA session at the customer level.string
required
Meta CAPI event name. Accepted values:
"Purchase" or "ViewContent". Any other value returns 400 INVALID_ARGUMENT.string
required
Verbatim copy of the
sendout_id query parameter from the landing URL. Credits the conversion to the correct Connectly campaign.object
required
CTWA attribution data.
object
required
Per-event detail. For
Purchase, currency and value are required.events_received: 1 confirms Connectly received and recorded the event. Connectly logs the conversion to your campaign analytics regardless of whether the Meta CAPI forward succeeds. If Meta rejects the event, you receive a non-200 response with Meta’s verbatim error message.
Error responses
Send one event per API call. For multi-item orders, include all items in the
contents[] array within a single Purchase event — do not send multiple POST requests for the same order.cnct_tracking_id,sendout_id,ctwa_clid, andad_idmust be captured from the landing page URL at visit time and passed back when the customer converts — which may happen later in the same session.- Set
event_timeto the actual order timestamp, not the time you call the API. This matters if you flush events in batches or run backfills. order_iddoubles as Meta’s dedup key — keep it stable per order so retries are safe.
