Adray

· , Co-founder

How to measure the sales that reach you on WhatsApp from your ads

How to measure the sales that reach you on WhatsApp from your ads

My ads send people to WhatsApp and many sales close in the chat. How do I know which campaign produced each sale?

In Mexico, a large share of online selling happens in a WhatsApp chat: the customer sees an ad, sends a message, asks two questions, and pays by transfer or on delivery. For the business that works. For measurement it is a black hole, because the sale happens somewhere no pixel can see, and the only number the ad platform can report is how many conversations started. This guide covers how to carry the campaign into the chat and bring the sale back out.

Talk to SalesMulti-touch attribution anchored on your real orders.

A conversation is not a sale

Ad platforms report "messaging conversations started" because it is what they can see. It is a useful early signal and a poor goal: it counts people who opened a chat, including the ones asking for a price they will never pay. Campaigns optimized for conversations get more conversations, which is not the same as more sales. The measurement you need is sales and revenue per campaign, and for that the chat has to know where it came from.

Two paths into WhatsApp

Ads that open WhatsApp directly. The person taps the ad and a chat opens with your business. Meta knows the click, and associates a click ID with the conversation (ctwa_clid). The chat itself knows nothing about the campaign unless your system captures that ID when the conversation starts.

Ads that land on your site first. The person arrives on a landing page with the campaign in the URL, then taps a WhatsApp button. The site knows the campaign; the chat does not, and nothing connects the two unless you build the bridge.

Path one: ads that open WhatsApp

  • Use the WhatsApp Business Platform, not only the app. The app is fine for conversations, but capturing identifiers automatically needs the platform, usually through a messaging provider or a CRM connected to it.
  • Capture the click ID when the chat starts and store it with the contact or the deal.
  • Record the sale with it. When the customer pays, mark the deal as won with its value, whether it closes as an order in your store or in your CRM.
  • Report the sale back to Meta. Meta's Conversions API for Business Messaging accepts events from conversations started by ads that open WhatsApp: you send them with action_source set to business_messaging, messaging_channel set to whatsapp, your WhatsApp Business Account ID and the ctwa_clid. Supported events include Purchase, LeadSubmitted and QualifiedLead, which lets Meta optimize on sales rather than conversations.

Path two: from your site to WhatsApp

  • Keep the campaign on the landing page. UTMs and click IDs on every ad URL, as for any other campaign.
  • Put a reference in the prefilled message. The wa.me link can carry prefilled text; add a short unique code per visit or per campaign, such as "Hola, me interesa (ref A7K2)".
  • Log the click on your site with the visit's campaign data and the reference, before the chat opens.
  • Match the chat back. When a conversation arrives with a reference, look it up and attach the campaign to the contact. When the sale closes, it carries the campaign with it.

This is less elegant than a click ID, and it works on any channel, including chats opened from organic posts or email.

Where the sale should live

Record every WhatsApp sale where your business already records sales: as an order in your store with WhatsApp as its channel, or as a won deal in your CRM, with the value, the date it was paid and the reference or click ID. A sale that lives only in a chat history does not exist for any report. The same discipline, applied to forms and phone calls, is covered in lead attribution: from ad to closed deal in your CRM.

What to measure

  • Cost per conversation, as an early signal only.
  • Conversation-to-sale rate per campaign, the number that separates campaigns that bring buyers from campaigns that bring questions.
  • Revenue and cost per sale per campaign, the numbers budgets should follow.
  • Time to close, because WhatsApp sales often close days after the first message, which matters for how long a platform's window has to be to see them.

Common mistakes

Judging campaigns on conversations; letting sellers close sales without recording the reference; reporting a sale to Meta twice, once from a store order and once from the chat; and comparing WhatsApp sales with web sales in different time zones. The general causes of mismatched numbers are collected in why Meta, Google, GA4 and your store never match, and sending conversions from a server is covered in server-side tracking.

If you sell through leads

WhatsApp is often the first step of a lead-generation funnel rather than the checkout itself. For businesses where the sale closes later, by phone or in person, the measurement is the lead-generation kind: verified leads and cost per lead first, closed deals later. That is the case Adray's lead-generation variant is built for.

Common questions

Can I track sales that close in WhatsApp?

Yes, if you carry an identifier from the ad into the conversation and record the sale with it. For ads that open WhatsApp directly, that identifier is the click ID Meta provides for the conversation; for chats started from your site, it is a reference you add to the prefilled message.

What is ctwa_clid?

The click ID Meta associates with a conversation started from an ad that opens WhatsApp. Meta's Conversions API for Business Messaging uses it, together with your WhatsApp Business Account ID, to attribute events such as a purchase back to the ad.

Is 'messaging conversations started' a good metric?

It is a useful early signal and a poor goal. It counts people who opened a chat, not people who bought. Optimize and report on sales, or at least qualified leads, per campaign.

How do I attribute a WhatsApp sale paid by transfer or cash on delivery?

Record the sale when it is confirmed, with the conversation's reference, in your CRM or as an order in your store. Then report it to the ad platform from your server, marking it as a purchase from business messaging where the platform supports it.

Does the WhatsApp Business app work for this, or do I need the API?

The app is fine for conversations but offers no way to capture or send identifiers automatically. Measuring at scale needs the WhatsApp Business Platform, usually through a messaging provider or a CRM that connects to it.