GA4 ecommerce tracking is designed around a standard set of events that map to the customer purchase journey. Most implementations only track the purchase event. This captures revenue but leaves the entire upper-funnel invisible: you cannot see where users drop off, which products attract interest without converting, or how checkout friction affects completion rates.
The GA4 ecommerce event sequence
GA4 defines a recommended sequence of ecommerce events that covers the full customer journey from product discovery to post-purchase. Each event must carry an items array with consistent product identifiers to enable cross-event analysis in funnel explorations and path reports.
The core sequence is:view_item_list→view_item→add_to_cart→begin_checkout→add_shipping_info→add_payment_info→purchase. Implementing all seven enables funnel analysis at every stage. Our reference onGA4 purchase event parameterscovers the field-level requirements for the conversion event at the end of that funnel.
recommended funnel events in the core purchase journey
should stay structurally consistent across the funnel
order data should be used as a validation reference
Once the upper-funnel events fire reliably, see our deep dives ontracking cart abandonmentandproduct list performancefor how to turn the events into useful merchandising reports.
Required parameters for each event
Each funnel event has required and recommended parameters. Missing required parameters means the event may not report correctly in GA4 standard reports. Missing recommended parameters reduces the analytical depth available in Explore reports andBigQuery. For accurate post-purchase reporting, don't forget to instrument theGA4 refund eventas part of the same schema.
Theitems arrayis the most critical parameter. Ecommerce events should carry a complete, consistent items array, and each item should include at least one stable identifier such asitem_idoritem_name. For cart, checkout, and purchase analysis, price and quantity are usually needed as well. Currency should be set at the event level where revenue is involved, see our guide toresolving GA4 currency mismatchesfor the format and ISO code requirements.
Implement view_item_list and view_item
Fire view_item_list on category pages, search results, and recommendation carousels. Fire view_item on product detail pages. Both require an items array. view_item_list should include item_list_id and item_list_name.
Implement add_to_cart and remove_from_cart
Fire on user click, not page load. include the full items array with price and quantity. remove_from_cart should fire when a user removes a product from their cart, this enables cart abandonment segmentation.
Implement checkout funnel events
begin_checkout fires on checkout entry, add_shipping_info fires when the user completes the shipping step, add_payment_info fires when payment method is selected. Each passes the full items array.
Implement purchase with full parameters
purchase should include transaction_id, value, currency, and items. Add tax and shipping separately when your reporting setup depends on them. Use transaction_id consistently for deduplication and confirm the event fires once per order.
Validate in GA4 DebugView and explore
Use DebugView to confirm each event fires with the correct parameters. Then build a Funnel exploration to validate the event sequence produces sensible drop-off rates at each step.
Complete ecommerce tracking checklist
- view_item fires on every product detail page
- view_item_list fires on category and search result pages
- add_to_cart fires on user click (not page load)
- remove_from_cart fires when product removed from cart
- begin_checkout fires on all checkout entry points
- add_shipping_info fires on shipping step completion
- add_payment_info fires on payment method selection
- purchase carries transaction_id, value, tax, shipping, currency
- All events carry matching item_id values
- Currency parameter present on all ecommerce events
- Funnel exploration validated against actual order counts
- refund event implemented for order cancellations
Ecommerce audit action plan
Validate
- Confirm view_item fires on every product detail page including variant pages
- Verify add_to_cart fires only on user interaction, not on page load or cart restore
- Check begin_checkout fires on all checkout entry points: standard, express, buy-now
- Confirm add_shipping_info and add_payment_info fire in multi-step checkout flows
- Verify purchase event transaction_id matches your order management system
- Compare GA4 purchase count against backend order count for the last 30 days
- Check all items arrays carry item_id, item_name, price, quantity, and currency
Fix
- Add view_item_list push to category page and search results dataLayer
- Move add_to_cart trigger from page load to click event handler
- Add remove_from_cart dataLayer push to cart page remove button
- Instrument add_shipping_info on shipping form submission in checkout
- Instrument add_payment_info on payment method selection in checkout
- Add transaction_id deduplication to prevent double-counting on page refreshes
- Implement refund event integration with your order management system
Watch for
- A persistent purchase-count gap versus backend order counts after consent, timing, and cancellation differences are accounted for
- begin_checkout count equal to or lower than purchase count (entry not tracked)
- Items array empty or undefined on any ecommerce event
- Currency missing or inconsistent across events (causes currency conversion errors)
- Same transaction_id appearing multiple times in purchase events
Related guides to read next
Tracking Cart Abandonment in GA4
Set up and validate the add_to_cart to purchase funnel for abandonment analysis.
Duplicate Transactions in GA4
Detect and eliminate duplicate purchase events inflating your revenue data.
GA4 Refund Tracking
Implement refund events to keep revenue data accurate after order cancellations.
GA4 Purchase Event Parameters
Complete reference for all required and recommended purchase event parameters.
Review your ecommerce funnel implementation
GA4 Audits helps surface missing funnel steps, weak item payloads, and purchase-validation gaps across GA4 ecommerce tracking.