Tracking & Analytics

How to Track WhatsApp Clicks and WhatsApp Leads in GA4 and Google Ads

Track WhatsApp button clicks in GA4 and Google Ads, with or without GTM, and tie real WhatsApp conversations back to the campaigns that started them.

Tony Helmy · Senior MarTech Specialistupdated · 7 min read
On this page · 8 sections
  1. Click, conversation, lead: what you can actually measure
  2. Before you start: check how your WhatsApp buttons link
  3. Option 1: Create a WhatsApp event in GA4 without code
  4. Option 2: Track WhatsApp clicks with Google Tag Manager
  5. Make WhatsApp clicks a key event and a Google Ads conversion
  6. From click to real lead: tie WhatsApp conversations back to campaigns
  7. Test it on desktop and mobile
  8. Common mistakes

If your WhatsApp button is a normal link to wa.me, GA4 may already be recording each click as an outbound click event. To track WhatsApp clicks properly, turn those clicks into a dedicated whatsapp_click event, either without code in GA4 or with a GTM click trigger. Then mark it as a key event and use it as a conversion in Google Ads. A click only shows intent, though. To track WhatsApp leads, you also need a way to tie each conversation back to the campaign that started it.

This guide covers both parts: counting the clicks, then connecting them to real leads. It’s written for sites where WhatsApp is the main way people get in touch, which is most of the businesses I work with in Saudi Arabia and the Gulf.

Click, conversation, lead: what you can actually measure

Can a WhatsApp chat be tracked? Partly. Your website can see the click on the button. It can’t see what happens inside WhatsApp: whether the visitor sent a message, what they wrote, or whether they became a customer. Those happen in the WhatsApp app and in your inbox or CRM, outside GA4’s reach. Be clear about which signal you’re counting:

SignalWhere it’s visibleWhat it proves
WhatsApp button clickGA4, GTM, Google AdsIntent: the visitor opened, or tried to open, a chat
First message receivedWhatsApp inbox / CRMA conversation started
Qualified leadCRMA real sales opportunity
SaleCRM / billingRevenue

It’s tempting to stop at the first row and call it “leads”. The click is still worth tracking. It’s the only WhatsApp signal you get in real time on the website. Just name it honestly.

Before you start: check how your WhatsApp buttons link

Right-click your WhatsApp button, choose Inspect, and look at the href. Everything below depends on it:

  • A normal link to https://wa.me/… (the most common setup, and what Elementor’s button or icon link produces when you paste a wa.me URL). Both options below work.
  • A link to another WhatsApp address, such as a whatsapp.com URL. Same approach; match that domain as well.
  • No real link (a floating-chat plugin that opens WhatsApp with JavaScript). GA4’s outbound-click tracking won’t see it. Use the GTM option with an “All Elements” click trigger on the button’s class or ID, or check whether the plugin pushes its own dataLayer event.

Note every place WhatsApp appears (header, floating button, footer, contact page) so you can test them all later.

Option 1: Create a WhatsApp event in GA4 without code

GA4’s enhanced measurement includes outbound clicks: a click event each time someone clicks a link to another domain. It includes the parameters link_url, link_domain and outbound (Google’s list of enhanced measurement events). A wa.me link is another domain, so those clicks are already in your data, mixed in with every other outbound link.

  1. Check that outbound clicks are on: Admin → Data streams → your web stream → Enhanced measurement.
  2. Go to Admin → Data display → Events and create a custom event called whatsapp_click.
  3. Set the matching conditions to event_name equals click and link_url contains wa.me. If you also use another WhatsApp link format, create a second custom event for it.

This takes five minutes and needs no developer. The limits: it only works for real <a> links, it only applies from the moment you create it (no historical data), and you can’t add your own parameters, such as which button was clicked.

Option 2: Track WhatsApp clicks with Google Tag Manager

If you already use GTM, this is the route I prefer. You control the event and can record where each click happened. If you’ve set up the GTM setup we use for form submissions, this uses the same container and the same GA4 event tag pattern.

  1. Enable built-in variables. In Variables, enable the click variables, at least Click URL, Click Text and Click Classes.
  2. Create the trigger. Use a Click trigger of type Just Links, set to fire on Some Link Clicks where Click URL matches RegEx wa\.me|whatsapp\.com. Adjust the pattern to the links you found earlier.
  3. Create the tag. A Google Analytics: GA4 Event tag with the event name whatsapp_click, and parameters such as link_url = {{Click URL}} and button_location (header, floating, footer). For the location, the cleanest approach is a data- attribute on each button, read with a DOM Element or Auto-Event variable. {{Click Text}} works if your buttons have distinct labels.
  4. Same-tab links. If a WhatsApp link opens in the same tab, tick Wait for Tags on the trigger so the GA4 hit is sent before the page changes. Links that open in a new tab don’t need this.

