How to Track a WhatsApp Marketing Campaign with UTM Links

You sent a WhatsApp broadcast to 4,000 contacts. People clicked. You felt good. Then you opened GA4 and the whole thing showed up as “Direct” traffic, sitting next to people who typed your URL by hand.
So which sales came from WhatsApp? No idea. The data shrugged at you.
I run linkutm, a UTM and link management tool, and this is the single most common question I get from marketers in India and Southeast Asia. WhatsApp drives real revenue here. But by default it tells your analytics almost nothing.
Here’s the good news. You can track every click from a WhatsApp marketing campaign with one small change: UTM links. No API. No code. Just a tagged URL. Let me show you exactly how.
Why Your WhatsApp Marketing Campaign Shows as “Direct”
WhatsApp traffic disappears because the app sends no referrer. When someone taps a link inside a chat, WhatsApp does not tell your website where that click came from. GA4 sees a visitor with no source, so it dumps them into direct traffic.
This is what marketers call dark social. Sharing that happens in private channels (WhatsApp, Telegram, DMs) where no referrer survives. The traffic is real. The attribution is invisible.
Real talk: this is not a WhatsApp bug you can complain your way out of. It is how messaging apps protect privacy. The only fix is to put the source information inside the link itself. That is exactly what UTMs do.

The Preview Gets Stripped. The Tracking Does Not.
Here is the part that trips people up. WhatsApp often strips or flattens your link preview, especially in template messages sent through the Business Platform. The fancy image and title vanish. The link looks plain.
Marketers see that and assume tracking broke too. It did not.
A link preview is just Open Graph metadata that WhatsApp fetches to show a thumbnail. Your UTM parameters live in the query string, the part after the question mark. That string travels with the URL no matter how the message renders. Stripped preview, broken preview, no preview: the tracking still fires the moment someone clicks.
So stop worrying about how the message looks. Worry about whether the link is tagged.
The 3 UTM Tags to Use for WhatsApp
For a WhatsApp marketing campaign, you only need three UTM parameters. Keep them simple and consistent.
| Parameter | What it answers | WhatsApp value |
|---|---|---|
| utm_source | Where did the click come from? | whatsapp |
| utm_medium | What type of channel is it? | broadcast |
| utm_campaign | Which specific campaign? | diwali-sale-2026 |
A finished link looks like this:
https://yourstore.com/sale?utm_source=whatsapp&utm_medium=broadcast&utm_campaign=diwali-sale-2026
Two rules I will not bend on. Use lowercase only, because GA4 reads WhatsApp and whatsapp as two different sources. And replace spaces with hyphens, because diwali sale breaks into a messy encoded mess in the URL.
One honest limitation: utm_medium=broadcast is my preference, not a law. Some teams use chat or referral. Pick one and use it everywhere. Consistency matters more than the exact word. This is the heart of clean campaign tracking.
How to Set Up WhatsApp UTM Tracking (Step by Step)
Setting this up takes about five minutes. Here is the full process.
- Start with your destination URL. The actual page you want people to land on. Your product, your sale, your signup form.
- Add the three UTM tags. Source
whatsapp, mediumbroadcast, campaign your campaign name. You can type them by hand, but the free WhatsApp UTM builder fills all three and spits out a clean link in seconds. - Shorten it into a branded link. A raw UTM URL is long and screams “spam” in a chat. A short branded link like
go.yourbrand.com/diwalilooks trustworthy and still carries the UTM data underneath. - Drop the link into your broadcast. WhatsApp Business app broadcast list, or a template in the Business Platform. Same link works for both.
- Send a test to yourself first. Tap your own link. Check the address bar in the in-app browser. You should see the utm parameters sitting there.
- Confirm it in GA4 Realtime. Within a minute your test click shows up under source
whatsapp. Now you know it works before you hit 4,000 people.

