GA4 + GTM for Ad Accounts: The Setup That Saves Your Budget
Half the problems that look like "the ads don't work" are actually measurement problems. Duplicate conversions, lost UTMs, self-referrals and unfiltered internal traffic make the report prettier than reality. Here's the base setup that makes your numbers trustworthy again.
01 — Problem
Four Reasons Your Data Is Lying to You
These mistakes show up in almost every account that was set up in a hurry or by several people in succession. They share one trait: none of them looks like an error inside the interface.
Conversions counted twice
The tag sits in GTM and in the site code; or the event fires both on the button click and on the thank-you page load. The report shows twice the result, and you scale something that does not actually work.
Internal traffic in reports
Your team, your contractors and your developers browse the site every day. Without an IP exclusion they make up a noticeable share of your "engaged audience" — and skew behaviour metrics exactly where you look at them.
Lost UTMs and self-referrals
Redirects, payment gateways and subdomains wipe out the source. The sale exists, but GA4 credits it to "direct", and the channel that actually delivered it looks unprofitable.
One button, three different events
When event names get invented on the fly, the same action lands in different reports. Six months later nobody on the team can say what each event actually means.
The key point: none of these problems is visible in the interface. They only become visible when someone deliberately goes looking for them.
02 — Setup
Six Steps to a Base Setup
The order matters here: each step rests on the one before it. Jumping straight to step six — importing conversions — on dirty data only moves the errors into your ad account.
One container, one configuration
All tags live in GTM and there is not a single duplicate in the site code. One GA4 configuration tag and a clear list of events on top of it. It is boring, and it is where most duplicate problems begin.
UTM discipline and auto-tagging
Google Ads needs auto-tagging (gclid) enabled, not manual UTMs — otherwise you break the link back to the ad platform. For every other channel, use one shared naming dictionary: the same source is always spelled the same way.
Conversion events: one event, one action
Name them action_object (submit_lead, click_phone, purchase). Every event should be documented somewhere: what it means, where it fires, who added it. A year from now you will thank yourself.
Filtering internal traffic and bots
A list of team and contractor IPs, bot filtering switched on, a separate data stream for staging. It takes 20 minutes and cleans up the reports immediately.
Consent Mode v2
The consent banner has to govern server-side delivery as well as browser tags. The most common mistake is bolting on a banner and never checking that data really stops flowing after a refusal.
Importing conversions into ad platforms
Link GA4 to Google Ads and import exactly the events the algorithm should optimise for — with the right attribution window and, wherever possible, with value passed through. Without this step all the earlier work stays a set of nice reports.
03 — What to measure
What to Measure: Four Levels
Not all events are equal. These four levels run from the most frequent and cheapest signal to the rarest and most valuable — and each plays its own role in training the algorithm.
Engagement
Scroll depth and time on key pages. The earliest signal of interest — too weak to optimise on, but enough to see which pages people actually read.
Intent
Phone clicks, chat opens, contact page views. These happen many times more often than form fills and give the algorithm a signal long before conversions accumulate.
Enquiry
Form submissions, split by type: consultation, quote, callback. Without that split you cannot see which kind of request actually brings in money.
Money
A purchase or a qualified lead with value attached. Without the value parameter the algorithm optimises for volume rather than revenue — and will happily deliver a hundred cheap small orders.
04 — Proof
What Becomes Possible When the Data Is Clean
None of these numbers is a result of the analytics setup. All of them are things that only became countable because of it.
On the SumSum account analytics was built from scratch: full GA4, Enhanced Ecommerce, form and sale tracking. Only after that did it become visible which campaigns actually made money. At Signature the same discipline made it possible to calculate ROI to two decimals — not because the number looks good, but because otherwise there would have been nothing to calculate it from.
Read the full SumSum case →05 — Mistakes
Four Mistakes That Cancel Out the Setup
✕ Placing every tag in both GTM and the code
The number one cause of duplicates. The rule is simple: everything through GTM, nothing in the code. A single exception of "it was quicker to paste it directly" is enough to poison reports for months.
✕ Treating every event as a conversion
When a scroll, a click and a purchase are all conversions, the algorithm has nothing to aim at. A conversion is what brings in money; everything else is a regular event for analysis.
✕ Setting it up once and forgetting it
GA4 updates, Consent Mode changes and redesigns break tags quietly, with no notification at all. Verification has to be a monthly routine, not a reaction to a disaster.
✕ Trusting the interface without verifying
"The tag fires" in Preview and "the data is correct in the report" are different things. Check in the report itself, 24 to 48 hours after the change.
06 — Checklist
Setup Checklist — Save It
07 — Questions
Frequently Asked Questions
GA4 or GTM — which do you set up first?
Can you skip GTM and install GA4 directly?
How many conversion events should there be?
What do you do with historical data if the setup was wrong?
Does Consent Mode reduce the volume of data?
How often should the setup be checked?
Free check
Can You Trust the Numbers in Your Report?
I will review your GA4 and GTM — duplicates, UTMs, conversion events and the Google Ads import — and show you where the report diverges from reality. Free, with no obligations.