By Hira Ads Pro·2 min read·October 12, 2026
For a local service business, a lead arrives in one of four ways: a phone call, a form, a booking or a WhatsApp message. If any of them is missing from your tracking, your ad platforms are optimising with part of the picture.
1. Form submissions
Track the successful submission, not the button click.
- Best: the site pushes a
generate_leaddataLayer event after the server accepts the form - Good: the form redirects to a thank-you page used only for that form
- Plugin events also work, for example Contact Form 7’s
wpcf7mailsent
Send the event to GA4 as a key event, to Google Ads as a primary conversion and to Meta as Lead.
2. Phone calls
There are three layers of call tracking:
- Calls from ads: Google Ads call assets report calls made directly from the ad, with a duration you set
- Calls from the website: Google forwarding numbers swap your number for ad visitors and report calls above your duration threshold
- Clicks on tel: links: easy to track in GTM, but they only show intent, not a completed call
Treat phone_click as a secondary action. Use call duration for the primary conversion so short and accidental calls do not count as leads.
3. Bookings
If you use an embedded booking tool, find out whether it pushes an event to the page’s dataLayer or redirects to a confirmation page. If it runs inside an iframe on another domain, you may need the tool’s own integration or a postMessage listener. Track booking_complete when the booking is confirmed.
4. WhatsApp clicks
In GTM, create a click trigger for links containing wa.me or api.whatsapp.com and send a whatsapp_click event. Like phone clicks, this shows intent. If WhatsApp is a major lead source, ask your team to note in the CRM which chats came from the website so you can compare.
Send each action to the right place
| Action | GA4 | Google Ads | Meta |
|---|---|---|---|
| Form success | generate_lead (key event) | Primary conversion | Lead |
| Call from ad ≥ 60s | — | Primary conversion | — |
| Website call ≥ 60s | — | Primary conversion | — |
| Booking confirmed | booking_complete (key event) | Primary conversion | Schedule |
| tel: click | phone_click | Secondary | Contact (optional) |
| WhatsApp click | whatsapp_click | Secondary | Contact (optional) |
Check it weekly
Compare tracked leads against what actually reached your inbox, phone and CRM. A sudden gap usually means a form, plugin or page changed.
To have all four set up and tested together, see conversion tracking and web analytics.
Want this set up properly on your site?
Request an audit and get a clear plan before any changes are made.
Request an Audit →