How to track WhatsApp clicks in GA4 without counting clicks as leads
Steps to create a whatsapp_click event in GA4, test it, mark it as a key event, then separate clicks from conversations and leads in a weekly report.

Table of Contents
GA4 can count WhatsApp button clicks without any change to the website code, as long as the button is a plain link to wa.me and the Outbound clicks option is on. Clicks are recorded as a click event, from which you create a whatsapp_click event that is easy to read in reports and can be marked as a key event.
The result is still a click count. Messages are sent in the WhatsApp app, beyond the reach of the GA4 tag on your website, so GA4 cannot tell whether the visitor sent a message, let alone whether they are a suitable prospect. Those answers are in the notes of the team that replies to chats.
Four numbers that often get mixed up
Before opening the GA4 settings, agree on what each stage counts and who records it. The website manager and the team answering messages must use the same terms.
| Stage | What happens | Recorded in | Not yet proven |
|---|---|---|---|
| WhatsApp click | The visitor taps the button | GA4 | That a message was actually sent |
| Conversation | A message reaches the business number | That the sender needs your service | |
| Qualified lead | The sender's need matches your criteria | Team notes | That an order follows |
| Order | A sale or agreement is made | Sales records | Where the order came from, unless recorded from the first chat |
Write the lead criteria down, because job enquiries arrive through the same button as quote requests. For a renovation business, for example, a qualified lead could mean the project is in your service area, it is work you do, and the sender asks about price or schedule.

Check what kind of WhatsApp button you have
How you measure depends on how the button is built, so check this first. Right-click the WhatsApp button on your website and see whether the browser offers to copy the link address.
| What you find | What it means | Measurement route |
|---|---|---|
| Address starts with https://wa.me/ | A plain link | Outbound clicks and Create event |
| Address starts with https://api.whatsapp.com/ | A plain link on another domain | The same, but preferably switch it to wa.me first |
| No link address, or the button opens a widget window | The button runs on a script | Tag Manager or the widget's settings |
Repeat the check at every location: the menu, service pages, the end of each article and the floating button. A floating button may be installed differently from the buttons in the page body, so one button's result does not stand for the others. Write the list down, because you will test each one.
The link format recommended by the WhatsApp Help Center is https://wa.me/ followed by the full number in international format, without a leading zero, brackets or dashes. For an Indonesian number: https://wa.me/62812xxxxxxx.
Turning on Outbound clicks
Menu names in this article follow the English GA4 interface and Google's documentation as of 1 November 2026. In the Indonesian-language interface, the labels may differ. You need the Editor role or higher on the property.
- Go to Admin > Data collection and modification > Data streams, then select your website's data stream.
- Under Enhanced measurement, make sure the switch is on.
- Click the settings icon in that section and make sure Outbound clicks is on.
According to the enhanced measurement documentation, the click event fires when a user clicks a link leading away from your domain. It carries the link_domain and link_url parameters, which reports show as the Link domain and Link URL dimensions. Links to domains registered for cross-domain measurement are not counted, but wa.me is usually not on that list.
Creating a whatsapp_click event from the click event
The click event covers clicks on every outbound link, including links to Instagram or a marketplace, so you need to pick out the ones that go to WhatsApp. The Create event feature copies events that meet set conditions into a new event and leaves the source event intact.
- Go to Admin > Data display > Events.
- Click Create event, then Create.
- Fill in the event name and conditions as in the table below.
- Leave Copy parameters from the source event on so that
link_urlis copied too. - Click Create.
| Field | Operator | Value |
|---|---|---|
| Custom event name | whatsapp_click | |
| Condition 1: event_name | equals | click |
| Condition 2: link_domain | equals | wa.me |
Three things often missed here:
- The
equalsoperator is case-sensitive, and both conditions must be met at once. - Choose Create event, not Modify event. Modify overwrites an existing event, so every other outbound click could change too.
- Changes take an hour or more to apply and do not affect old data. The
whatsapp_clickcount starts when the rule becomes active.
If the website mixes wa.me and api.whatsapp.com links, standardize them before creating the rule. One condition is then enough and you need no regular expression. The rule runs in the browser, and Google recommends trying other operators first where possible.
Other routes if the button is not a plain link
Google's documentation describes the click event for clicks on links, so a script-driven button may not be captured. There are two routes for buttons like this.
Google Tag Manager
Create a new click trigger. Just Links captures only <a> elements, while All Elements captures any element, including buttons and images. Under This trigger fires on, choose Some Clicks, then add the condition Click URL contains wa.me. For buttons without a link address, ask your developer to add a dedicated ID or class to filter on. Connect the trigger to a GA4 Event tag named whatsapp_click.
This route also allows your own parameters, such as button_location with the values menu, page_body or floating_button. Such parameters only appear in reports once registered as a custom dimension under Admin > Data display > Custom definitions with Scope set to Event. The data usually shows up 24 to 48 hours later.
Third-party widgets
Ask the widget provider whether its product can send events to GA4, and which ones. Check their answer with the test in the next section.
Pick one route per button. If Create event and a Tag Manager tag both produce whatsapp_click for the same button, one click will be recorded twice.
Testing that one click becomes one event
Do this once the rule is active, before the numbers go into a report.
- Open Tag Assistant at tagassistant.google.com and enter the address of a page with a WhatsApp button. Debug mode is now on for your device.
- In GA4, go to Admin > Data display > DebugView.
- Press the WhatsApp button once.
- Look for
clickandwhatsapp_clickin the event stream. Click one of them and confirm thatlink_domainis wa.me. - Repeat for every kind of button on your list.
- On a phone, tap the button, then open Reports > Realtime and look at the Event count by event name card.
The correct result is one whatsapp_click per tap. Two events mean the event is set up twice. If no event appears at all, check the cookie banner and ad blockers first, because DebugView shows no events when browser privacy controls are active or the user has not consented to Analytics cookies.
Note the date and time of the test so that test clicks are not read as visitor interest. Keep the event name, trigger, parameters and the location of each button in one shared note, which becomes the reference for checking new buttons when the website is updated.
Marking whatsapp_click as a key event
A key event is an event that tracks the actions most important to your business. A WhatsApp click can qualify, as long as it is named honestly.
- Wait until
whatsapp_clickhas been recorded at least once. - Go to Admin > Data display > Events, then the Recent events tab.
- Click the star icon next to
whatsapp_click.
Google explains that marking does not change past data, and standard reports can take up to 24 hours to show it. A standard property can have up to 30 key events.
Label the number "WhatsApp clicks" in every report. GA4's recommended event generate_lead is meant for when a user submits a form or a request for information. A button click only opens the app, before any request is sent, so generate_lead is the wrong name for this event.
The same goes if this key event becomes a Google Ads conversion. The cost per conversion shown there is a cost per button click, not a cost per lead.
Recording conversations and leads on the team side
These two habits need no integration, as long as everyone who replies to chats follows them the same way.
In the WhatsApp Business app, use labels to tag chats, for example "Qualified lead", "Not a lead" and "Order". Labels cannot be matched to GA4 automatically, but they are enough for a weekly tally.
To learn which page a chat came from, give each page a different opening message. WhatsApp supports pre-filled messages through the text parameter:
https://wa.me/62812xxxxxxx?text=Hello%2C%20I%20have%20a%20question%20about%20renovation%20servicesVisitors see that sentence in the message box, and the team receiving it knows the source page. Visitors can edit or delete it, so treat the sentence as a hint about the source; some chats will still have no known origin.
A sample weekly report and how to read it
This example is made up, and its numbers are not a benchmark. A service business tallies one week from two kinds of page.
| Page | Clicks (GA4) | Conversations (team) | Qualified leads (team) |
|---|---|---|---|
| Service page | 60 | 20 | 9 |
| Blog article | 40 | 5 | 1 |
| Total | 100 | 25 | 10 |
From the total row, three ratios answer different questions, so write the denominator in the report:
- Conversations per click: 25 of 100, or 25 percent.
- Qualified leads per conversation: 10 of 25, or 40 percent.
- Qualified leads per click: 10 of 100, or 10 percent.
On clicks alone, the blog article seems close to the service page: 40 against 60. The next columns say otherwise. Of 60 clicks on the service page, 20 became conversations and 9 became qualified leads. Of 40 clicks on the article, only 5 became conversations and 1 a qualified lead.

