Back to blog
Research-backed growth article

How to Track WhatsApp Clicks With Short Links, UTMs, and GA4

Learn how to track WhatsApp clicks using branded short links, UTM parameters, and GA4. Stop losing 45-60% CTR traffic to the Direct bucket — this guide covers both outbound campaign links and click-to-chat website buttons.

Rabi Narayan PradhanProduct & Growth Research13 min read
Why readers save this article
WhatsApp sees 98% open rates — yet most clicks vanish into Direct
WhatsApp messages achieve 45–60% CTR on average — but without UTM-tagged links those clicks are invisible in GA4 and look like Direct traffic.
Two tracking scenarios need different approaches: outbound campaign links in messages you send, and click-to-chat (wa.me) buttons on your website.
When you see l.wl.co as a referrer in GA4, that is WhatsApp traffic that was partially attributed — UTMs make the full campaign picture visible.
Always use lowercase, underscores, and a date in your UTM campaign name so reports stay clean and comparable over time.
A branded short link wraps the UTM URL cleanly and adds a second layer of link-level analytics independent of GA4.

WhatsApp messages see up to 98% open rates and click-through rates between 45% and 60% — numbers that dwarf the 2–5% CTR typical of marketing email. And yet, for most teams, the performance of those clicks is invisible. Links get forwarded privately, apps strip referrer data, and GA4 collapses the visits into a generic "Direct" bucket with no campaign context.

The problem is not your analytics tool. It is how the links are built before they are sent. Without UTM parameters and a short link wrapper, GA4 has no signal to work with — every WhatsApp click looks the same as someone typing your URL directly into the browser.

This guide covers two distinct scenarios that need different setups: tracking outbound links inside WhatsApp messages and campaigns, and tracking click-to-chat buttons on your own website. Both are solvable with short links, UTM parameters, and a small amount of GA4 or Google Tag Manager configuration.

Why WhatsApp click tracking matters more than most teams realize

WhatsApp has over 3 billion monthly users and is the primary communication channel for large portions of the world. Marketers rely on it for broadcast campaigns, onboarding sequences, support follow-ups, and community sharing. The platform reports open rates as high as 98% and CTRs of 45–60% — performance no email campaign comes close to delivering consistently.

The challenge is attribution. Unlike a Google Ad or Facebook post where the platform passes clear referral data, WhatsApp is a private messaging app. When a user taps a link inside WhatsApp and the OS switches to a browser, the HTTP referrer is often stripped entirely. GA4 sees the visit but records no source — so the click lands in Direct traffic alongside genuine direct visits and branded search.

That misattribution is not academic. It means teams cannot answer simple questions: which campaign drove signups last week, which message format performed better, which broadcast list is worth continuing. The fix is to build the attribution signal into the link itself before it is ever sent.

Dark social: why 65% of sharing hides from analytics

Dark social is the term for private sharing — messaging apps, direct messages, email, group chats — where traffic is shared but referrer data is lost before it reaches your analytics tool. Research consistently shows that 65% or more of social sharing happens through dark-social channels, and WhatsApp is the dominant one in most markets outside North America.

The practical signal of dark social is a pattern, not a single visit. If your blog post or landing page regularly receives Direct traffic from URLs that are too long or too specific to be typed manually, that is almost certainly dark social — including WhatsApp. A launch campaign that generates a surge in Direct traffic the day after your broadcast is another clear signal.

Knowing you have dark-social traffic does not solve the attribution problem. The only way to recover campaign credit is to build UTM parameters into every link before it is shared, so GA4 can classify the session correctly even without a valid referrer.

Direct traffic spikes after a WhatsApp broadcast are a reliable dark-social signal.
Long or specific URLs appearing in Direct traffic were almost certainly shared privately — not typed.
UTM parameters override the missing referrer and give GA4 the campaign context it needs.

What l.wl.co means in your GA4 reports

l.wl.co is the redirect domain WhatsApp uses internally when links are shared through its own link-shortening layer. When you see l.wl.co as a referrer in GA4 Traffic Acquisition, it means a visitor clicked a link that was processed through WhatsApp's system before landing on your site.

Seeing l.wl.co is actually good news — it means GA4 captured the referral source rather than collapsing it into Direct. You can find it by going to Reports → Acquisition → Traffic Acquisition → clicking the "+" to add Session Source as a secondary dimension, then filtering for "referral" and looking for l.wl.co in the list.

