Nearly every marketing meeting eventually hits the same wall: someone asks a simple question about performance, and nobody trusts the number on the screen enough to answer confidently. Most of the time, the root cause traces back to how GA4 and Google Tag Manager were set up in the first place, often months or years earlier, often by whoever was available at the time rather than someone who specialized in analytics implementation.
GA4 is not forgiving of a rushed setup. Unlike Universal Analytics, which quietly grandfathered in a lot of loose configuration, GA4's event-based model punishes small mistakes with large, compounding data problems. Here's where that usually goes wrong, and what it costs when it does.
Mistake one: treating GA4 setup like flipping a switch
A lot of GA4 implementations amount to pasting a measurement ID into the site header and calling it done. That gets you basic pageview data and not much else. Without properly configured events, conversions, and audiences, you're looking at traffic volume with almost no ability to answer the question that actually matters: which of that traffic turned into revenue.
The fix isn't complicated in concept. It just requires deliberately mapping out what "success" looks like for your business (a form submission, a purchase, a demo booking, a phone call click) before touching the implementation, rather than configuring analytics first and figuring out what to measure later.
Mistake two: duplicate or conflicting tags
This is the single most common issue we find auditing existing GA4 setups. A site has GA4 configured directly through gtag.js, and then GTM adds a second GA4 configuration tag on top of it, resulting in every pageview and event firing twice. The traffic numbers look inflated, sometimes by a wide margin, and nobody notices because the trend lines still move in believable directions. It just makes every single metric wrong by roughly the same multiplier.
Google Tag Assistant and GA4's DebugView catch this quickly, but only if someone actually checks. Most businesses don't, because once a dashboard exists and shows numbers, there's rarely a strong incentive to go digging for problems.
Mistake three: conversion events that don't match business reality
GA4 makes it easy to mark almost anything as a "conversion," which sounds useful until every button click, scroll depth trigger, and page view starts competing for attention in your conversion reports. When everything is a conversion, nothing is. We regularly see accounts tracking a dozen or more "key events" where only two or three actually represent something the business cares about financially.
The practical fix is ruthless prioritization: pick the handful of actions that genuinely indicate business value, mark those as key events, and leave the rest as regular events you can still analyze without them cluttering the metrics leadership actually looks at.
Mistake four: no cross-domain or subdomain tracking
If your checkout, booking system, or CRM lives on a different domain or subdomain than your marketing site, and cross-domain measurement wasn't configured, GA4 will often see that handoff as a brand new session from a "referral" source, your own domain. That breaks attribution completely. A customer who found you through a Google Ads campaign and converted on a separate booking domain shows up as if they arrived from nowhere, and the ad campaign that actually earned the sale gets no credit for it.
Mistake five: no server-side or Consent Mode configuration
Browser privacy restrictions and ad blockers already suppress a meaningful share of client-side tracking, and that share keeps growing. Sites that haven't implemented Google's Consent Mode or considered server-side tagging through GTM's server container are increasingly measuring an incomplete picture of their own traffic, often without realizing how much is missing, because the gaps in data don't announce themselves.
What a proper audit actually checks
A real GA4 and GTM audit walks through a specific list: verifying no duplicate tags are firing, confirming key events map to actual business outcomes, checking cross-domain configuration if relevant, reviewing consent and privacy settings, and testing the full funnel in DebugView from first visit through conversion. That process usually takes a few hours. Living with bad data quietly costs a lot more than that, in wasted ad spend directed at the wrong channels and decisions made with confidence in numbers that were never accurate to begin with.