Conversions API on DoubleTick — Implementation Guide (step-by-step)

Goal: send conversion events from DoubleTick → Meta so your Click-to-WhatsApp (CTWA) ads report real outcomes (qualified leads, purchases, bookings), let Meta optimise ads, and unlock Purchase-Optimised campaigns.


Quick overview

CAPI connects results from WhatsApp (via DoubleTick) back to Meta so Ads Manager shows which CTWA campaigns actually create value — not just clicks or chat starts.


Before you start — prerequisites checklist

Make sure you have:

  • Active CTWA campaigns running (Conversions API works only for CTWA).

  • DoubleTick account with admin access for your WhatsApp API number.

  • A contact person at DoubleTick (onboarding/tech) to receive integration details.

  • Basic business decisions documented: what a lead and a purchase mean for your use case.


Step 1 — Confirm you are running CTWA ads

  1. In Ads Manager check that your ads use Click to WhatsApp as the destination.

  2. If you’re not running CTWA, set up CTWA campaigns first — CAPI won’t accept non-CTWA leads (you’ll see a “Not a Click to WhatsApp customer” error).


Step 2 — Define the conversion events you want to track

Decide the exact events you want to push to Meta. Typical events:

  • Conversation Started — (already available) people who clicked the ad and started chat.

  • Lead Submitted — user filled a form/answered qualification questions in the flow.

  • Purchase / Activity Completed — an actual sale, booking, or activity (e.g., store check-in or appointment).

  • Purchase Intent — when actual purchase may happen later (useful when time to conversion >7 days).

Record these definitions (one line each) so everyone agrees what “Lead” or “Purchase” means.


Step 3 — Build the Lead Qualification Flow in DoubleTick

  1. In Bot Studio design a bot flow that captures a lead: name, phone, product interest, and a qualification flag (e.g., qualified = true).

  2. Identify the exact point where a lead should be considered “submitted” — e.g., when user clicks Submit on a form, or reaches the final node in qualification journey.

  3. Make sure the bot writes a custom contact field or tag when lead is submitted (e.g., lead_status = submitted, lead_score = high).

Why: CAPI triggers need a clear event point in the bot flow to fire the “Lead Submitted” event.


Step 4 — Identify the Purchase Event & choose firing strategy

The purchase event is central — Meta requires ~50 Purchase signals to allow Purchase-Optimised (PO) campaigns.

Decide which of the two strategies fits your business:

Situation
Time to convert
Fire strategy

Low-ticket direct online sales (immediate)

< 7 days

Fire on actual sale (automatic webhook when order placed)

High-ticket / long purchase cycle

> 7 days

Fire on Purchase Intent (qualified intent in-chat)

Activities that lead to sales (store walk-in, appointment)

< 7 days

Fire on activity completion (e.g., appointment booked, check-in)

Activities that lead to sales but >7 days

> 7 days

Fire on Purchase Intent

Note: Meta only attributes conversions to an ad if the conversion happens within 7 days (default). Choose intent events for longer cycles.


Step 5 — Implement event triggers (how to fire events)

You have three primary ways to trigger a CAPI event from DoubleTick:

A. Automated webhook (preferred)

  • When your flow reaches the purchase node (or CRM receives sale), an automated webhook triggers and sends the Purchase event to Meta.

  • Work with DoubleTick tech to map the webhook payload to Meta’s CAPI schema (event name, clid/click_id, customer phone, timestamp, value if relevant).

B. Trigger on template delivery / template-based confirmation

  • If you send a transactional template (e.g., “Thank you for your purchase”) after a payment, configure DoubleTick to fire the Purchase event when the template is delivered.

  • Useful when fulfillment systems send templates after payment confirmation.

C. Manual or attribute-change trigger (fallback)

  • If automation isn’t possible, set the purchase event to fire when a contact attribute changes (e.g., order_status changes to paid).

  • This is manual but acceptable for intermittent workflows.

Deliverables for DoubleTick Tech: For any of the above, you will need to share:

  • Which event(s) to send (Lead Submitted, Purchase, Purchase Intent)

  • The exact trigger point in your bot flow (screenshots / flow IDs)

  • Example payload fields (phone, email, name, clid/click_id, value, currency, custom tags)

  • Expected frequency and volume of events


Step 6 — Data needed for each event (minimum fields)

Meta needs certain fields for accurate matching and attribution. Include as many as you can (order of priority):

  1. clid (Click ID) — essential for CTWA attribution

  2. phone (with country code)

  3. email (if available)

  4. event_name (e.g., Purchase, Lead)

  5. event_time (unix timestamp)

  6. value and currency (for purchases, if you want ROAS)

  7. user_agent / ip_address (optional)

  8. custom_data (product_id, order_id, tags)

DoubleTick will help map these fields into the CAPI payload. The Click ID (clid) is crucial — without it events won’t be linked to the originating ad.


Step 7 — Dashboard setup in Meta Ads Manager (columns & preset)

