Google Analytics 4 tracks a standard set of ecommerce events once you send them: view_item_list, select_item, view_item, add_to_cart, view_cart, remove_from_cart, begin_checkout, add_shipping_info, add_payment_info, add_to_wishlist, purchase, refund, plus two promotion events (view_promotion, select_promotion). They map the whole browse-to-buy journey. What they never show is the one number that decides whether a sale was worth making: the profit left after product cost, fees, shipping and ad spend.

If you run a store with real orders and real ad spend, you have probably stared at a GA4 funnel and thought: this tells me people are buying, but not whether I am making money. That gap is the whole point of this guide.

Below is the complete list of ecommerce events GA4 can track, what each one actually tells an operator, and where event data stops being useful — the moment you need per-order profit instead of per-event counts.

The full list of GA4 ecommerce events tracked

Unlike page views, GA4's ecommerce events are not automatic. You (or your platform, tag manager, or app) have to send them with item-level detail attached. Google's own ecommerce documentation defines the recommended set, and it splits cleanly into two halves of the funnel.

The browse-and-cart events

These fire before anyone commits money. They tell you how people move from discovery to intent.

  • view_item_list — a shopper sees a list of products (a collection page, a carousel).
  • select_item — they click one product out of that list.
  • view_item — they land on a product detail page.
  • add_to_cart — they add a product to the cart.
  • view_cart — they open the cart to review it.
  • remove_from_cart — they pull an item back out.
  • add_to_wishlist — they save an item for later.
  • view_promotion / select_promotion — they see, then click, an internal banner or offer.

The checkout-and-purchase events

These fire once money is on the line. This is the half most operators actually watch.

  • begin_checkout — checkout starts.
  • add_shipping_info — a delivery option is chosen.
  • add_payment_info — payment details are entered.
  • purchase — the order completes, with revenue and items attached.
  • refund — a full or partial refund is recorded against that transaction.

That is the canonical set. Everything else in a GA4 ecommerce report — conversion rate, add-to-cart rate, checkout completion — is derived from counting these events against sessions.

What each event actually tells an operator

Counting events is easy. Reading them is where the money is. Say you run a print-on-demand apparel store doing 1,000 orders a month at a $40 average order value, with 40,000 sessions. Here is how the events chain together.

Your add_to_cart events show 4,000 add-to-cart sessions. That is a 10% add-to-cart rate (4,000 ÷ 40,000). Your purchase events show 1,000 orders, so your session conversion rate is 2.5% (1,000 ÷ 40,000). Revenue per session is a dollar flat ($40,000 ÷ 40,000) — and notice that equals your conversion rate times your AOV (0.025 × $40), which is why a checkout-rate win and an AOV win stack on each other instead of just adding up.

The begin_checkout-to-purchase drop is the one to obsess over. Say 1,600 shoppers fire begin_checkout and 1,000 fire purchase — that is a 62.5% checkout completion rate, meaning roughly 37% of started checkouts evaporate. On a carts basis the abandonment looks even worse: against 4,000 carts created, a 1,000-order month is 75% abandonment. That is not unusual — the long-run documented average sits at 70.22% across dozens of studies, according to the Baymard Institute. Your GA4 events are how you measure your own version of that number instead of guessing.

For a deeper walk through how these on-site metrics connect, our guide to ecommerce business intelligence lays out the full funnel, and the Shopify data analysis piece shows how to pull the same events out of your store data.

The number GA4 events never show you

Here is the honest limit of every event in that list: GA4 counts revenue, not profit. The purchase event carries your $40 order value. It knows nothing about what that order cost you.

Walk one average order all the way down:

  • Revenue (AOV): $40.00
  • Product cost (blank + print + base fulfillment): −$16.00 → 60% gross margin
  • Shipping: −$5.00
  • Payment processing (4%): −$1.60
  • Pick and pack: −$1.40
  • = Contribution margin before ads: $16.00

