Common GA4 Setup Mistakes You’re Probably Making Right Now
Most GA4 dashboards look fine on the surface. Most are also quietly lying to whoever is reading them.
Why a Broken GA4 Setup Is Worse Than No GA4 at All
A business with no analytics at least knows it is flying blind. A business with a broken GA4 setup thinks it can see clearly, and makes decisions on numbers that are quietly wrong. Budget gets shifted toward channels that look strong but are being inflated by tracking errors, while channels that are genuinely working get starved because their numbers look weaker than reality.
This is one of the least visible causes behind decisions that don’t match what search intent data actually suggests. The strategy can be sound. The data feeding it can still be broken.
The Five Mistakes That Quietly Break Your Data
1. Duplicate tags firing on the same page
When GA4 is installed both directly and through Google Tag Manager, or added twice during a website redesign, every pageview and event gets counted twice. Traffic looks artificially strong until someone finally compares it against Search Console clicks and notices the gap.
2. Internal traffic never filtered out
Every time your team visits the website to check something, test a form, or review content, that visit counts as a real user unless internal IP filtering is set up. On a small site, this alone can inflate traffic by a noticeable margin.
3. Conversion events configured on the wrong trigger
A “form submit” event that actually fires on page load, or on the click of the submit button regardless of whether the form validated, will report leads that never happened. This is one of the most damaging mistakes because it corrupts the exact number a business uses to judge marketing ROI.
4. Cross-domain tracking left unconfigured
If your main site and your booking or payment page sit on different domains or subdomains, GA4 will often treat a single visitor as two separate sessions unless cross-domain tracking is explicitly configured, breaking the customer journey in the data.
5. Data retention left on the short default
GA4’s default event data retention can be as short as two months for some report types. Businesses trying to look at year-over-year trends later discover the underlying event data was never kept long enough to support the comparison.
A Quick Self-Audit Table
| Check | How to Verify |
|---|---|
| Duplicate tags | Use Tag Assistant to confirm GA4 fires exactly once per page |
| Internal traffic | Check if your office IP or team is excluded in Data Filters |
| Conversion accuracy | Submit a test form and confirm the event fires only on success |
| Cross-domain tracking | Check Admin, Data Streams, Configure Tag Settings for linked domains |
| Data retention | Check Admin, Data Settings, Data Retention period |
The Order to Fix Things In
Fix duplicate tags first, since every other number in the account is distorted until this is resolved. Filter internal traffic second, since it affects every report equally. Correct conversion event triggers third, since this is the number decisions actually get made on. Cross-domain tracking and data retention settings can follow once the foundational numbers are trustworthy again.
This same discipline, fix the foundation before optimizing on top of it, is exactly what a proper SEO audit applies to a website’s technical health before any content or link building begins.
Frequently Asked Questions
How do I know if my GA4 tags are firing twice?
Open your website with Google Tag Assistant active and check whether the GA4 configuration tag fires once or more than once per page load.
Can I fix historical data that was already collected incorrectly?
No. GA4 does not retroactively correct past data. Fixing the setup only improves data going forward, which is why catching these mistakes early matters.
How often should a GA4 setup be audited?
At minimum after any website redesign, tracking tool change, or every six months as a routine check, since small configuration drift is common over time.
Not sure if your GA4 numbers can actually be trusted? Let’s find out together.