For most service businesses, and for a lot of ecommerce brands in Bangladesh, the "conversion" is not a checkout. It is someone tapping a WhatsApp button, calling a phone number, or sending a quote form. These are exactly the actions that GA4 does not track well out of the box. Enhanced measurement will not tell you who tapped your WhatsApp button, and its form tracking often misses the submissions that matter. In this guide I walk through how I track all three with Google Tag Manager (GTM), how to name the events, and how to turn them into key events you can use in Google Ads.
Why doesn't GA4 track WhatsApp clicks, calls and forms by default?
GA4 does not track these actions properly by default because they are not page views, and enhanced measurement only covers a few generic interactions. Enhanced measurement can record outbound clicks, which may include some WhatsApp links, and form interactions (form_start and form_submit). In practice:
- WhatsApp clicks get mixed into a general
clickevent with every other outbound link. - Phone number taps (
tel:links) are not reported as a separate, usable event. form_submitfires on the browser submit action, so it can fire for failed submissions and miss forms that submit with JavaScript, which many form plugins do.
That is why I build dedicated events in GTM for each action.
How should you name these events?
Use clear, consistent event names and add parameters for the details, rather than creating a new event for every button. This is the naming I use on most sites:
| Action | Event name | Useful parameters |
|---|---|---|
| WhatsApp button or link click | whatsapp_click |
link_url, click_text, button_location |
| Phone number tap | phone_click |
link_url, button_location |
| Successful form submission | generate_lead |
form_name, form_location, lead_type |
| Email link click | email_click |
link_url |
generate_lead is a GA4 recommended event name for lead forms. The other names are custom events, so pick a format and stick with it across the whole site.
If you want to report on a custom parameter, such as button_location, register it as an event-scoped custom dimension under Admin > Data display > Custom definitions. Otherwise you will see it in DebugView, but not in your standard reports or explorations.
How do you track WhatsApp clicks in GA4?
You track WhatsApp clicks with a GTM link click trigger that fires when the clicked URL points to WhatsApp, plus a GA4 Event tag that sends whatsapp_click. Here are the steps:
- In GTM, go to Variables > Configure and enable the built-in click variables: Click URL, Click Text and Click Element.
- Create a trigger of type Click - Just Links.
- Set it to fire on Some Link Clicks where Click URL matches the regex
wa\.me|api\.whatsapp\.com|whatsapp:. - Create a Google Analytics: GA4 Event tag with the event name
whatsapp_click. - Add parameters:
link_url={{Click URL}}andclick_text={{Click Text}}. - Attach the trigger, preview, test, and publish.
What if the WhatsApp button is not a normal link?
Some chat widgets open WhatsApp through JavaScript instead of a standard link, so the Just Links trigger never fires. In that case, try a Click - All Elements trigger matched on the button's CSS class or ID, or ask the widget provider whether it pushes a data layer event you can listen for. Floating widgets inside an iframe usually cannot be tracked from GTM at all without the provider's own integration.
Remember that a WhatsApp click is an intent signal, not a confirmed conversation. Someone may open WhatsApp and never send a message.
How do you track phone call clicks?
You track phone call clicks the same way as WhatsApp, with a Just Links trigger on links that start with tel:. The trigger condition is Click URL starts with tel:, and the GA4 Event tag sends phone_click.
Make sure every phone number on the site is a real clickable tel: link, including in the header, footer and contact page. A number written as plain text cannot be tracked on desktop or mobile.
Phone clicks are not the same as phone calls
A phone_click event tells you someone tapped the number, not that a call connected or how long it lasted. For actual calls from Google Ads, use Google Ads call tracking:
- Calls from ads, using call assets or call-only ads, can be counted as conversions when the call lasts longer than a duration you set.
- Calls from website, using Google forwarding numbers, swap your number on the site for visitors who came from an ad, where forwarding numbers are available in your country.
- Clicks on a number on your mobile website can also be set as a Google Ads conversion action, which is closest to the GTM method above.
For local service businesses, I usually set up both: GA4 events for the full picture across all channels, and Google Ads call conversions for bidding.
How do you track form submissions reliably?
The most reliable way to track a form is to fire your event on a signal that only happens after a successful submission. Here are the options, from best to least reliable:
- Data layer event from the form. Many form plugins, or a developer, can push an event like
dataLayer.push({ event: "form_success", form_name: "quote" })after a successful submit. Use a Custom Event trigger on it. - Thank-you page. Redirect to a unique URL after submission, such as
/thank-you/, and use a Page View trigger with Page Path equals/thank-you/. Make sure people cannot reach that page any other way. - Element Visibility trigger. If the form shows a success message on the same page, trigger when that message's CSS selector becomes visible.
- GTM Form Submission trigger. Use it with Check Validation enabled. It works for standard HTML forms but often fails with AJAX forms.
Whichever option you choose, send it as generate_lead with a form_name parameter so you can tell your forms apart.
How do you turn these events into conversions?
Mark the events that represent real business value as key events in GA4, then use them in Google Ads. In GA4, go to Admin > Data display > Events (or Key events) and mark generate_lead, phone_click and whatsapp_click as key events if they matter to you.
For Google Ads, you can import those key events after linking GA4, or create native Google Ads conversion actions fired from GTM. I generally keep only the strongest actions, such as successful forms and qualified calls, as primary conversions for bidding, and set softer signals as secondary.
Testing checklist
- Every WhatsApp, phone and email link on the site fires the right event once.
- Form events fire only after a successful submission, not on errors.
- Parameters show the correct values in GA4 DebugView.
- Key events appear in GA4 within 24 to 48 hours.
- Google Ads conversion actions show a "Recording conversions" status after test conversions.
If you are new to GTM, avoid the setup errors I see most in Google Tag Manager mistakes that break your conversion tracking.
What does this look like in a real project?
For FAARNS, a multi-country digital agency, form submissions, CTA clicks and WhatsApp interactions were partially tracked or missing. I built a structured GTM container with triggers for form submissions, CTA clicks, phone clicks, email clicks, scroll depth and WhatsApp interactions, added parameters like form_location and lead_type, and mapped high-intent actions as conversions synced to Google Ads. For TalkBar, a restaurant in Bengaluru, I added events such as call_click and reservation_intent so calls and reservations could be measured as real conversions.
Once leads are tracked, the next step is connecting them to actual sales. I cover that in offline conversion tracking from your CRM to Google Ads.
Final thoughts
WhatsApp clicks, calls and form submissions are often the most valuable actions on a website, so they deserve proper events, not guesswork. Name them consistently, fire them on reliable triggers, and test before you trust them. If you want this set up for your site, see my conversion tracking service or book a free tracking audit.

