Your GA4 funnel is lying to you, and the fix takes an afternoon
Most drop-off reports I inherit are measuring the tracking, not the customer. Here is how to tell the difference before you rebuild a checkout that was never broken.
A client came to me last quarter convinced their checkout was broken. The funnel report showed 68% of users abandoning between add_to_cart and begin_checkout, and there was already a redesign scoped to fix it. Two days of digging found something cheaper: the begin_checkout event was firing on a button that half the traffic never saw, because the mobile layout moved it below a collapsed accordion. The customers were fine. The measurement was not.
This is the most common analytics failure I see, and it is expensive in a specific way: it does not produce wrong numbers, it produces confident wrong numbers. Nobody questions a chart that renders cleanly.
Start by auditing the events, not the drop-off
Before you interpret a single percentage, open the realtime report and walk the flow yourself on a phone. Do it twice: once as a new user, once with a returning session. You are checking three things — does every step fire, does it fire once, and does it fire only when the user actually did the thing.
In my experience about a third of funnels fail one of those on the first pass. Duplicate events are the sneakiest, because they inflate the top of the funnel and make every downstream rate look worse than it is.
Segment before you conclude
An aggregate funnel hides the answer almost every time. Split it by device first, then by traffic source. What looks like a 68% drop-off usually resolves into something like 30% on desktop and 80% on mobile — and that gap is the actual finding. It tells you whether you have a design problem, a speed problem, or a tracking problem, and those have completely different fixes.
If a number would change your decision, it is worth verifying by hand. If it would not, it probably should not be on the dashboard.
Write the assumptions down
Every funnel carries assumptions: what counts as a session, which events are required, what window a conversion has to land in. When those live in someone's head, the report gets reinterpreted every time a new person reads it. I keep them in a short note pinned to the dashboard itself — four or five lines, plain language, dated.
It is the least glamorous part of the job and the part that saves the most rework. It also makes the handover survivable when the person who built the report leaves.
What the afternoon looks like
Walk the flow on a real phone. Check each event fires once. Split by device and source. Write down the assumptions. That is the whole audit, and it costs less than the first meeting about a redesign.
The client above did eventually change their checkout — two months later, for reasons the corrected data actually supported. The version they nearly built in week one would have solved a problem that did not exist.
- Verify events by hand before you interpret a single rate.
- Duplicate fires are the most common cause of a “broken” funnel.
- Aggregate funnels describe nobody — split by device, then source.
- Pin the assumptions to the report, dated, in plain language.