GA4 conversion tracking checklist
Roughly half the accounts I audit are making decisions on inaccurate data — forms untracked, phone clicks invisible, internal traffic counted as customers. These 19 checks catch the problems that matter. Tick them off as you go; progress saves in your browser.
1. Before you touch anything
Duplicate tags are common after a site migration or when a plugin and a tag manager both fire. Two installs double your sessions and halve your conversion rate. Check with the Google Tag Assistant extension on any page.
Reports → Realtime. Open your site in another tab and confirm you appear. If not, nothing else on this list matters yet.
Admin → Property settings. A wrong time zone shifts every daily report, and a wrong currency makes revenue figures meaningless. Both are easy to miss and annoying to correct later.
Admin → Data settings → Data retention. The default is two months, which means you lose the ability to compare year on year. There is no reason not to change it.
2. Mark the events that matter
The single most commonly missed event. The default form_submit does not fire reliably on sites using AJAX forms, popups or most WordPress form plugins — verify it rather than assuming.
For service businesses this is often the main enquiry route and it is invisible by default. Add a click event on any tel: link.
Same logic. If someone can contact you by tapping it, it should be measured.
Admin → Events → mark as key event. Only mark things that represent real business value. Marking page views or scrolls as conversions corrupts every report and misleads your ad bidding.
Ecommerce purchases should pass actual revenue. For lead generation, passing an estimated lead value lets you compare channels on return rather than volume.
3. Stop counting yourself
Admin → Data streams → Configure tag settings → Define internal traffic. Add your office and home IPs, then activate the filter under Data filters. Creating the rule without activating the filter does nothing — a very common mistake.
If a staging site shares the measurement ID, its traffic lands in your live reports.
GA4 filters obvious bots automatically, but referral spam still appears in smaller properties.
4. Make attribution honest
If your checkout, booking system or payment page sits on a different domain, configure it under Data streams → Configure tag settings. Otherwise your own checkout appears as a referral and the original source is lost.
Payment providers like Stripe and PayPal should be excluded, or every purchase will be attributed to them rather than to the campaign that earned it.
Agree one convention — lowercase, no spaces — and use it everywhere. Mixed casing creates duplicate rows for the same campaign and quietly splits your data.
5. Connect and verify
Admin → Product links. This lets you import GA4 conversions into Ads and see which campaigns produced them. Without it you are optimising on platform-reported conversions only.
Adds organic query data into GA4 reporting, which is otherwise missing entirely.
Fill in your own form, complete a real transaction, make the call. Then confirm it appears in GA4 within 24 hours. This is the only step that genuinely proves the setup works.
Looker Studio, free, connected to GA4. Five or six numbers that actually inform decisions beats the full default dashboard that nobody opens.
Why this matters more than it sounds
Broken analytics is not a reporting inconvenience. It actively makes decisions worse, because every downstream choice inherits the error. If form submissions are not tracked, Google Ads cannot optimise for them. The bidding then chases whatever it can measure. That is usually clicks from people who were never going to enquire.
The same applies to organic. Without accurate conversion data you cannot tell which pages earn enquiries, so content effort goes to whatever has the most traffic rather than whatever produces customers. Those are rarely the same pages.
This is why every engagement I take begins with verifying measurement before anything is optimised. More on analytics and conversion work ›
About this checklist
Because GA4 reports data from the moment it is installed, a broken setup looks identical to a working one from the dashboard. Nothing errors. You only discover the problem when you try to answer a question the data cannot support — usually months later.
An hour or two for most sites if you have admin access. Cross-domain measurement and event tracking on custom forms take longer. The test conversion at the end is non-negotiable and takes five minutes.
Not strictly, but it makes event tracking considerably easier and avoids editing site code for every change. If you expect to track more than a couple of events, it is worth the setup.
Yes, in your own browser only. Nothing is uploaded and nothing is sent to me. Clearing site data resets it, and it will not carry across to another device.
Want me to check your setup instead?
A measurement audit takes a couple of hours and almost always finds something. It is included free in any first consultation.