All solutions
ga4ecommerce trackingcheckout funnelgtm

Why GA4 Checkout Funnel Steps Show Missing Data

If your GA4 checkout funnel shows healthy add-to-cart numbers but steps like add_shipping_info or add_payment_info vanish or show near-zero users, you're not looking at a traffic problem — you're looking at an implementation gap.

GA4 checkout funnels typically show missing steps because one or more of the recommended ecommerce events isn't firing correctly, isn't sending the required parameters, or is being blocked by consent settings — not because users are dropping off. Before trusting the funnel numbers, you need to confirm the events actually exist in raw data.

Why This Happens

GA4's checkout funnel relies on a specific sequence of recommended events — view_item, add_to_cart, begin_checkout, add_shipping_info, add_payment_info, and purchase — defined in Google's GA4 ecommerce documentation. If a developer or tag manager setup only implements begin_checkout and purchase (common on Shopify and custom-built checkouts), GA4 has nothing to plot for the steps in between, so the exploration report shows them as empty or excludes them entirely.

Other frequent causes: the ecommerce object in the dataLayer is missing or malformed on one step, so the event fires but without the items array GA4 needs to attribute it to the funnel; Consent Mode is blocking analytics_storage for a segment of users (often EU traffic under GDPR), which silences events mid-funnel; the tag in Google Tag Manager is set to fire on a trigger that doesn't match the actual DOM or dataLayer timing, so it fires late, early, or not at all; and cross-domain measurement isn't configured, so users who move from a cart subdomain to a checkout subdomain get split into two sessions and appear to abandon.

How to Diagnose It

Diagnosing missing checkout steps means checking whether the event exists in raw data before questioning user behavior — use GA4 DebugView and GTM Preview mode to confirm each event fires in the correct order with the correct parameters, then cross-check against BigQuery export if it's connected. DebugView (in GA4's Admin > DebugView) shows events in real time as you click through a test checkout; if add_shipping_info never appears, the tag isn't firing, full stop. GTM's Preview mode shows whether the trigger conditions were even met on that page. If GA4 is linked to BigQuery, query the events_* tables directly — this bypasses GA4's sampling and thresholding and shows you the true event count per step, which is more reliable than the UI exploration report for diagnosis. Also check the funnel's step-type setting in Explorations: GA4 defaults to "closed funnel" logic, and toggling between open and closed, or between "directly followed by" and "indirectly followed by," can dramatically change what looks like a data gap versus a real drop-off.

How to Fix It

Fixing missing checkout steps requires implementing all six recommended ecommerce events with complete parameters, validating each one in DebugView before launch, and auditing Consent Mode and cross-domain settings so no user segment is silently excluded from measurement. Start by mapping your actual checkout flow to Google's recommended event list and confirming which events are missing in the dataLayer — this is almost always the root cause, not a GA4 configuration issue. For platforms like Shopify Plus, Salesforce Commerce Cloud, or custom React checkouts, the ecommerce object often needs to be pushed to the dataLayer at each distinct step, not just once at the end. Next, verify Consent Mode v2 is configured with default and update tags that don't block analytics_storage more broadly than intended. Finally, if checkout spans subdomains, confirm cross-domain linking is set up in GA4's Admin > Data Streams settings so session IDs persist across the handoff.

Because these issues compound — a missing parameter here, a blocked consent signal there — manual review can miss the interaction effects. Our free instant GA4 audit checks your ecommerce event implementation, consent configuration, and funnel step completeness in minutes, and flags exactly which steps are broken and why.

Frequently asked questions

Why does my GA4 checkout funnel show a big drop between begin_checkout and add_payment_info?
This is almost always a missing or misfiring tag rather than real abandonment — check GTM Preview and DebugView to confirm add_payment_info is actually firing with the correct ecommerce parameters.
Can Consent Mode cause missing checkout funnel steps in GA4?
Yes — if Consent Mode is blocking analytics_storage for users who haven't accepted cookies, their mid-funnel events won't be recorded, which can make a funnel step look artificially empty.
Is GA4's funnel exploration report reliable for diagnosing missing data?
It's a good starting point, but it's subject to sampling and the open/closed funnel setting, so cross-checking against BigQuery's raw events tables gives a more accurate picture.
Do I need all six recommended ecommerce events for the checkout funnel to work?
You need each step you want to measure — view_item, add_to_cart, begin_checkout, add_shipping_info, add_payment_info, and purchase — implemented with the ecommerce object populated correctly, or GA4 has no data to plot for that step.
How long does it take to fix a broken GA4 checkout funnel?
Once the root cause is identified via DebugView or BigQuery, most implementation fixes (adding a missing event, correcting a trigger, adjusting Consent Mode) can be deployed within a day, though results take a few days to accumulate in reporting.

Related problems we've written up