Why your WhatsApp clicks look like direct traffic
When a visitor taps a WhatsApp link on your site, they leave the browser and open the WhatsApp app. That transition breaks the referrer chain — Google Analytics receives no source information, so it labels the visit as "direct." You lose the campaign, the ad, the keyword — everything. If you're running Google Ads or Meta campaigns that land on pages with a WhatsApp CTA, you have no way to close the attribution loop.
What UTM parameters actually track here
The fix is not tagging your WhatsApp link itself — it's tagging the landing page URL and capturing the UTM data at the moment the WhatsApp button is clicked. A plugin reads the UTM parameters already in the page URL and stores them alongside the click record. This way, a click from utm_source=google / utm_campaign=whatslink-pro is distinguishable from one that came from an organic search or a newsletter.
The attribution gap every WhatsApp CTA creates
You spend money on a Google Ads campaign. Someone clicks, lands on your page, reads your content, and taps the WhatsApp button to start a conversation. GA4 records a session. Then the user switches to WhatsApp — and the attribution disappears.
The next time you open your analytics dashboard, that lead shows up as “direct.” You have no way to know it came from your campaign, let alone which ad group or keyword drove it.
This is not a GA4 bug. It is a structural limitation of how app-switching works: the referrer header is lost when the browser hands control to WhatsApp. There is no way to recover it after the fact.
How UTM tracking actually works with WhatsApp
The fix happens before the click, not after. The sequence is:
1. You tag your landing page URLs with UTM parameters (e.g., `?utm_source=google&utm_campaign=whatslink-pro&utm_medium=cpc`) 2. A visitor arrives on your page via a UTM-tagged URL 3. The UTM parameters are now visible in the page URL 4. When the visitor clicks your WhatsApp button, a plugin reads those URL parameters and stores them in a click log entry
The click record now contains: source page, device, timestamp, and the full UTM string — captured before the app switch, so the referrer loss doesn’t matter.
Building UTM-tagged landing page URLs
Use Google’s Campaign URL Builder or any UTM builder to create tagged versions of your page URLs. A typical tagged URL for a Google Ads campaign looks like:
“` https://yoursite.com/page/?utm_source=google&utm_campaign=whatslink-pro&utm_medium=cpc&utm_content=ad-variant-a “`
Paste this URL as your ad destination. Visitors who click the ad will land on your page with all UTM parameters in the URL. Any tool that reads those parameters at click time will have everything it needs to attribute the WhatsApp lead correctly.
What WhatsLink PRO captures per click
WhatsLink FREE gives you the source page, device, and timestamp. WhatsLink PRO extends the log with:
- **utm_source** — where the traffic came from (google, facebook, newsletter, etc.)
- **utm_medium** — the channel (cpc, email, organic, social)
- **utm_campaign** — the campaign name you set in your ads platform
- **utm_term** — the keyword (for search campaigns)
- **utm_content** — the ad variant or creative identifier
Every click in the log is a row: when, which page, which device, which campaign. You can sort by campaign to see which one drove the most WhatsApp conversations. You can export the full log to CSV for further analysis.
What to do with the data
Once you have a week of UTM-tagged traffic running through your site, check the WhatsLink PRO dashboard and answer two questions:
**Which campaign drives the most clicks?** — If one campaign generates 3× the WhatsApp conversations of another with the same budget, reallocate.
**Which landing page converts best per source?** — UTM data tells you where the visitor came from; the source page tells you where they converted. The combination reveals which content works best for each channel.
This is the loop that turns WhatsApp from a black box into an attributable revenue channel.
- Which campaign or ad drove each WhatsApp conversation
- Source breakdown: Google, Meta, email, organic — per click
- UTM medium and campaign name stored per click log entry
- Which landing pages convert best per traffic source
- Full click history with UTM data, exportable to CSV
FAQ
Can I add UTM parameters directly to a WhatsApp link?
You can add UTM parameters to the page URL that contains your WhatsApp button, but not to the wa.me link itself — WhatsApp ignores URL parameters added to chat links. The correct approach is to tag your landing page URLs (e.g., via Google Ads or a UTM builder) and capture those parameters server-side when the WhatsApp button is clicked.
Why does Google Analytics show WhatsApp clicks as direct traffic?
When a user taps a WhatsApp link, the browser hands off the session to the WhatsApp app. This breaks the HTTP referrer chain — GA4 never receives a referrer and classifies the traffic as direct. The only way to preserve attribution is to capture UTM data at the moment of the click, before the app switch.
Does WhatsLink PRO work with Google Analytics 4?
WhatsLink PRO stores UTM data in its own WordPress database log — it does not require GA4 to be installed. If you also send GA4 events, you can cross-reference campaign data. WhatsLink's log is the primary attribution record: it shows source, medium, campaign, term, and content per click, independent of your analytics platform.
What UTM parameters does WhatsLink PRO capture?
WhatsLink PRO captures all five standard UTM parameters: utm_source, utm_medium, utm_campaign, utm_term, and utm_content. It reads them from the current page URL at the time of the click and stores them in the click log alongside the source page, device type, and timestamp.
Do I need Google Tag Manager to set this up?
No. WhatsLink PRO captures UTM parameters natively in PHP — it reads the URL parameters server-side when the click event is logged. There is no JavaScript tag manager, no GA4 configuration, and no custom code required.
Can I export UTM click data from WhatsLink PRO?
Yes. WhatsLink PRO includes a CSV export of the full click log, including all UTM fields. You can use this to analyze campaign performance in a spreadsheet or import it into a BI tool.