Skip to content

Growth and Marketing

Conversion Tracking for Click-to-WhatsApp Ads: A Setup Guide

If Meta never learns which ad produced the patient who messaged you, budget chases message volume. How CTWA conversion tracking is set up.

CTWA became the default format for a reason

Click-to-WhatsApp ads are close to standard in medical tourism, and the reason is simple: prospective patients do not want to fill in a form, they want to talk. A "message on WhatsApp" button reliably out-engages a landing page form.

That preference brings a measurement problem with it. The moment the chat opens, the person moves into a space Meta cannot see. The number in your ads manager becomes "conversations started", and that number tells you nothing useful: how many of those hundred conversations became patients is known only to you.

Where exactly the chain breaks

A WhatsApp chat that started from an ad carries an invisible label on its first message: an ad click identifier (Meta calls it ctwa_clid). That label is the only proof of which ad produced the conversation.

The chain breaks in three places:

  1. The label is never captured. If the number is not connected through the WhatsApp Business API, the information never arrives. The message lands, the chat opens, the source is unknown.
  2. It is captured but not stored. The conversation reaches the CRM and the label is not written to the record. Three weeks later, when the sale closes, there is nothing left to attribute.
  3. The sale is never reported. The most common case by far. Everyone uses the right systems; nobody built the feedback loop.

All three end in the same place: Meta does not know which patient your money bought.

The prerequisite: the number must be on WABA

This is the step most often skipped and last discovered. The ad click identifier is only carried on chats arriving through the official WhatsApp Business API (WABA).

If your number is connected by QR code, tied to a desktop app, or routed through a different provider, messages still arrive but source data does not. The best available fallback is matching on the phone number: Meta can recognise the person, but not which ad produced them — so it cannot be used for campaign optimisation.

The difference looks small and decides everything. When someone asks months later why the ads never seem to learn, this is usually the answer. Finish the official WhatsApp API setup before you build measurement on top of it.

Who marks the conversion — a person or an automation?

The textbook answer is automation: when the status becomes "sale closed", fire the event. In practice, who changes that status and when is what decides whether this works.

The healthiest arrangement we see: the consultant does the job they already do — move the patient's status forward — and the conversion goes as a by-product. Add a separate "report to Meta" step and within a few weeks it becomes the step nobody performs.

In MetoCRM this is reduced to a mobile screen: people who came from ads are listed newest first, each card carries up to three buttons (interested · appointment · sale), and tapping one changes the patient's status. There is no separate measurement task; measurement is a side effect of selling.

And one more thing: mis-taps are certain. So the event does not leave immediately — the system waits 15 minutes and sends only if the status still stands. Undo inside that window and nothing reaches Meta. Since a wrongly sent conversion cannot be deleted, that window is the quiet hero of the setup.

Setup checklist

  1. Is the number on WABA? If not, fix that first; everything downstream runs on partial data.
  2. Is the chat's ad identifier stored? The CRM must persist that field when it opens the conversation.
  3. Is the pixel connected and access validated? A pixel id you have no permission for should never be accepted silently.
  4. Which status maps to which event? Three events are enough: Contact, Lead, Purchase. Negative statuses are not sent.
  5. What value goes with a sale? Flat average or the real quote total — with mixed treatments, the latter.
  6. Have you verified with a test event? Use a test code in Meta's Events Manager and confirm without polluting live data.
  7. Is dispatch logged? "Did it send?" must have a written answer: event, person, timestamp and Meta's response.

When do you see results?

Set the expectation correctly: conversion feedback is not a button that lowers cost per patient tomorrow. Meta's optimisation only becomes meaningful above a certain data volume — Meta's own guidance talks about roughly fifty optimisation events per ad set per week. A company closing three sales a week will never reach that threshold on Purchase alone.

The practical approach: optimise campaigns on a higher-volume intermediate event (qualified lead) and send the sale event for measurement and reporting. The algorithm gets enough data to learn, and you still see the real outcome.

The first real payoff is usually this: you see plainly which campaigns bring messages and no patients. Once that table exists, moving budget stops being an argument and becomes a decision.

Frequently asked questions

How is conversion tracked on click-to-WhatsApp ads?

A WhatsApp chat started from an ad carries an ad click identifier. The CRM stores it, and when the sale closes the conversion event is sent to Meta with that identifier, so Meta ties the person to the ad they clicked. Without it, the best available match is a hashed phone number.

My WhatsApp number is connected by QR code — can I still send conversions?

Partly. The ad click identifier only travels on chats arriving through the official WhatsApp Business API; a QR-connected number never receives it. You can still match on the phone number, but the conversion cannot be attributed to a specific ad and so cannot drive campaign optimisation.

Who marks the conversion?

Software cannot know on its own that a sale closed; the consultant does. The right arrangement is for the consultant to do what they already do — move the patient's status forward — with the conversion going as a by-product. A separate 'report to Meta' step becomes the step nobody performs.

What happens if I mark the wrong person?

In a well-built setup the event does not leave immediately. In MetoCRM the record is re-read 15 minutes after the status change and sent only if the status still stands; undo within that window and nothing reaches Meta.

Will sending conversions lower my ad costs?

Not immediately. Meta's optimisation needs volume — its own guidance cites roughly fifty optimisation events per ad set per week. A company closing a few sales a week cannot reach that on the sale event, so optimise on a higher-volume intermediate event and send the sale for measurement.

MetoCRM modules mentioned in this article

WhatsApp Conversion TrackingMeta Conversions APIOfficial WhatsApp APIWhatsApp Business APIFacebook Lead AdsAll modules

MetoCRM is a business management platform built for medical tourism companies. From patient records and quotes to partner hospitals and accounting, it runs the whole operation on one screen.

Request a demo See pricing