E-commerce tracking: purchases, revenue, and product performance
Part 8 marked purchase as a key event. This part builds out the complete e-commerce tracking sequence around it — not just the final transaction, but every real step leading to it, which is what makes GA4's Monetization reports genuinely useful rather than a single, isolated revenue number.
The full e-commerce event sequence
view_item → someone views a specific subscription plan page
add_to_cart → adds it to cart
begin_checkout → starts the checkout process
add_payment_info → enters payment details
purchase → completes the transactionEach of these is a real, recommended GA4 event name (part 3), and tracking the entire sequence — not just the final purchase — is what makes real funnel analysis possible at all. Part 12's exploration reports depend directly on having every intermediate step tracked, not only the endpoints.
A real, complete purchase event
Event: purchase
Parameters:
transaction_id: "BLC-10293"
value: 45.00
currency: "USD"
items: [
{
item_id: "BLC-002",
item_name: "Gift Subscription",
item_category: "Subscriptions",
price: 45.00,
quantity: 1
}
]This is the same real structure introduced in part 3, now shown as the final step of the full sequence above — every earlier event in the chain (view_item, add_to_cart) should reference the exact same item_id and item_name values, since that consistency is what lets GA4 connect a specific product's full journey from first view through to completed purchase.
Reading a real product-performance report
Item name Item views Add-to-carts Purchases Revenue
Gift Subscription 820 210 58 $2,610
Ethiopian Light Roast 640 180 71 $1,278
Dark Roast Subscription 510 140 45 $ 810The Gift Subscription converts from view to purchase at a lower rate than Ethiopian Light Roast (7.1% vs. 11.1%) despite similar view volume — a real, specific signal worth investigating directly: is the gift-subscription landing page (the Google Ads series' own message-match guidance covers exactly this kind of gap) genuinely serving that specific intent as well as it could?
Why partial e-commerce tracking produces misleading numbers
Tracking only `purchase`, with no view_item or add_to_cart: total revenue
is accurate, but there's no way to see where potential customers are
actually dropping off before ever reaching that final stepA business tracking only the final purchase event gets a real, accurate total revenue figure — but loses the ability to diagnose why a specific product underperforms, since there's no visibility into whether the problem is insufficient views, a weak add-to-cart rate, or cart abandonment specifically. The full sequence is what turns a single revenue number into an actual, actionable funnel.
Cross-referencing revenue against real ad spend
Google Ads spend on "Gift Subscription" campaign: $340
Gift Subscription revenue attributed to that campaign: $980Part 14 covers linking GA4 directly to Google Ads and Meta Ads reporting — but the real principle is already visible here: e-commerce revenue by itself only becomes a genuine efficiency signal once it's compared against what was actually spent to generate it, the same ROAS calculation the Google Ads series covers directly.
Refunds: a real, honest completeness check
Event: refund
Parameters: transaction_id: "BLC-10293", value: 45.00, currency: "USD"A complete e-commerce implementation tracks refund events too, matched by the same transaction_id — without this, reported revenue stays inflated by transactions that were later reversed, a real accuracy gap easy to overlook until a finance team's own numbers disagree with GA4's.
Implementing only the final purchase event and skipping the earlier funnel steps, because it's the fastest path to a working revenue number. This produces an accurate top-line figure with no diagnostic power behind it at all — the full sequence is what actually makes e-commerce tracking useful for improving performance, not just reporting a final total.
Next: lead generation tracking for a B2B business like GreenDesk, where there's no direct transaction value to measure the same way.