The next step is to check the article's button: is it easy to tap by accident on a phone, or does the call to action appear before readers are ready to ask? Numbers this small give you a question to investigate, not yet a conclusion.
Real data will include chats whose source page is unknown. Put them on a separate row and do not spread them evenly over the other pages. If you cannot yet match clicks to conversations, show the two numbers side by side, without calling the pair a conversion rate.
Why GA4 numbers will never match your chat count
There is always a gap, and its direction depends on the cause. Use this table to read the click and conversation columns without trying to make them equal.
| Cause | Effect on the numbers |
|---|---|
| The same person taps the button several times | More clicks. The Events report shows Event count and Total users, so compare the two. |
| A visitor opens WhatsApp, then decides not to send | A click is recorded, but there is no conversation. |
| An existing customer gets in touch from a saved contact | A conversation, but no click. |
| A visitor rejects cookies or uses a blocker | Clicks are undercounted. With basic consent mode, no data is sent if the user declines. |
| Data is still being processed | Numbers can change. Google says processing can take 24 to 48 hours, so compile the tally a few days after the week ends. |
Personal data that must stay out of GA4
Google prohibits sending data that could be recognized as personally identifiable information, including email addresses and personal mobile numbers. The ban also covers data sent by accident through URLs.
For WhatsApp buttons, the risk lies in the Link URL dimension, which stores the full link address. If the website fills in the opening message from a form, say with the visitor's name and number, that data reaches GA4 through the text parameter. Use one generic sentence for every visitor on a page. Conversation content and customer names must not be sent as parameters either.
Checklist before reporting click numbers
- Every WhatsApp button location is listed and uses one link format.
- Outbound clicks is on for the website data stream.
- The
whatsapp_clickevent has been tested on desktop and phone: one tap, one event. - The report labels this number "WhatsApp clicks".
- The qualified lead criteria are written down and used by everyone who replies to chats.
- Every ratio in the report states its denominator.
- Links and opening messages contain no personal data about visitors.
- The measurement plan is saved in a shared note.
Button checks belong in your pre-launch checklist for a business website, because links that change during a website update can break tracking without any warning. If you are building a website or preparing ads, you can define each stage from the start of website development or a digital marketing campaign.
Author
Dzaki Fauzaan









