Skip to main content
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 → SettingsGeneralAPI 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, and ad_id must 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_time to the actual order timestamp, not the time you call the API. This matters if you flush events in batches or run backfills.
  • order_id doubles as Meta’s dedup key — keep it stable per order so retries are safe.
1

Get your API key

Open the Connectly inbox → SettingsGeneralAPI 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, and ad_id must 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_time to the actual order timestamp, not the time you call the API. This matters if you flush events in batches or run backfills.
  • order_id doubles as Meta’s dedup key — keep it stable per order so retries are safe.
1

Get your API key

Open the Connectly inbox → SettingsGeneralAPI 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, and ad_id must 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_time to the actual order timestamp, not the time you call the API. This matters if you flush events in batches or run backfills.
  • order_id doubles as Meta’s dedup key — keep it stable per order so retries are safe.