WPSani guide utm tracking • whatsapp • campaign attribution

WhatsApp UTM Tracking: How to Attribute WhatsApp Traffic in WordPress

WhatsApp clicks show as direct traffic by default. Add UTM parameters to your links and track source, campaign, and medium per click — directly inside WordPress.

Why WhatsApp clicks appear as direct traffic in Google Analytics How UTM parameters work with WhatsApp links How to build UTM-tagged WhatsApp links the right way How to capture UTM data per click inside WordPress What WhatsLink Pro adds over manual UTM tagging
UTM ≠ WhatsApp native analytics

WhatsApp does not support UTM parameters natively. What this guide covers is tagging the WordPress page URL — so when someone arrives from a campaign and then clicks your WhatsApp button, you capture which campaign sent that visitor. This is different from tracking what happens inside the WhatsApp conversation.

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.

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.

What you'll know after setup
  • 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.

Related guides