The limitation is that l.wl.co only tells you the traffic came from WhatsApp. It does not tell you which campaign, which broadcast, or which message drove the click. That context only appears when UTM parameters are present in the original link.

l.wl.co in GA4 = WhatsApp-attributed referral traffic. It is not spam or a bot.
It appears when WhatsApp's internal link handler processes the URL before the browser opens.
It is incompletely attributed — you know the channel but not the campaign or message.
UTM parameters add the missing campaign layer on top of the l.wl.co referral signal.

Two WhatsApp tracking scenarios that need different setups

Most guides treat WhatsApp tracking as a single problem, but there are actually two distinct scenarios that require different approaches. Mixing them up leads to gaps in attribution.

The first scenario is outbound campaign links: links you embed inside WhatsApp messages, broadcasts, or automated flows and send to contacts. The goal is to attribute website visits and conversions to the specific campaign that drove them. The solution here is UTM parameters wrapped in a branded short link, created before the message is sent.

The second scenario is click-to-chat buttons on your own website: the green WhatsApp icon or "Chat with us" button that links to wa.me/yournumber. Here, the visitor is already on your site and you want to track how many people click that button, on which pages, and in what context. The solution here is Google Tag Manager combined with a GA4 event — no UTMs needed because the user starts on your domain.

Outbound campaign links: track with UTM parameters + branded short link. Measure in GA4 Traffic Acquisition.
Click-to-chat website buttons: track with GTM trigger + GA4 event. Measure in GA4 Events report.
The two setups are independent — you can implement one without the other.

How to track click-to-chat WhatsApp button clicks with GTM and GA4

If your website has a click-to-chat WhatsApp button — a link pointing to wa.me/yournumber or a floating chat widget — you can track every click as a GA4 event using Google Tag Manager without touching your site code.

In GTM, create a new Trigger of type "Click – All Elements" (or "Click – Just Links" if your button is a plain anchor tag). Set the condition to: Click URL contains "wa.me". This trigger fires whenever a visitor clicks any link on your site that points to WhatsApp.

Next, create a new GA4 Event Tag. Set the measurement ID to your GA4 property, and use the event name whatsapp_button_click. Add two event parameters: page_location with value {{Page URL}}, and click_url with value {{Click URL}}. Assign the wa.me trigger to this tag, then publish the GTM container.

After publishing, click the button yourself on your site and wait a few minutes. Then go to GA4 → Reports → Engagement → Events and look for whatsapp_button_click in the list. Over time, this event shows you which pages generate the most WhatsApp contact intent, which device types click most often, and whether a particular campaign page drives more chat engagement than others.

GTM Trigger type: Click – All Elements. Condition: Click URL contains "wa.me".
GA4 Event Tag: event name = whatsapp_button_click. Parameters: page_location and click_url.
View results in GA4 → Reports → Engagement → Events.
This setup tracks all wa.me links on your site — chat widget, footer link, contact page button.

How to view WhatsApp campaign traffic in GA4

Once your UTM-tagged short links are live and receiving clicks, the data surfaces in GA4 under Reports → Acquisition → Traffic Acquisition. The default view groups sessions by Channel Group — look for "Unassigned" or "Direct" and check whether some of that traffic now routes to the correct channel after your UTM setup.

To see campaign-level detail, click the "+" button next to the primary dimension and add Session Source, Session Medium, or Session Campaign. Filter for Session Source = whatsapp to isolate all WhatsApp campaign traffic. You can then break it down further by medium (messaging), campaign name, or content variant — and compare it to email, organic, or paid channels in the same report.

For a complete attribution picture, also check Conversions by campaign. Set up a GA4 conversion event for your key goal — form submission, registration, purchase — and the Traffic Acquisition report will show how many conversions each WhatsApp campaign contributed. This is the number that justifies the channel to stakeholders.

Frequently asked questions

Start in under 60 seconds

Your URL shortener should do more than shorten
better links, QR codes, and analytics

Join teams using LinkLab to shorten URLs, create branded links, track campaign clicks, manage custom domains, and scale link workflows without switching platforms.

No credit card required
Free forever plan
5-minute setup