Now allocate ad spend. If you run a 4.0 return on ad spend — $40 of revenue for every $10 of ad spend — that order carried $10 of advertising:

  • Contribution margin before ads: $16.00
  • Ad spend allocated: −$10.00
  • = Profit after ads: $6.00

So a GA4 purchase event that proudly reports $40 is, in reality, a $6 order. Your conversion rate can climb, your purchase count can climb, and your actual profit can still fall — because none of those events can see the $34 of cost sitting underneath each sale. A campaign showing a healthy-looking 4.0 ROAS on a thin-margin product can quietly lose money, and the event stream will cheer the whole way down.

Where GA4 events stop and profit starts

GA4 is a genuinely good measurement layer for on-site behavior. Keep it. But event tracking answers "did they buy?" — it was never built to answer "did that sale make money, after the ad that drove it and the supplier who fulfilled it?"

That second question needs three data sources joined together: your store orders, your ad spend across every platform, and your real supplier costs. GA4 holds exactly one of those.

This is the gap PodVector AI closes. Victor is an AI employee who sees every Shopify order, every Meta Ads and Google Ads dollar, and every Printify, Printful and Gelato supplier cost together — so he computes the true per-order profit on each product, not just its revenue. From there Victor acts: he pauses the ad set that is burning money on a thin-margin SKU, shifts budget toward the campaigns that actually clear your break-even ROAS, reprices the products that look fine on revenue but bleed on margin, and builds the Klaviyo flow that wins back the checkouts your begin_checkout-to-purchase drop just exposed. He delivers the profit report to your Google Drive and drafts the customer-support email when a refund event fires.

Victor is not a dashboard you have to read. He works your Shopify, Meta, Google Ads and Klaviyo accounts directly, and he knows your Printify and Printful product costs before the first sale ever lands — so the profit math is right from order one. If you want to see the profit number living underneath your GA4 purchase events, start with PodVector AI.

To go further on turning events into decisions, compare the options in our rundown of the best tools for ecommerce analytics dashboards, see how a live view comes together in the Shopify sales dashboard setup guide, and tie it all to outcomes with ecommerce performance analytics.

FAQs

Which GA4 ecommerce events are tracked automatically?

None of the item-level ecommerce events fire on their own. GA4 automatically collects basic events like page_view and session_start, but every ecommerce event — view_item, add_to_cart, begin_checkout, purchase and the rest — has to be sent to GA4 with product and transaction details attached. Most Shopify setups or a tag manager handle that wiring for you, but it is a setup step, not a default.

What is the difference between the purchase event and actual profit?

The purchase event records the transaction and its revenue — your $40 order, the items in it, the order ID. It carries no cost data at all. Profit is what is left after product cost, shipping, payment fees, fulfillment labor and the ad spend that drove the sale. On the example above, a $40 purchase event is really $6 of profit once every cost is subtracted. GA4 shows the first number; your margin math has to supply the second.

Do I need all of these events, or just purchase?

Track the full checkout chain at minimum: begin_checkout, add_shipping_info, add_payment_info and purchase. That is what lets you measure where checkouts die instead of only counting the ones that finished. The browse events (view_item, add_to_cart) matter for diagnosing whether your problem is traffic, product pages, or the cart itself. Promotion and refund events are worth adding once the core funnel is solid.

Can GA4 tell me which products are actually profitable?

Not by itself. GA4 ranks products by revenue and quantity, which is useful, but a high-revenue product can be your worst margin earner once supplier cost and ad spend are counted. Answering "which products make money" means joining order data, ad spend and supplier costs — three sources GA4 does not hold together. That cross-source profit view is what Victor computes for POD sellers, pulling Shopify, Meta Ads, Google Ads and your Printify, Printful or Gelato costs into one true per-order number.

Is cart abandonment a GA4 event?

There is no single "abandonment" event. You derive abandonment from the events you do have: carts created or begin_checkout counts against completed purchase counts. If 4,000 carts produce 1,000 orders, that is 75% cart abandonment — in line with the roughly 70% long-run average documented by the Baymard Institute. The events give you the raw counts; the abandonment rate is yours to calculate and act on.