To track the source of a WhatsApp lead, you have to record the source before the chat opens, because the chat itself carries almost nothing back. Once a visitor taps a WhatsApp button, the conversation moves to their phone and out of reach of your analytics. The workable methods all do the same thing in different ways: they make sure every route into WhatsApp passes through something that already knows the source, whether that is your website, a page built for the campaign, a tracked link, a click ID from Meta or a phone number collected a moment earlier.

TL;DR
  • The chat has no referrer. Your analytics can count taps on the WhatsApp button. It cannot see which of those taps became a conversation, or a customer.
  • Tagged links per campaign tell you which page or campaign produced the tap, and nothing about the person.
  • Three routes into WhatsApp keep the source: the WhatsApp buttons on your website, a branded WhatsApp page for campaigns that point straight at chat, and tracked links or QR codes for places with no website journey.
  • Meta’s click-to-WhatsApp placements send a click ID with the first message, which covers that one channel well and every other channel not at all.
  • A short form before the chat records the source, the landing page and the phone number, so the chat can be matched to a lead record by number. It covers every channel that reaches your site.

Why do WhatsApp leads lose their source?

Because the conversation happens in an app your website cannot see into. A visitor lands on your page from a Google search, a Meta campaign or a partner’s newsletter. The page knows exactly which. Then they tap the WhatsApp button, the phone opens WhatsApp, and the message they send arrives in your business inbox as a phone number and a sentence. The UTMs, the click ID and the landing page all stayed behind in the browser tab.

So most businesses end up with two half-records. Analytics shows a tap on an outbound link to wa.me. The WhatsApp inbox shows a new chat from a number it has never seen. Nothing joins them.

It goes the other way too. When people share your link inside WhatsApp, the visit it produces usually arrives with no referrer at all. In a SparkToro and Really Good Data experiment (2023), every test visit from a WhatsApp link was recorded as Direct. A WhatsApp recommendation that turns into a website enquiry gets filed as somebody typing your address from memory.

They work for one question: which page or campaign produced the tap. Put UTM parameters on the URLs that send traffic to your landing pages, give each landing page its own WhatsApp button, and count taps per page as an event. You can then see which landing page, and so which campaign, sends the most people to WhatsApp.

The limit is that this is click-level data. A tap is a tap. It includes the person who opened WhatsApp, looked at the blank chat and closed it, the bot that follows every link on the page, and the customer who tapped twice. None of them carry through to the conversation, so you cannot tell which taps turned into a lead, let alone a sale.

Tagged links are still worth having. Every other method on this page depends on the landing page knowing where the visit came from, and that starts with consistent tagging. The UTM builder keeps the tags uniform across campaigns.

Which routes into WhatsApp keep the source?

Three, and between them they cover almost every way a customer reaches your WhatsApp. Each one knows the marketing journey up to the moment the person heads for the chat.

Your website’s WhatsApp buttons

The most common route. Someone clicks a Google ad, reads your service page and taps the WhatsApp button. Your website already knows the campaign, the landing page and every page they read, so the chat they start can carry all of it. Nothing changes for the customer and nothing changes on the button.

A branded WhatsApp page

For campaigns that point straight at WhatsApp and have no suitable page to land on. The ad sends people to a short page that looks like the familiar “continue to WhatsApp” screen, in your branding and, if you want it, on your own address. The visit is recorded before they leave for the chat, so a WhatsApp-first campaign gets the same credit as any other.

Tracked links and QR codes

For the places with no website journey at all: a LinkedIn post, an email signature, a QR code on a trade-show stand, your Google Business Profile. Each gets its own link with its purpose attached, so a chat that starts from the trade-show QR code is credited to the trade show and not to “WhatsApp”.

All three solve the same problem from different directions. The marketing journey is known before the chat opens, and what matters is that it is still attached when the message arrives. Joining the two by hand means reading every first message and guessing. Lead Source for WhatsApp, in closed beta, does the join for you across all three routes.

What about Meta’s click-to-WhatsApp campaigns?

If the chat starts from a Meta placement that opens WhatsApp directly, Meta does the matching for you. When the person sends their first message, the WhatsApp Business Platform attaches a referral object to it, carrying the ID of the placement they tapped and a click ID called ctwa_clid. Providers built on the platform pass it through: Twilio documents it as a callback parameter on inbound messages, for example. Store it with the conversation, and when that chat turns into a sale you can report the conversion back to Meta through the Conversions API.

This is the cleanest attribution WhatsApp offers, and it covers exactly one channel. The click ID only arrives on the first message, only from Meta’s own placements, and only if you are on the Business Platform rather than the free WhatsApp Business app. A chat that starts from a Google campaign, an organic search, a QR code on a van or a WhatsApp button on your website carries no referral object at all.

So it answers “which of my Meta campaigns produce chats” very well, and leaves “which of my channels produce customers” untouched.

Should you put a form before the WhatsApp chat?

For attribution, yes, and it is the method that covers every channel at once. Instead of opening WhatsApp straight from the button, the button opens a two-field form: name and mobile number. On submit, the form records the lead and then sends the visitor on to WhatsApp, with or without a prefilled message.

