Many businesses’ customers don’t fill in the contact form; they write on WhatsApp, tap the phone number or open the email app. But these actions often don’t appear in analytics reports. People assume “the form count is low, so the site isn’t working”, when the conversations are happening elsewhere.
In this article we explain step by step how to measure WhatsApp, phone and email clicks with Google Tag Manager (GTM) and Google Analytics 4 (GA4). We set this measurement up on our own site and verified it live: when we clicked a WhatsApp link, the event appeared in the GA4 real-time report within a few seconds.
Why Measure Clicks Outside the Form?

In local service businesses, such as clinics, movers, locksmiths and lawyers, customers mostly choose the fast contact channel. Tapping a phone number on mobile is a much shorter path than filling in a form. If you don’t measure these actions, three problems appear:
- The real return is invisible. You can’t tell how many conversations ads or SEO work bring.
- The wrong channel may be shut down. A campaign that brings phone and WhatsApp contacts but no forms can be stopped for “not working”.
- Page improvements run blind. You edit without knowing which page produces more contact.
Remember that a click doesn’t guarantee a conversation, and a conversation doesn’t guarantee a sale; a click is an indicator of intent. Still, it’s a far more valuable signal than not measuring at all.
What to Know Before Measuring

Clarify three points before setup.
1. Link types differ. WhatsApp links go to a wa.me address, phone to tel:, email to mailto:. GA4’s enhanced measurement can generally record links leading from your site to another domain as a “click” event, so wa.me clicks may appear this way, but tel: and mailto: links are not recorded. A generic “click” event also doesn’t tell you which contact type it was; measuring with events you name yourself is much cleaner.
2. UTM doesn’t help here. UTM parameters tag traffic coming to your site. A wa.me link takes the visitor from your site to WhatsApp, so adding UTM to it measures nothing. Measurement is done by sending an event on your site at the moment of the click. For correct UTM use, see our UTM link builder (Turkish interface).
3. Cookie consent is needed. Sending events to Google Analytics should depend on the visitor allowing analytics cookies. If your site has a cookie consent mechanism, make sure events are sent only after consent. Clarify the legal requirements with your own legal advisor; this article is not legal advice.
To create a WhatsApp link with a ready message, use the WhatsApp link generator (Turkish interface).
Setting Up Click Events with GTM: Step by Step

If your site uses Google Tag Manager, you can set up without writing code. We explained GTM’s basics in what is Google Tag Manager. A sample setup for WhatsApp:
- Enable variables. In GTM, turn on the built-in variables “Click URL” and “Click Text”.
- Create a trigger. Add a new trigger of type “Just Links” click. As the condition, set “Click URL” contains
wa.me. - Create a GA4 event tag. Add a new GA4 event tag with the event name
whatsapp_click. Choose the trigger you just created. - Add parameters. If you like, add the link’s location and page information as parameters so you can see which button is clicked more.
- Repeat for phone and email. Set up
phone_clickandemail_clickevents with triggers where “Click URL” starts withtel:andmailto:. - Test in preview mode. Open GTM preview mode and click the links on the site; confirm the tag fires only on the right click.
- Publish and verify in GA4. After publishing the container, see the events in the GA4 Realtime or DebugView report.
- Make them key events. Once the events appear in reports, mark them as “key events” in GA4 under Admin > Events.
To work with cookie consent, add a consent condition to the tags in GTM so that events fire only when analytics permission is given.
Measuring with Code: Our Own Approach