Make it easy to read CAPI results in Ads Manager:

  1. Open adsmanager.facebook.com → Campaigns.

  2. Click Columns → Customize Columns.

  3. Remove all defaults on the right and tick the following:

  • Messaging Conversations Started

  • Cost per Messaging Conversations

  • Leads (uncheck Website & Meta Leads if CTWA only)

  • Cost per Lead

  • Purchases (uncheck Website & Meta Purchases if CTWA only)

  • Cost per Purchase

  • Purchase Conversion Value (accurate only if you pass value)

  • Amount Spent

  • Purchase ROAS (if you pass value)

  • Reach

  • Impressions

  1. Click Save as Column Preset → name it CAPI Metrics.

This preset shows CTWA performance with CAPI events clearly.


Step 8 — Fire 50 Purchase signals & check readiness for PO campaigns

Meta requires ~50 purchase signals to unlock Purchase-Optimised campaigns.

Two ways to check signal count:

A. Kanban / CRM view in DoubleTick

  • Use your kanban or pipeline and check the counter next to the custom field that tracks Purchases. This is an easy internal check.

B. Meta Ads Manager

  • When 50 signals are received, the option to create Purchase Optimised campaign will appear in Ads Manager (check Conversion objective options and conversion settings). DoubleTick tech can help verify in the Events Manager/Conversions API dashboard.

Tip: Keep tracking progress in the kanban and compare dates to ensure signals are coming from CTWA flow.


Step 9 — Creating a Purchase-Optimised (PO) campaign (step-by-step)

Once 50 purchase signals are confirmed:

  1. Go to ads.facebook.com and sign in.

  2. Select the ad account running CTWA campaigns.

  3. Identify the best-performing CTWA campaign (highest Messaging Conversations or conversion signal).

  4. Duplicate that campaign: select it → Duplicate → keep copies = 1.

  5. In the new campaign name, append “CAPI” to identify it.

  6. Ad Set level → Conversion Location = Message Destinations.

  7. Placements → keep WhatsApp checked and ensure the API Number (your WhatsApp API number) is selected.

  8. Budget & Schedule → choose Lifetime Budget. Calculate budget = 50 × Avg Cost per Purchase (from previous campaigns).

    • Example: Avg cost per purchase = INR 2,000 → budget = 50 × 2,000 = INR 100,000 for 14 days.

    • Adjust pro-rata for longer runs.

  9. Ad Settings → ask customer to upload creatives. Do not change other settings unless needed.

  10. Publish.

DoubleTick can help with selecting the correct phone number and verifying conversion event mapping.


Step 10 — Monitor, validate, iterate

  • Monitor Ads Manager columns (CAPI Metrics) and Events Manager for incoming CAPI events.

  • Validate that events show correct event_name, value and are attributed to correct campaigns.

  • If conversions are lower than expected, check clid in payloads — missing Click IDs are a common cause.

  • If Purchase ROAS shows strange values, ensure value and currency are being sent correctly.


Common blockers & fixes

  • Missing Click ID (clid): events won’t link to CTWA ad. Fix: ensure the clid is captured at time of click and passed in the CAPI payload.

  • Conversions outside 7-day window: consider firing Purchase Intent instead of actual Purchase for long cycles.

  • No 50 purchase signals: increase budget or broaden audience to accelerate signal collection, or use Purchase Intent to help initial optimisation.

  • Event duplication: deduplicate using event_id or check timestamps to avoid double counting.

  • Token / auth failure: ensure the CAPI token provided to DoubleTick is valid and not expired.


Example event mapping (simple example)

Lead Submitted

{
  "event_name": "Lead",
  "event_time": 1680000000,
  "clid": "ABCD1234",
  "phone": "+919876543210",
  "email": "[email protected]",
  "custom_data": {"lead_score":"high"}
}

Purchase

{
  "event_name": "Purchase",
  "event_time": 1680003600,
  "clid": "ABCD1234",
  "phone": "+919876543210",
  "value": 2500,
  "currency": "INR",
  "order_id": "ORD12345"
}

Share such examples with your DoubleTick technical contact for mapping.


Responsibilities & who does what

  • You (customer / marketer): define what counts as Lead / Purchase, approve flow, provide access to Ads Manager metrics, and supply creatives.

  • DoubleTick team: map events to CAPI, configure webhooks or triggers in bot flows, test events, and advise on campaign settings.

  • Meta / Ads Manager: receive events and use them to optimise campaigns.


Quick checklist to hand to your ops person


Best practices & tips

  • Capture clid reliably at the moment the user clicks the CTWA ad (this is the backbone of attribution).

  • Send value for purchases if you want ROAS and Purchase Conversion Value accuracy.

  • Prefer automated webhook triggers for real-time, reliable event firing.

  • Use Purchase Intent events for long sales cycles and then switch to actual Purchase when available.

  • Test your events with a small test ad to check mapping before full scale.

Last updated