That submission is an ordinary website lead, so it can carry everything the page knew about the visit: the UTMs, the gclid or other click ID, the referrer, the landing page and the pages viewed before it. When the chat arrives a few seconds later from the same mobile number, the match is the number itself. No code for the customer to delete and no lookup table to maintain.

The cost is friction. Two fields stand between the visitor and the chat they asked for, and some people will close the tab rather than fill them in. A few things keep that loss small:

  • Keep it to name and number. Anything you want to ask can be asked in the chat.
  • Say why the number is there. “So we can find your message” is honest and short.
  • Send them straight on. The redirect to WhatsApp should happen on submit, with no thank-you page in between.
  • Keep a direct option. A plain phone number or a direct WhatsApp link lower down the page catches the people who will not fill in a form under any circumstances. Those chats arrive unattributed, but they arrive.

One side effect works in your favour. Because the lead exists as a form submission before the chat opens, it is in your CRM even if the visitor never sends the message. That is a phone number and a source for someone who was interested enough to start. A conversation that never happened in WhatsApp can still happen on a call.

Can you match WhatsApp chats to leads by phone number?

Yes, whenever both records hold the number, and it is the most reliable join available. A WhatsApp chat always arrives with the sender’s number. If the same number is already on a lead in your CRM, from the pre-chat form, a quote request last month or a call-tracking record, the chat belongs to that lead and inherits its source.

Two practical details decide whether the matching works:

  • Store numbers in international format. WhatsApp reports the number with its country code. A form that saves “0412 345 678” and a chat that arrives as “61412345678” will not match until both are normalised. Most form tools can enforce the format with a phone field rather than a text field.
  • Decide which source wins. If someone filled in your form from a Google campaign in March and messaged you on WhatsApp in June after seeing a Meta campaign, both are true. Recording first-touch and last-touch source separately keeps both answers instead of overwriting one with the other.

Which WhatsApp attribution method should you use?

It depends on how many channels feed your WhatsApp inbox and how much matching you are prepared to do by hand.

MethodWhat it tells youWhere it breaksChannels covered
UTM-tagged links and tap eventsWhich page or campaign produced the tapCounts taps, not chats. Bots and accidental taps includedAny channel that reaches your site
Lead Source for WhatsApp (beta): website buttons, branded WhatsApp page, tracked links and QR codesSource, campaign, landing page and journey on each WhatsApp lead, created only from real messagesA chat with no tracked route behind it arrives unattributed, never guessedAny channel that reaches your site, plus LinkedIn, email, QR codes and your Business Profile
Meta click ID (ctwa_clid)Which Meta placement started the chatMeta placements only. Needs the Business PlatformMeta only
Pre-chat form, then WhatsAppSource, landing page, page journey and phone number for each leadSome visitors will not fill in two fieldsAny channel that reaches your site
Phone number matchingWhich existing lead a chat belongs toOnly works if the number was captured somewhere firstWhatever captured the number

A business spending mostly on Meta with chats as the main goal should use the click ID first and add the rest later. A business with Google campaigns, organic search and referrals all feeding WhatsApp needs a method that works on the website: the pre-chat form combined with phone matching if you are doing it yourself, or the three tracked routes if you would rather nobody did it by hand. Many end up running both: the click ID for Meta placements, the form for everything that arrives through the site.

Count the lead, not the tap. Setting a tap on the WhatsApp button as a conversion is quick in Tag Manager, and it gives Google’s bidding a signal that includes every bot, every accidental tap and every person who opened WhatsApp and changed their mind. Bidding then optimises toward more of exactly those, and the conversion column fills up with spam.

The better signal is a submitted pre-chat form, which needs a real name and number. Better again is the sale: keep the gclid captured on the form, and when the WhatsApp conversation turns into a booking, upload it as an offline conversion. Google then learns from customers, which is the thing you are paying it to find. The full setup, conversion actions and imports included, is in how to count WhatsApp chats as Google Ads conversions, and Google Ads lead tracking covers the click side.

Where does Lead Source fit?

On both sides of the chat. Lead Source for WhatsApp, in closed beta, covers all three routes: your website’s WhatsApp buttons, a branded WhatsApp page and tracked links and QR codes. When a chat reaches your WhatsApp Business number, it arrives as a lead with the visit’s channel, campaign, gclid, landing page and journey. A tap is never counted as a lead, and a chat with no tracked visit behind it arrives as an unattributed lead rather than a guess.

The website side works today on every plan. Lead Source records the real source of every lead submitted through your website forms, with first-touch and last-touch source on each one, on the form tool you already use. So the pre-chat form method works now, and the two can run together. See lead source tracking for how the capture works, or form tracking for setting it up on the form you already have.

Where to start with WhatsApp tracking

With one week of honest numbers. Count WhatsApp taps, count WhatsApp chats and count the customers who came from them. If the gap between taps and chats is large, the tap count has been flattering your campaigns, and that is worth knowing before the next budget meeting.

Then pick the method that matches your channel mix: the click ID if it is mostly Meta, the pre-chat form or the three tracked routes if it is everything else. Run it for a month before deciding which campaigns get more money. A month of matched chats will tell you more than a year of tap counts.