Practical guide

A tracking checklist for local service businesses

The five-step checklist I use before any campaign goes live: GTM foundation, GA4 form triggers, call tracking, server-side setup, and Google Ads conversion import.

Published 2026-07-18

Tracking is an audit trail, not a technical trophy.

Without accurate tracking, the bidding algorithm optimises for clicks, not for calls, forms, or booked jobs. A broken tag means the platform reports conversions that never happened, and every optimisation decision for months is trained on noise. This is the checklist I use before any campaign goes live.

Step 1: GTM foundation

Google Tag Manager should be installed high in the <head> on every page, with a noscript fallback after the <body> tag. Before adding any conversion tags, verify the setup:

  • Open Tag Assistant in Preview mode and load every page template
  • Confirm the container-loaded event fires on every page
  • Enable the built-in variables for Clicks, Forms, and History
  • Test the container in a staging environment before publishing to production

A tag manager that does not fire on every page is a silent source of lost conversion data. Do not assume it works because it was installed once — verify it on every template.

Step 2: GA4 and form tracking

The base Google Tag should fire on All Pages. Form submissions need their own trigger — and the trigger matters more than most people think.

Do not use Submit-button clicks as your form trigger. A submit-button click fires even when the form has validation errors, which means the platform counts a failed submission as a conversion. Use the native Form Submission trigger in GTM, or add a success listener that only fires when the form actually submits. Pass parameters like form_id and page_url so you can identify which form and which page produced the lead.

Test every form path: valid submission, validation error, and empty submission. Only the valid submission should fire the conversion tag.

Step 3: Call tracking

Phone calls are the highest-intent lead for most local service businesses, and they are also the easiest to miscount. A click on the phone number button is not a lead — it is a click. The call has to actually happen.

  • Use Google forwarding numbers with dynamic number swap so each call is tied to the campaign and keyword that caused it
  • Set the conversion threshold to calls lasting more than 60 seconds — this filters out spam, wrong numbers, and price-shoppers who hang up after hearing the rate
  • Test the forwarding number setup by calling from a clean device and confirming the conversion appears in GA4
  • Optional: use a third-party call-tracking service for recording, SMS, and multi-channel attribution

The 60-second threshold is not arbitrary. It is the point where a call stops being a dial-tone and starts being a conversation. Calls under 60 seconds are almost never useful leads — they are people who dialled the wrong number, hung up when they heard the greeting, or were price-shopping and did not want to talk.

Step 4: Server-side tracking and Safari

Browser-based tracking loses data to ad blockers and cookie limits. Safari's Intelligent Tracking Protection deletes first-party cookies after 24 hours, which means a visitor who converts the next day is not attributed to the original ad click.

Server-side tracking fixes this by reporting conversions from a server you control instead of the visitor's browser. The setup:

  • Deploy a server GTM container through Google Cloud Platform or a hosting service like Stape.io
  • Use a custom subdomain (e.g., collect.yourdomain.com) so the cookies are first-party and survive Safari's cookie limits
  • Deduplicate browser and server events using matching event IDs — without deduplication, the same conversion is counted twice

Server-side tracking is not a universal upgrade. It earns its keep when a meaningful portion of the audience uses Safari, when ad blockers block a measurable number of conversions, or when cross-platform deduplication matters (e.g., Meta Conversions API alongside GA4). The server-side tracking evidence record shows the implementation in practice.

Step 5: Google Ads conversion import

Once the events are firing correctly in GA4, import them into Google Ads as conversion actions. The setup matters:

  • Link the Google Ads account to the GA4 property
  • Import the verified form and call events as conversions
  • Use data-driven attribution instead of last-click — it distributes credit across the full path rather than giving it all to the final click
  • Exclude low-value actions (like page views or scroll depth) from the imported conversions — only import actions that represent a real enquiry

Do not import an event until you have tested it and confirmed it fires correctly. An imported conversion that fires on form validation errors will corrupt the bidding algorithm for months.

State where the trail ends

There is no value in pretending a platform conversion is revenue. A form fill is a lead. A phone call is a lead. Whether that lead became a booked job, and what that job was worth, requires client confirmation. When revenue is confirmed, label it as revenue. When profit is estimated at the client's stated margin, label it as estimated profit. The report should say exactly where the evidence stops.

The tracking and reconciliation page explains how this setup is built and maintained. The attribution standard explains how each level of evidence is counted.

Questions business owners ask

How do I know the numbers are accurate?

Because every one is tested before it counts. Preview tests for every form, chat, and phone click. Verification in the debug views. Duplicate-event checks. A counted call is a real call or it does not count.

Why does tracking come before ad spend?

Because spending on an unmeasured account is buying data you cannot read. The tracking is the audit trail on your money, and it is why every other number reported can be trusted.

What is server-side tracking, in plain terms?

Your website reports conversions from a server you control instead of only from the visitor's browser. Browsers lose data to ad blockers and cookie limits. The server does not. The result is fewer lost conversions and cleaner numbers to decide with.

Can you fix double counting?

Yes. Deduplication uses matching event IDs so browser and server events are merged instead of counted twice. The evidence record shows the screen proving browser and server events are deduplicated correctly.

I count conservatively. Every untracked job is your upside, not my credit.

Talk through your situation

Book a short call