To break clicks down by button, register button_location as an event-scoped custom dimension in GA4. If you use both options, mark only one of the two events as a key event, or every click counts twice.

Make WhatsApp clicks a key event and a Google Ads conversion

As of October 2026, in GA4 go to Admin → Data display → Events and star whatsapp_click to mark it as a key event. Then, with GA4 linked to Google Ads and auto-tagging on, create a Google Ads conversion from the key event, from GA4’s Advertising → Conversion management or from the Google Ads side. If you prefer a Google Ads conversion tag in GTM, fire it on the same click trigger.

Then decide whether the click is a primary or secondary conversion action. Primary actions are used for bidding; secondary actions are reported but not used for bidding. My rule of thumb:

  • If you have a better signal (form leads or imported qualified leads), keep WhatsApp clicks secondary. They’re useful to watch, but you don’t want Smart Bidding chasing people who tap a button and never send a message.
  • If WhatsApp is effectively your only lead channel, a primary click conversion is a reasonable starting point. Treat it as temporary, and work toward the qualified-lead import below.

Whichever you pick, change it deliberately. Google notes that Smart Bidding has a 7–14 day learning phase, and changing conversion goals resets it.

From click to real lead: tie WhatsApp conversations back to campaigns

This is where most WhatsApp tracking stops, and where the useful data starts. The aim is for each conversation in your inbox or CRM to carry its source, so you can count real leads per campaign. Practical options, from simplest to most complete:

  1. Different entry points per channel. If your number is on the WhatsApp Business Platform, Meta’s QR codes and short links let you create wa.me/message/… links that open a chat with a pre-filled message of up to 140 characters. Use one link per placement or campaign, each with its own opening line, and the first message tells you where the chat came from. Meta says it provides no analytics for these links, so the counting happens on your side.
  2. Record the source in the CRM. Whoever handles the chat, a person or a bot, sets the lead source when creating the contact. It’s simple, but only reliable if it’s part of the process, not an optional field.
  3. Send qualified leads back to Google Ads. Once leads live in a CRM with a stage like “qualified”, you can import those outcomes as offline conversions, or use enhanced conversions for leads, which matches on hashed customer data such as an email address. Then Google Ads bids on qualified leads rather than button taps. This takes the most setup, and it’s the step that changes campaign results. If you run Meta ads, the same idea applies to Click-to-WhatsApp ads tracked through the CRM.

That last step depends on the CRM side being right first: chats need to arrive in the CRM as contacts, with stages your sales team actually updates, which is covered in getting the WhatsApp conversation into HubSpot. It’s the same reason WhatsApp is the required field on my own audit form. For the people I work with, it’s the channel prospects actually reply on.

Test it on desktop and mobile

  1. For GTM, open Preview and click every WhatsApp button you listed earlier. Each should fire your whatsapp_click tag once, with the right button_location.
  2. In GA4, open Realtime or DebugView and confirm whatsapp_click arrives. If you used Option 1, remember the custom event only applies to data collected after you created it.
  3. Test on a phone too. On mobile the link hands off to the WhatsApp app. The click is recorded on your page before that happens, but check that the button works and the event still arrives.
  4. After a day or two, compare whatsapp_click counts with the number of new chats in your inbox. Clicks should be higher. If chats are higher, some buttons aren’t being tracked. If clicks are far higher, look for accidental taps, such as a floating button that covers content on mobile.

If you’d like a second pair of eyes, I can check whether your WhatsApp leads are being counted as part of a free tracking health check.

Common mistakes

MistakeWhat happensFix
Calling clicks “leads” in reportsLead numbers look great, sales don’t followName the event whatsapp_click and report qualified leads separately
Both GA4 custom event and GTM event marked as key eventsEvery click counted twiceKeep one as the key event
Tracking only the header buttonFloating and footer buttons go uncountedMatch on the link URL, not on one button’s ID
Plugin button with no real linkNothing in GA4’s outbound clicksUse a GTM All Elements trigger or the plugin’s own event
WhatsApp click set as primary next to real form leadsBidding drifts toward cheap clicksMake the click secondary once better signals exist

When I set up WhatsApp tracking for clients, the click event is the quick part. The real work is everything after the click. Once the click is tracked, step back and audit your whole lead-tracking setup: forms, WhatsApp, calls and the CRM should all report the same kind of lead in the same way.

Part of
MarTech audit checklistSpeed, tracking, CRM lead flow and automation, in one checklist.

More in Tracking & Analytics