The 30-second version
When a parent taps the WhatsApp button on your website, Exabloom writes down where they came from and gives them a short code. The code goes along on the last line of their WhatsApp message. When the message arrives, Exabloom matches the code and tags the new contact with its source.
Hello 👋
Ref: #4F2K
New widgets have this on already. If yours was set up earlier, check it’s on (see Turn it on). The rest of this guide explains why it works this way, and how to cover entry points that don’t go through your website.
Why the link can’t carry a hidden tag
Every WhatsApp button, QR code and chat link is really a web address like the one below. The natural idea is to add your own tag to it, say source=qr-poster, and have the tag arrive with the chat. WhatsApp doesn’t allow that. It reads exactly two parts of the address and throws the rest away.
This is how WhatsApp itself works, so it’s the same for every business tool, not only Exabloom. It leaves two ways to know the source:
- Something in the message, part ② of the link. That’s the Ref line the widget adds. It’s a short code, not a keyword the parent has to remember.
- Something Meta sends alongside the message. This only happens for click-to-WhatsApp ads, and Exabloom reads it automatically. See Meta ads.
How the widget does it
Think of a coat check. When the parent taps your WhatsApp button, Exabloom keeps a stub: the page they were on and how they reached your site. The parent gets the matching ticket, the Ref: #4F2K line at the end of their message. When the message arrives, Exabloom pairs the ticket with its stub.
Hello 👋
- Page
- /primary-maths
- Came from
- Organic · Google search
- Valid for
- 7 days, one use
Ref: #4F2KSent ✓✓
- Page
- /primary-maths
- Came from
- Organic · Google search
- Valid for
- 7 days, one use
What the stub knows
The stub is written from what the parent’s browser told your website on arrival, checked in this order. The first match wins:
- An ad click ID in the address (Google’s
gclid, Meta’sfbclid, TikTok’sttclid). This means Google Ads, Meta Ads or TikTok Ads. - A paid UTM tag, when
utm_mediumiscpc,ppc,paid,paid_socialordisplay. - The site they came from. Google, Bing and other search engines read as Organic · Google search and so on. Facebook, Instagram, TikTok and others read as Organic · Instagram and so on. Any other site reads as Referral · its name.
utm_sourceon its own, when there’s no previous site, as with a QR scan. This is what the poster setup uses.- Nothing at all reads as Direct.
If the link had a utm_campaign, it’s added on the end: Referral · poster · bishan-branch. The browser remembers the visit for 7 days, so a parent who reads your page on Monday and taps the button on Thursday is still credited correctly.
If the parent deletes the Ref line
The code is only a line of text, so the parent can remove it. Editing the greeting is fine. Only removing the Ref: #4F2K line loses the match.
Ref: #4F2K
Organic · Google search
Ref: #4F2K
Organic · Google search
Turn it on
Source tracking is a setting on your WhatsApp widget, and the widget lives in the Admin Dashboard, not inside a workspace. You need to be an Owner or Admin of the brand. From anywhere in the app:
Open the Admin Dashboard
Go to Website Chat Widget
The Admin Dashboard opens on Analytics. The sidebar now shows a violet Admin view badge under your brand, so you know you’re in the right place.
Edit the WhatsApp widget
Switch on Source tracking
Save
New widgets start with Source tracking on. Widgets saved before the feature existed start off, so check yours. There’s nothing to reinstall on your website: the embed code picks up the change on the next page load.
/visit/* for your poster pages. Each message still gets its own Ref line, so the greeting can be whatever you like: “You scanned us! 🎨” on poster pages, “You found us! 👋” everywhere else. It’s a friendly touch, but the tracking doesn’t depend on it.Where you see the source
On the contact, in the Inbox
Open the conversation. The Lead Info panel on the right shows the source in two places, both near the bottom. Notice the chat itself: the Ref line is there in the parent’s message.
Ref: #4F2K
The same two places, opened up:
Across all enquiries, in Analytics
Marketing sources, up close:
| Source | Enquiries | Opened a lead |
|---|---|---|
| Organic · Google search | 14 | 9 |
| Referral · poster | 9 | 6 |
| Meta Ads | 8 | 3 |
| Direct | 7 | 3 |
To build a list, for example everyone who came in from a poster, go to Contacts, click Filters, and add Marketing source is any of the sources you want.
Setups to copy, per entry point
The rule of thumb: if the chat starts from your website’s WhatsApp button, it can be tracked. For anything else, send people to your website first.
Nothing to set up beyond switching Source tracking on. This is the journey in the 30-second version. It also covers people who found your site through a Google search: that’s your “Web Search” bucket, with more detail on top (search vs ad vs social).
Hello 👋
Set your profile’s Website link to your site with a campaign tag on the end:
https://yoursite.com/?utm_source=google&utm_campaign=google-business-profile
Parents who tap through and then use your WhatsApp button are labelled with that campaign, so you can tell them apart from general Google searchers.
Google’s own Chat button on the profile opens WhatsApp directly, without passing through your site, so there’s nothing to attach a code to. Those chats arrive with no source. The buttons on your profile depend on how it’s set up, so yours may look a little different.
Hello 👋
Point each poster’s QR code at a page on your website, not straight at WhatsApp, with the branch in the link:
https://yoursite.com/visit/bishan?utm_source=poster&utm_campaign=bishan-branch
The parent lands on a short welcome page and taps your WhatsApp button. That’s one extra tap, which is what makes the scan trackable. A QR Code Link from Tools → Redirect Links works well as the printed code: it points at this page, and you can change where it goes later without reprinting.
A QR code that opens WhatsApp directly skips your website, like Google’s Chat button, so only a Redirect Link with Source tracking switched on can tell you where the chat came from.
Check the WhatsApp button shows on your /visit/… pages. If the widget has Visibility Rules, include them.
The one entry point that needs no code. Meta sends the ad details with the first message, so this works even if the parent types their own message. It needs the official WhatsApp Business API connection.
Good to know & pitfalls
- The Ref line stays visible. Your team sees Ref: #4F2K at the end of the first message in the Inbox. That’s expected.
- Codes last 7 days and work once. A message sent more than 7 days after the tap gets no source, and neither does a second message carrying a code that’s already been used.
- Created by is set once. It records how a contact first reached you. Later visits show under Interactions in Marketing source, not in Created by.
- A Meta ad beats the website. If a contact has both, Created by shows the ad.
- Only text messages are checked. If the first thing a parent sends is a photo or voice note instead of the pre-filled text, there’s no code to read.
- Keep the Ref line on its own line. Parents can add words above it or type after it. If Ref: #… gets joined onto the end of another line, it no longer counts.
- Works on every WhatsApp connection Exabloom supports. Only Meta ad tracking needs the official WhatsApp Business API.
Want us to set up your entry points?
Tell us where your enquiries come from, and we’ll help you tag each one: website, Google profile, posters and ads.