That branded short link step is the one most people skip. Do not. I have watched broadcast click rates jump when the link looks like a brand instead of a 90-character tracking string. People in WhatsApp are cautious about spam. A clean link earns the tap.
WhatsApp Business App vs Business Platform: Does Tracking Change?
The UTM method works identically for both. The difference is scale, not tracking.
- WhatsApp Business app: You build broadcast lists of up to 256 saved contacts. You paste your tagged short link straight into the message. Great for small teams, local shops, and early-stage brands.
- WhatsApp Business Platform (API): You send approved template messages to large audiences through a provider. You insert the same tagged link as a URL button or in the body. Great for high volume.
Either way, the UTM lives in the link, and GA4 reads it the same. The Platform adds one bonus: many providers report button clicks on their side too. But that data stays inside the provider. Your UTM is what unifies WhatsApp with every other channel in GA4.
This is the same logic I covered for email campaigns with UTM. The channel changes. The tagging discipline does not.
Mistakes That Quietly Break WhatsApp Tracking
Most broken WhatsApp tracking comes down to four errors. I have made the first two myself.
- Mixing case.
utm_source=WhatsAppin one campaign andwhatsappin the next splits your data into two rows. Always lowercase. - Tagging only one link. If your message has two buttons and you tag one, the other click vanishes into direct traffic. Tag every clickable URL.
- Forgetting the campaign name. Source and medium without a campaign means you can see WhatsApp traffic but cannot tell Diwali from your weekend flash sale.
- Using wa.me links and calling it tracking. A
wa.melink sends people INTO WhatsApp to chat with you. It does not track people leaving WhatsApp for your site. Different job entirely.

How to Read WhatsApp Data in GA4
Once your links are tagged, the data shows up where you would expect. Here is the fastest path.
Go to Reports, then Acquisition, then Traffic acquisition. In the search box, type whatsapp. GA4 filters to sessions where your source is WhatsApp. Now you can see sessions, engagement rate, conversions, and revenue, all attributed to your broadcast.
Want to compare campaigns? Add Session campaign as a secondary dimension. Diwali sale versus flash sale, side by side. That is real campaign tracking, not guesswork.

One limitation to set expectations: cross-device journeys are still imperfect. Someone taps on mobile, then buys on a laptop later. GA4 may not stitch that perfectly. UTMs give you channel-level truth, not flawless person-level truth. That is fine. Channel-level is what you need to decide where to spend next month.
Frequently Asked Questions
How do I track a WhatsApp marketing campaign?
Add UTM parameters to the link you share in your broadcast. Use utm_source=whatsapp, utm_medium=broadcast, and a utm_campaign name. When people click, GA4 attributes the visit to WhatsApp instead of dumping it into direct traffic. No app or API is required, just a tagged URL.
Why does my WhatsApp traffic show as direct in GA4?
WhatsApp sends no referrer when someone taps a link inside a chat, so GA4 has no source to assign and files the visit as direct. This is dark social. Tagging the link with UTM parameters puts the source inside the URL, which fixes the attribution.
Does WhatsApp stripping link previews break UTM tracking?
No. The link preview is just Open Graph metadata that WhatsApp shows as a thumbnail. UTM parameters live in the query string of the URL, which travels with every click regardless of the preview. A stripped or missing preview has zero effect on tracking.
What UTM source and medium should I use for WhatsApp?
Use utm_source=whatsapp and utm_medium=broadcast for broadcast campaigns. Some teams prefer chat or referral for the medium. The exact word matters less than using the same value across every WhatsApp link so your data stays consistent.
Can I track clicks from a WhatsApp broadcast without the API?
Yes. The WhatsApp Business app and the Business Platform both work the same way for tracking. You paste a UTM-tagged link into the message, and GA4 reads the parameters on click. The API only changes your sending scale, not how the link is tracked.
Should I shorten my WhatsApp UTM links?
Yes. Raw UTM URLs are long and look like spam in a chat, which lowers taps. A branded short link looks trustworthy and still carries the full UTM data underneath, so you keep tracking and gain clicks at the same time.
Start Tracking Your Next Broadcast
Your WhatsApp marketing campaign is already driving clicks. You just cannot see them yet. Tag the link, shorten it, send a test, and confirm in GA4. Five minutes, and your next broadcast stops hiding in direct traffic.
Build your first tagged link now with the free WhatsApp UTM builder at linkutm, then watch the clicks land where they belong.