📈 WhatsApp attribution
How to track WhatsApp sales from click to close
To identify which channel produced a WhatsApp sale, connect four records: source, link open, conversation and closed sale. A short link or GA4 can measure the click, but neither proves that a message was sent or a sale happened.
6 min readUpdated
On this page
The common reporting mistake is to label every click on wa.me as a conversion. That click only says someone activated the link. They may then open WhatsApp, leave, send a message, become a qualified opportunity and buy. Keep each stage separate so you can find the actual drop-off without assigning revenue the system never observed.
What each stage can tell you
| Stage | Possible record | What it proves | What it does not prove |
|---|---|---|---|
| Source | UTM tags, one link per channel or a code in the message | Which campaign or placement drove the visit | That WhatsApp opened |
| Open | Short-link data or a GA4 click event | That the link was activated | That a message was sent |
| Conversation | WhatsApp Business, inbox or CRM | That an identifiable chat exists | That it is a qualified lead |
| Opportunity | Label or pipeline stage | That the contact meets your definition | That the sale closed |
| Sale | Order, payment or CRM | That a close and value were recorded | That one channel caused the sale |
The rule that prevents inflated reporting
Name every metric after what you observed: open, conversation, lead or sale. Do not automatically turn an open into a person, enquiry or revenue.
A practical method for a small business
- 1
Assign one source to each link
Create a separate link for organic Instagram, ads, your Google Business Profile, email, QR codes and every placement you need to compare. Do not reuse one link everywhere.
- 2
Carry the source into the message
Prefill a line such as “Hi, I saw the September campaign and would like to ask about…”. The visitor can edit it before sending, but an intact message gives the person handling the chat visible context.
- 3
Record the click without calling it a sale
A taap.at short link records opens. If the button is on your website, you can also configure a dedicated GA4 or Google Tag Manager event so it is separate from other outbound links.
- 4
Label the conversation
When the message arrives, assign a source and stage: new enquiry, qualified, quote, follow-up, won or lost. Give the entire team the same definitions.
- 5
Reconcile the close
Once a week, connect the order or payment to its conversation. Review sales and value by source, while retaining opens and chats to diagnose the funnel.
Create a different link for each channel
Build a WhatsApp link with a prefilled message below, then create a short variant for every placement. An Instagram version might say “Hi, I came from Instagram and would like to ask about the product in your post.” For an ad, replace that reference with a stable campaign or creative name.
What taap.at contributes
The short link records opens, approximate date, country, device and available referrer according to the plan and data window. It does not read conversations, identify sales or replace a CRM or website analytics.
Where UTM tags and GA4 fit
UTM tags identify visits to a measured web page. Add them to the landing-page URL receiving campaign traffic and keep one naming convention for source, medium and campaign. In GA4, review Session source / medium and Session campaign in Traffic acquisition.
If a button on that landing page opens WhatsApp, record an event such as whatsapp_click with useful parameters—for example page, button placement and campaign—and test it before publishing. The event connects the web session to the outbound click, but it cannot observe activity inside WhatsApp.
| Use case | Minimum setup | Outcome you can attribute |
|---|---|---|
| Direct link from a bio | Separate short link + source in message | Opens and chats that retain the text |
| Ad to a landing page | UTM tags on landing page + whatsapp_click event | Session and WhatsApp click by campaign |
| WhatsApp campaign to your site | UTM tags on the shared destination URL | Sessions and later website actions |
| Manually handled sale | Source and stage in a label or sheet + order | Reconciled chats, sales and value |
When you need an API, CRM and ctwa_clid
If you run ads that open WhatsApp and need to send lead or purchase events back to Meta, the advanced implementation uses WhatsApp Business Platform, webhooks, a database or CRM and Conversions API for Business Messaging. In that flow, ctwa_clid identifies the ad click that started the conversation and must be stored with it before the matching event is sent.
This is not a short-link feature
ctwa_clid belongs to the technical flow for ads that click to WhatsApp and Business Platform. Adding text or UTM tags to a wa.me link does not create it, and the WhatsApp Business app cannot turn taap.at opens into attributed sales on its own.
A weekly dashboard without double counting
| Source | Opens | Conversations | Leads | Sales | Value |
|---|---|---|---|---|---|
| instagram_organic | Link data | Chats with source | Your qualification rule | Closed orders | Amount collected |
| meta_campaign_a | Link or event data | Matched chats | Your qualification rule | Closed orders | Amount collected |
| store_qr | Link data | Chats with code | Your qualification rule | Closed orders | Amount collected |
Calculate rates only between comparable stages: conversations per open, leads per conversation and sales per lead. If a stage is missing, show “no data” rather than replacing it with another metric. Review lost opportunities and conversations without a source to improve the recording process.
Frequently asked questions
Does a WhatsApp click count as a sale?
No. A click or open only means the link was activated. Verify a sale with an order, payment or closed status in your commercial record.
Can I tell which ad produced each sale?
A manual process can distinguish campaigns with separate links and messages and reconcile them with orders. Technical attribution for ads that open WhatsApp requires a compatible Business Platform integration, the click identifier and your sales system.
Should I put UTM tags on a wa.me link?
UTM tags are designed for destination URLs measured by a tool such as GA4. Use them on the landing page or website receiving the visit. For direct WhatsApp links, use separate short variants and source-specific messages.
Can GA4 see whether someone sent the message?
GA4 can record the click on a button on your website, but it cannot automatically see whether the visitor sent a message or bought inside WhatsApp.
What should I track first?
Start with one link per source, a message that carries context, and three stages in a sheet: conversation, lead and sale. Add GA4, a CRM or an API when volume and decisions justify the extra setup.
Make it yours and track every click
Create a free account so your links do not expire and you can measure country, device, and source.