GA4's e-commerce funnel relies on a specific set of events firing in sequence. Each event represents a step in the purchase journey. When steps are missing — even one — the funnel becomes incomplete, drop-off analysis becomes impossible, and any checkout optimisation work is based on assumptions rather than data.

The most commonly missing event, in our experience auditing hundreds of properties, is add_payment_info. Its absence means you cannot answer the most commercially important question in checkout optimisation: do customers abandon before or after entering their payment details?

The required GA4 e-commerce events

GA4 defines a standard e-commerce event schema. For a complete purchase funnel, these events should fire in sequence:

Event nameWhen it firesRequired parameters
view_itemUser views a product pageitems array
add_to_cartUser adds item to cartitems, value, currency
view_cartUser views the cart pageitems, value, currency
begin_checkoutUser starts checkoutitems, value, currency
add_shipping_infoUser enters shipping detailsitems, shipping_tier
add_payment_infoUser enters payment detailsitems, payment_type
purchaseOrder confirmedtransaction_id, value, currency, items

Not all of these are strictly mandatory for GA4 to function — but each one you omit is a step you cannot measure. The minimum viable set for meaningful funnel analysis is: add_to_cart, begin_checkout, add_payment_info, and purchase.

What missing events actually cost you

Consider a checkout funnel without add_payment_info. In GA4's funnel exploration, the journey jumps from begin_checkout directly to purchase. You see that 68% of users who begin checkout do not purchase — but you have no way to know at which step they leave.

This distinction is critical for optimisation:

These require completely different solutions. Without add_payment_info, you are guessing which one to fix.

The revenue impact: Checkout optimisation that targets the wrong stage — because missing events made it impossible to identify the right one — wastes development time, A/B testing budget, and UX effort. A single correctly identified drop-off point and targeted fix can recover far more revenue than the cost of implementing the missing event.

How to audit your e-commerce event coverage

Step 1: Check event existence in GA4

Go to Admin → Events. Look for each of the standard e-commerce events in the list. If an event is not listed, it has never fired — or has not fired in the last 30 days. Note which events are present and which are absent.

Step 2: Verify event data in DebugView

Walk through your own checkout flow with GA4 DebugView open. For each step, confirm the correct event fires with the expected parameters. Pay particular attention to the items array — it should contain product details including item_id, item_name, price, and quantity.

Step 3: Build a funnel exploration

In GA4 Explore, create a Funnel Exploration using all your e-commerce events in sequence. If any step shows 100% drop-off or is missing from the funnel entirely, that event is not firing correctly. Compare the volume at each step against your known order volume — large discrepancies indicate tracking gaps.

Step 4: Validate the purchase event parameters

The purchase event is the most important to get right. Check that every purchase event includes a unique transaction_id (to prevent duplicate counting), the correct value (should match order total), and a populated items array. Missing or incorrect parameters here corrupt your revenue reporting.

Check for duplicate purchase events. One of the most damaging e-commerce tracking errors is a purchase event that fires twice — once for the actual purchase and once when the confirmation page is refreshed. This inflates revenue and transaction count. Deduplicate by validating transaction_id uniqueness in your data.

Implementing missing e-commerce events

If events are missing from your setup, they need to be added to your dataLayer pushes and corresponding GTM tags. For each missing event, create a dataLayer push at the appropriate point in your checkout flow and a corresponding GA4 Event tag in GTM.

For add_payment_info specifically — which is the most commonly missing — the event should fire when a user completes the payment information step and moves to order review or confirmation. Depending on your checkout implementation, this might be triggered by a button click, a step completion callback from your checkout library, or a page navigation event.

The implementation complexity varies significantly by platform. Shopify Plus, WooCommerce, and custom checkouts all handle this differently. If you are unsure of the correct implementation for your setup, the GA4 DebugView is your best diagnostic tool — fire the event manually in development and verify the parameters look correct before deploying to production.

Audit your funnel event coverage automatically

GA4 Health Check checks your e-commerce event coverage as part of the Reporting & Exploration module — verifying that each expected funnel step is present and has fired within your chosen date range. Missing events and events with zero recent data both appear as findings in your audit report.

Combined with the purchase event parameter completeness check in the Event Tracking module, you get a complete picture of your e-commerce tracking health in under 60 seconds.

Run a GA4 audit to check your e-commerce funnel →

You cannot optimise a funnel you cannot see. Every missing checkout event is a blind spot in your data. Fix the tracking, then fix the funnel. Run an automated audit to find what's missing →
Travis Gunn
Founder of GA4 Health Check. Working with Google Analytics since 2013, with over 250 clients audited across almost every industry vertical. 100% Job Success on Upwork for over a decade.