You have an online store. People visit. Some of them buy. Google Analytics tells you how many visitors you had and how much revenue you made. But what happened in between?
How many people viewed a specific product? How many added it to their cart? How many started checkout? How many made it to the payment step? Where exactly did they drop off?
That’s what enhanced ecommerce tracking answers.
Enhanced Ecommerce: The Basics
Enhanced ecommerce is a set of standardized tracking events that capture every step of the shopping journey — from viewing a product to completing a purchase. Instead of just knowing “someone visited and someone bought,” you get a detailed map of the entire funnel.
The term “enhanced ecommerce” originally came from Universal Analytics (the old version of Google Analytics). In GA4, it’s just called “ecommerce tracking,” but people still use the old name. The concept is the same: track granular shopping interactions, not just page views and purchases.
The GA4 Ecommerce Funnel
GA4’s ecommerce tracking follows a customer through these events:
| Event | What It Means | Why It Matters |
|---|---|---|
view_item_list | User saw a collection or search results page | Which product listings get attention |
select_item | User clicked on a product from a list | Which products attract clicks |
view_item | User viewed a product detail page | Which products get viewed most |
add_to_cart | User added a product to their cart | Where intent becomes action |
remove_from_cart | User removed something from their cart | What’s being reconsidered |
view_cart | User viewed their cart | Pre-checkout engagement |
begin_checkout | User started the checkout process | How many intenders reach checkout |
add_shipping_info | User entered shipping details | Checkout step completion |
add_payment_info | User entered payment details | Final pre-purchase step |
purchase | User completed the purchase | Revenue, transaction data |
Each event carries detailed parameters: product names, IDs, categories, prices, quantities, and transaction totals. This gives you the data to answer questions like:
- “Which products get viewed the most but purchased the least?”
- “Where do most people drop off in the checkout flow?”
- “What’s the average cart size for customers who view more than 3 products?”
What You Get Without Ecommerce Tracking
If you have GA4 installed but haven’t set up ecommerce events, you see:
- Total page views (including product pages, but not labeled as product views)
- Traffic sources (Google, social, direct, etc.)
- Basic engagement metrics (session duration, pages per session)
- Whatever events Enhanced Measurement captures automatically (scrolls, outbound clicks, file downloads)
You don’t see:
- Revenue by channel or campaign
- Add-to-cart rates
- Checkout funnel drop-off analysis
- Product performance reports
- Purchase conversion rates by traffic source
In other words, GA4 without ecommerce tracking tells you people visited. GA4 with ecommerce tracking tells you what they did while they were there.
How Ecommerce Data Flows Into GA4
The ecommerce events don’t appear magically. Someone has to configure them. Here’s the flow:
- Your website’s code pushes an event to the data layer when a shopping interaction happens (product viewed, added to cart, purchased)
- Google Tag Manager listens for these data layer pushes
- GTM fires a GA4 event tag that sends the ecommerce data to GA4
- GA4 populates your ecommerce reports with the data
The key part: your website needs to push structured data to the data layer. GA4 expects specific event names and specific parameter structures. If the data doesn’t match Google’s expected format, GA4 won’t populate the ecommerce reports.
For the complete setup walkthrough, see our GA4 ecommerce tracking setup guide.
What Each Event Looks Like
Here’s a real example of what your website needs to push when someone adds a product to their cart:
window.dataLayer.push({ ecommerce: null });
window.dataLayer.push({
event: 'add_to_cart',
ecommerce: {
currency: 'USD',
value: 59.99,
items: [{
item_id: 'SKU-2849',
item_name: 'Premium Yoga Mat',
item_brand: 'FlowFit',
item_category: 'Fitness',
item_category2: 'Yoga',
price: 59.99,
quantity: 1
}]
}
});
And here’s the purchase event:
window.dataLayer.push({ ecommerce: null });
window.dataLayer.push({
event: 'purchase',
ecommerce: {
transaction_id: 'T-12345',
value: 125.98,
tax: 10.08,
shipping: 5.99,
currency: 'USD',
items: [{
item_id: 'SKU-2849',
item_name: 'Premium Yoga Mat',
price: 59.99,
quantity: 2
}]
}
});
Notice the ecommerce: null push before each event. This clears any previous ecommerce data from the data layer to prevent it from bleeding into the next event. It’s a small detail that causes big headaches when missing.
Platform-Specific Setup
Shopify
Shopify doesn’t natively push GA4 ecommerce events to a data layer. You have three options:
- Shopify’s built-in GA4 integration — Handles basic page_view and purchase events. Misses add_to_cart, begin_checkout, and most mid-funnel events.
- A third-party app (like Elevar or Analyzify) — Pushes the full set of ecommerce events. Costs $100-300/month.
- Custom implementation — Build it yourself with Shopify’s Web Pixels API and custom Liquid theme code. Free, but requires development time.
Most Shopify stores that are serious about analytics use option 2 or 3. The built-in integration leaves too many gaps.
WooCommerce
WooCommerce has better plugin support for GA4 ecommerce. Plugins like GTM4WP or MonsterInsights automatically push the full ecommerce event set to the data layer. Configure the plugin, set up your GTM tags, and the data flows.
Custom Platforms
If you’re running a custom e-commerce platform, your development team needs to add dataLayer.push() calls at each step of the shopping journey. Follow Google’s recommended ecommerce event structure exactly.
What You Can Do With Ecommerce Data
Once ecommerce tracking is working, GA4 unlocks reports you can’t get any other way:
Funnel Analysis
Build a checkout funnel in GA4’s Explore section:
view_itemtoadd_to_cart: What percentage of product viewers add to cart?add_to_carttobegin_checkout: How many cart additions lead to checkout?begin_checkouttopurchase: Where in checkout do people abandon?
If 1,000 people view a product, 200 add to cart, 100 start checkout, and 60 buy, you know your biggest drop-off is between view and add-to-cart. That tells you to focus on product page optimization, not checkout optimization.
Revenue Attribution
GA4 can tell you which traffic sources drive the most revenue:
- Organic search: $15,000
- Google Ads: $12,000
- Meta Ads: $8,000
- Email: $6,000
- Direct: $4,000
Without ecommerce tracking, you only know which sources drive the most sessions. With it, you know which ones drive the most money. Those are often very different answers.
Product Performance
See which products get viewed, added to cart, and purchased most often. Calculate add-to-cart rates and purchase rates per product. Identify products that get lots of views but few purchases (potential pricing or description issues).
Checkout Optimization
GA4’s funnel reports show exactly where customers abandon checkout. If a spike in drop-offs happens at the shipping information step, maybe your shipping costs are surprising people. If it happens at payment, maybe you’re missing a preferred payment method.
Use our GA4 funnel reports guide to build these analyses.
Common Mistakes
Only Tracking Purchases
Many stores set up the purchase event but skip everything else. This means you can see revenue but can’t diagnose why revenue goes up or down. Without the mid-funnel events, you have no visibility into what’s happening before the sale.
Wrong Currency or Value Format
GA4 expects the value parameter as a number, not a string. Sending "59.99" instead of 59.99 can cause issues. Currency must be a valid ISO 4217 code (USD, EUR, GBP).
Missing Transaction ID
Every purchase event needs a unique transaction_id. Without it, GA4 can’t deduplicate purchases if the event fires twice (which happens more often than you’d think — page refreshes on the confirmation page, back-button navigation).
Not Clearing the Ecommerce Object
The dataLayer.push({ ecommerce: null }) before each ecommerce event is essential. Without it, ecommerce data from a previous event can persist in the data layer and contaminate the next event. A view_item event might carry products from a previous view_item_list push.
Assuming It Works Without Testing
The most dangerous mistake. Ecommerce tracking is complex, and many implementations look correct in GTM but send wrong or incomplete data to GA4. Always test with GA4 DebugView and verify that the data appears in your ecommerce reports.
Check our GA4 events reference to verify your implementation matches Google’s expected schema.
The Bottom Line
Enhanced ecommerce tracking transforms GA4 from a traffic counter into a revenue intelligence tool. Without it, you know how many people visited. With it, you know what they browsed, what they considered, where they dropped off, and what they bought — broken down by traffic source, campaign, and device.
If you’re running an online store without ecommerce tracking in GA4, you’re making marketing decisions with incomplete data. And you probably don’t know how incomplete it is.
Want to find out what’s missing? Run a free scan — we check your ecommerce tracking setup and tell you exactly which events are firing, which are missing, and which are misconfigured.