Back to blog
|8 min read

Tracking Cart Abandonment in GA4: Setup and Validation

Cart abandonment analysis is one of the highest value reports in e commerce analytics. But it only works if the underlying events, add_to_cart, begin_checkout, purchase, are firing correctly and consistently. A gap in any one of them makes the funnel unreliable.

The three events that power cart abandonment analysis

  • add_to_cart: fires when a user adds a product to their cart. It should include the items array with the specific product added. A common mistake is firing it on page load rather than on the button click, this inflates add to cart counts and makes abandonment rates look better than they are.
  • begin_checkout: fires when the user proceeds from cart to the checkout flow. It should also include the full items array so GA4 can show which products are in the checkout funnel. Missing this event means your funnel starts at "purchase" with no visibility into checkout initiation.
  • purchase: is the funnel endpoint. The items array here should match what was in begin_checkout, products that were in the cart when checkout started. Discrepancies between items at begin_checkout and purchase indicate items being removed during checkout, which is worth tracking explicitly.

Building the funnel exploration in GA4

In GA4, go to Explore → Funnel exploration. Create a new funnel with these steps: (1) add_to_cart, (2) begin_checkout, (3) purchase. Set the funnel type to "Open" to include users who enter at any step.

Enable "Elapsed time" to see how long abandonment takes, a spike in 24-hour abandonment suggests users are price checking before returning.

The abandonment rate between add_to_cart and begin_checkout typically reveals UX issues with the cart page itself.

The rate between begin_checkout and purchase reveals friction in the checkout flow, shipping costs, payment options, required account creation.

Common validation failures

The most frequent issue: add_to_cart fires correctly but begin_checkout is missing or fires on a different step than expected. This makes the cart to checkout abandonment rate appear 100%, which is obviously wrong.

Verify in DebugView by adding an item and clicking through to checkout, confirm each event appears in sequence.

Also check that events fire consistently across device types. Mobile checkout flows are often different from desktop, the add_to_cart GTM trigger may not fire on the mobile cart page if the button HTML differs.

A GA4 audit will crawl multiple device contexts and surface coverage gaps automatically.

Ready to audit your GA4 property?

Run a full GA4 audit in under 10 minutes. Free to start.

Start Free Audit