Guides/Ads & tracking

What are my ads actually producing, and do you support CAPI?

Yes. WhatsApp CAPI is built in with no setup, plus Google Ads offline conversions. Mark the buyer and the rest is automatic. 6 min read

The problem every advertiser has: money goes out, chats come in, and then it goes dark. Nobody knows which chat ended in a sale. The Ads page answers that, and more importantly it reports back to Meta and Google so the ad algorithm learns to look for people who resemble your buyers rather than your clickers.

For those who know the terminology: yes, this is CAPI, the Meta Conversions API for Business Messaging, sending a LeadSubmitted event with the ctwa_clid from Click-to-WhatsApp ads, plus Google Ads offline conversion import for the click-website-then-chat path. The difference from wiring up CAPI yourself: here there is nothing to set up.

Meta CAPI for Click-to-WhatsApp, automatic, nothing to install

Every chat arriving from a "Send WhatsApp Message" ad on Facebook or Instagram is tracked automatically and appears on the Ads page with the ad name attached. When that chat becomes a buyer, click 🎯 Mark as customer, optionally entering the value. That is all.

No Dataset ID, no token, no pixel. We create a Conversions API dataset linked to your WhatsApp account and report the events on your behalf. The Test connection button on the Ads page proves it at any time. Ad teams already running their own dataset in Events Manager can still use it through the advanced option.

Report lead status to Meta from the inbox

The ad algorithm learns fastest when every change in a lead's status is reported, not just purchases. Turn it on once under Ads β†’ Report lead status to Meta, and your team simply works from the inbox:

StageHow to mark itEvent sent to Meta
Real chatAutomatic: the lead sends another message after the first one from the adLeadSubmitted
Hot / qualifiedLabel hot, or type /hot in a private noteQualifiedLead
ClosingLabel closing, or /closing 1500000 in a private notePurchase + value

The value can be written as 1500000, 1.500.000, 1,5jt, or 250rb. Every report leaves a private note "πŸ€– Reported to Meta βœ“" in the conversation, and each stage is reported only once per contact, toggling a label on and off does not duplicate data. The hot and closing labels are created for you when the feature is turned on.

Only contacts who came from an ad can be reported, and for Meta no later than 7 days after the click, that limit is Meta's. Mark leads promptly, ideally the same day.

When your team's labels are not "hot" and "closing"

Your team may already name labels its own way: panas, deal, paid. No need to change them. Under Ads β†’ Label β†’ Meta event rules, map the labels you already use to the events Meta understands:

Each label may hold only one rule, and every rule can be set to automatic (sent the moment the label is applied) or not. Until you create rules of your own, the defaults hot β†’ QualifiedLead and closing β†’ Purchase stay in effect.

Proving the connection inside Meta

The Test the connection button has two optional fields:

The last test result and its timestamp are kept on the page, so the rest of the team can see when the connection was last checked.

Build Custom Audiences & Lookalikes per stage

The Ads page has CSV downloads for all ad leads, real chat, hot, and purchased (with a value column). Upload them in Meta Ads Manager β†’ Audiences β†’ Create audience β†’ Custom Audience β†’ Customer list, then build Lookalikes from them. A common pattern:

  1. Week 1: broad ads to find new leads, with the team marking status diligently. The more marks, the sooner the next step can start.
  2. Week 2 onward: 5% Lookalikes of the real chat and hot audiences, stepped down to 1%; the real chat audience itself is used for retargeting.
  3. After roughly 100 purchases with values: a value-based Lookalike from the purchased file, then optimise for ROAS.

Not every business performs best at 1%; compare results before deciding.

Google ads land on a website first, and the visitor then presses a WhatsApp button. Paste one line of our snippet into your site, available on the Ads page, and it links the Google ad click to the chat that arrives. Then in Google Ads create a conversion action of the Import from clicks type and schedule an import from your private CSV URL, also on the Ads page. Set up once, automatic forever, with no API and no OAuth.

For developers

POST https://waco.id/api/v1/konversi
Authorization: Bearer waco_xxxx

{ "nomor": "628123456789", "event": "Purchase", "nilai": 150000 }

-> { "ok": true,  "sumber": "meta",  "status": "terkirim" }
-> { "ok": false, "alasan": "tanpa_klik_iklan" }   // organic chat, not from an ad

Call it from your point of sale or order system when payment lands, and conversions are marked without anyone touching the dashboard.

Attribution windows: a Meta click counts for up to 7 days, a Google click for up to 90 days. A conversion marked after that can no longer be tied back to its ad, so mark them as soon as you can.
Still stuck after following this guide? Contact us from the dashboard, attach a screenshot if you have one, it speeds everything up.