On sites that don’t use GTM, you can do the same with a few lines of script. We use this approach on our own site. The script works on this logic:
- It listens to clicks on the page and checks whether the clicked element is a link.
- If the link starts with
wa.me,tel:ormailto:, it determines the type. - If the visitor has allowed analytics cookies and Google Analytics is loaded, it sends a
whatsapp_click,phone_clickoremail_clickevent to GA4. - With the event it sends only the place of the click (top menu, page content, end-of-post box and so on); not a name, phone number or message text.
- It counts repeated clicks of the same type within a few seconds as one, preventing double counting from accidental double-taps.
For forms we similarly send a generate_lead event, passing only the form’s name when it is submitted. When adapting to your own setup, the two most important rules are: don’t put personal data in event parameters, and don’t send events without consent.
How Should You Name Events?
Consistent naming avoids confusion in reports. The table gives a template usable with the example setup.
| Event name | When it’s sent | Useful parameters |
|---|---|---|
whatsapp_click | When a WhatsApp link is clicked | Link location (top menu, page content, end-of-post box) |
phone_click | When a phone link is clicked | Link location |
email_click | When an email link is clicked | Link location |
generate_lead | When the contact form is submitted | Form name |
Use lowercase and underscores in event names and avoid special characters and spaces. Sending the link’s location as a parameter is valuable for seeing which produces more contact: the top menu or the button at the bottom of the page.
How to Test That Setup Works
- Open the site in a browser and allow analytics cookies in the cookie banner; no events should be sent before consent.
- Keep GA4 Reports > Realtime or Admin > DebugView open in another tab.
- Click a WhatsApp, a phone and an email link on the site. Try from a mobile device too.
- Confirm the relevant events appear in the list within a few seconds. If not, check in GTM preview mode whether the tag fired, the cookie consent state and the trigger condition.
- Also test that making the same click without consent does not send an event; that shows the consent logic works.
Remember your own test clicks will be added to the report; if possible, use a shared team page or a filtered view.
Using the Measurement to Make Decisions
After a few weeks of data you can compare pages and channels. The table is a fictional example.
| Page | Phone | Form | Comment | ||
|---|---|---|---|---|---|
| Pricing page | 40 | 12 | 3 | 2 | WhatsApp-heavy; make the button stand out |
| Homepage | 25 | 30 | 4 | 5 | High phone taps on mobile; keep the number fixed |
| Blog post | 6 | 1 | 0 | 0 | Interest exists but contact path is weak; improve the end box |
In this example you can see which contact type stands out on which page, and each page gets a different improvement. In the same way, by looking at which contact path people from each source (organic search, ads, social) choose, you can improve campaign and page decisions. We explained that a phone tap does not show a real call, along with call tracking methods, in how to track phone calls.
How to Read the Reports
Once the events appear in GA4, you can examine them in a few places:
- Reports > Engagement > Events: the count of each event.
- Marked as key events: usable in conversion reports and ad integrations.
- Explore: see which page gets more WhatsApp clicks by page, source or device.
- Source comparison: see which contact path people from organic search, ads and social choose.
For the reporting setup, see how to use Google Analytics and SEO reporting. If you want to use these events as conversions in Google Ads, see Google Ads conversion value.
Common Measurement Mistakes
- Double counting: sending the same click from both GTM and code on the site.
- Ignoring cookie consent: sending events without consent carries legal risk.
- Not testing: publishing the setup without seeing it in the Realtime report.
- Not accounting for bot traffic: fake sessions can inflate events. To separate spam and bot traffic, see how to clean referral spam and bot traffic in GA4.
- Counting a click as a customer: a click is an indicator of intent; track real conversations and sales separately.
- Testing only on desktop: phone links mostly make sense on mobile; test there too.
- Not making events key events: skipping the step needed to use them in reports and ad integrations.
If you want measurement set up on your site and regular reporting, see our digital marketing service. To check that tracking codes keep working, see our website maintenance checklist.
Frequently Asked Questions
Does GA4 measure WhatsApp clicks automatically?
Not by itself. Enhanced measurement can record links to another domain as a generic “click” event, which can include wa.me links, but it is a generic event. To see clearly which contact type was clicked and to make it a key event, setting up your own events is recommended.
Do phone and email clicks appear in GA4?
tel: and mailto: links don’t go to another domain, so they aren’t recorded in enhanced measurement. You need to set up custom events with GTM or code.
Can I measure without Google Tag Manager?
Yes. With a few lines of script you can listen to link clicks and send events to GA4. What matters is respecting cookie consent and not sending personal data.
Does adding UTM to a WhatsApp link help?
No. UTM tags traffic coming to your site; a wa.me link leaves your site, so UTM measures nothing. You should measure the click as an event on your site.
Do I have to make the events key events?
Not required, but recommended. Events marked as key events can be used in conversion reports and integrations like Google Ads.
Are visitors who don’t give cookie consent measured?
Without consent a Google Analytics event should not be sent, so those who don’t consent don’t appear in GA4 reports. That means your real click count may be higher than GA4 shows; account for it when interpreting results.




