When a report says the marketing is failing, there are two possibilities. The marketing failed, or the measurement did. GA4 makes the second one easy to miss, because a misconfigured property produces the same confident charts as a working one. Nothing errors out. The report just quietly describes a business that doesn't exist.
That's why verifying the GA4 implementation is one of the first things I do with a new client, before rankings, before traffic trends, before any conclusion about what's working. A form_submit event wired to the button click instead of the successful submission counts every abandoned and failed attempt as a lead. The report looks healthy. The inbox says otherwise.
What Broken GA4 Looks Like in Practice
Across one multi-client audit engagement, I found GA4 properties at every stage of dysfunction. Key events that were never configured. A conversion event firing on activity that wasn't a conversion. Traffic sources miscategorized badly enough to distort every channel comparison. One property had so little functional configuration that rebuilding it from scratch was faster than repairing it.
None of it announced itself. The sites were getting traffic, the dashboards rendered, and every chart looked the way a chart is supposed to look. A broken analytics setup doesn't fail loudly. It fails plausibly.
The cost lands downstream. When key events aren't recording real actions, leads can't be connected to the work that produced them. When channels are miscategorized, paid looks stronger or weaker than it is. Budgets, campaign priorities, content investments: all of it gets decided against a picture that's wrong in ways nobody has measured.
Why This Matters Before Anything Else
If the measurement layer is wrong, every report built on top of it is wrong too. It doesn't matter how polished the dashboard is or how many people review it. A weekly meeting about distorted numbers is a distorted meeting with good attendance.
Google's own documentation describes key events as a way to measure the actions that matter most to your business. That's exactly what a configured event is: evidence that an action happened. It is not proof of revenue, and it is not certainty about which channel deserves the credit. Even a clean implementation has attribution limits that no configuration removes. An audit doesn't buy you certainty. It buys you evidence you can weight honestly.
This article assumes a property already exists and might be lying to you. If you're starting from nothing, the GA4 setup guide covers initial configuration and key events from zero. Auditing and setup are different jobs.
What an Implementation Audit Actually Checks
Each item below is a misconfiguration I check for, stated the same way: what it distorts, then how to catch it.
- Missing key events. If the actions that matter (form submissions, phone clicks, bookings, purchases) were never configured as key events, the report reads as traffic without results when the results simply aren't being recorded. List the actions your business cares about, confirm each one exists as a key event, then perform each action yourself and watch it arrive in Realtime.
- Events firing on the wrong trigger. An event tied to adjacent activity inflates the count. A form_submit fired by the button click records failed submissions as leads. Trigger both the real action and the near-miss. The count should move once, and only for the real one.
- Double-tagging. The same measurement ID loaded twice, usually a hardcoded gtag snippet plus a Tag Manager container, can record one action more than once and inflate activity across the property. Check the page source or Tag Assistant for how many times the tag loads, then perform one action and confirm it produces one event.
- Unfiltered internal traffic. Your sessions, your staff's, and your developer's all count as visitors, which inflates engagement and pollutes conversion data. Small sites feel this hardest. Confirm an internal traffic rule is defined and the filter is active rather than sitting in testing mode. If your top "customer" city is the town your office is in, you have your answer.
- Miscategorized traffic sources. Direct traffic absorbs organic, paid, and referral visits when campaign tags are missing or redirects strip them, and channel comparisons stop meaning anything. Review the share of direct in your acquisition reports, and scan the referral list for your own domains and your payment processor.
- Cross-domain gaps. When a visit spans your site and a booking or checkout domain, a missing cross-domain configuration splits it into two sessions, and the conversion gets credited to a referral from your own checkout instead of the channel that earned it. Complete the full path yourself, confirm it stays one session, and review the referral exclusion list.
- Consent-mode blind spots. Once a consent banner ships, visitors who decline aren't directly measured, so a traffic "decline" can be the banner and not demand. Compare the banner's deploy date against the date the trend broke, and note which regions the change affects before anyone concludes the marketing stopped working.
- Historical reliability. Data recorded before a fix and data recorded after it are two different datasets. Compared as one, they show a trend that never happened. Establish when the misconfiguration started, and annotate the fix date so a year-over-year comparison doesn't cross that line unknowingly.
Sometimes the only question is whether the lead events fire at all. For that ten-minute version of this list, see Is GA4 Actually Tracking Your Leads?
The Broader Principle
Diagnostic work runs on trustworthy data. Before I interpret any performance signal, whether it's traffic, conversions, rankings, or engagement, I want to know the instrument was measuring what everyone assumed it was measuring. That check isn't a detour from the real work. It's where the real work starts.
And honestly, the audit rarely comes back clean on a property nobody has validated in a year or two. Not because anyone did something wrong, but because sites change. Forms get rebuilt, consent banners ship, checkout providers move domains, and the analytics configuration quietly stops matching the site it's pointed at.
If your decisions have been riding on a GA4 setup nobody has tested, the first useful thing isn't a new strategy. It's checking that the data underneath the strategy is real.