What does a complete GA4 e-commerce setup require in 2026?
A production-ready GA4 e-commerce setup requires five components working correctly together: (1) property configuration (data retention 14 months, correct currency, key events set), (2) the full GA4 e-commerce event sequence (view_item through purchase, with correctly structured items arrays), (3) data integrity validation (no duplicate transactions, no (not set) in item fields, purchase event fires on confirmation page only), (4) cross-channel attribution (Google Ads linked, auto-tagging enabled, UTM conventions consistent), and (5) revenue reconciliation (GA4 revenue within ±5–10% of platform revenue). Most partial implementations get the purchase event firing but fail on items array integrity, duplicate prevention, or attribution — leaving significant analytical gaps.
Phase 1 — Property configuration
✅ Data retention: 14 months
Admin → Data Settings → Data Retention → Event data retention → 14 months Default is 2 months. Changing this is the single most impactful 30-second GA4 configuration task.
✅ Currency matches business reporting currency
Admin → Property Settings → Currency → verify matches your platform's reporting currency (GBP, USD, EUR, etc.) Mismatch means GA4 revenue figures are denominated in the wrong currency — a silent error that causes major confusion in financial reporting.
✅ Timezone matches business timezone
Admin → Property Settings → Reporting time zone → verify Day-boundary mismatches shift revenue between days in reporting.
✅ Internal traffic filter configured
Admin → Data Streams → Web → More tagging settings → Define internal traffic → add office and agency IP ranges Internal sessions inflate session counts and distort conversion rates.
✅ Unwanted referral exclusions configured
Admin → Data Streams → Web → More tagging settings → Configure your domains → list payment gateway and third-party checkout domains Payment processors (Stripe, PayPal, Klarna, etc.) create referral sessions that fragment attribution and misattribute purchases. Add them to the referral exclusion list.
✅ Cross-domain tracking configured (if applicable)
Admin → Data Streams → Web → More tagging settings → Configure your domains → add all domains For sites with separate cart/checkout subdomains (e.g., checkout.yourdomain.com) or third-party checkout pages on different domains.
✅ Google Ads linked
Admin → Google Ads Links → verify your Google Ads account is linked Required for audience publishing, auto-tagging, and conversion import.
✅ Auto-tagging enabled in Google Ads
Google Ads → Settings → Account settings → Auto-tagging → ON Without auto-tagging, Google Ads traffic shows as Direct in GA4 and conversion attribution is broken.
Phase 2 — E-commerce event implementation
The required GA4 e-commerce events
Implement in order of the purchase funnel:
| Event | Trigger | Priority |
|---|---|---|
view_item_list | Product listing/category page load | Medium |
view_item | Individual product page load | High |
add_to_cart | Add to cart button click (successful) | Critical |
remove_from_cart | Remove from cart action | Medium |
view_cart | Cart page/drawer view | Medium |
begin_checkout | Checkout initiated | Critical |
add_shipping_info | Shipping method selected | Medium |
add_payment_info | Payment method selected | Medium |
purchase | Order confirmation page load (after server confirms order) | Critical |
refund | Refund processed (server-side via Measurement Protocol) | High |
✅ purchase event structure
The purchase event is the most important and most frequently misconfigured:
✅ Items array integrity check
Want to see whether purchase, revenue, or item-level tracking is drifting in your property?
The items array is the most common source of GA4 e-commerce data quality failures. Check all of the following are populated and not (not set):
item_id— every item must have a non-empty stringitem_name— every item must have a non-empty stringprice— must be a number (not a string like"49.99")quantity— must be an integer ≥ 1currency— must match the event-level currency
How to check: GA4 → Reports → Monetisation → E-commerce Purchases → look for (not set) in Item name or Item ID columns. Any (not set) here indicates an items array integrity problem.
✅ transaction_id uniqueness check
Every purchase event must have a unique transaction_id. Duplicate transaction IDs are the most common cause of revenue over-reporting.
Common causes of duplicates:
- User refreshes the order confirmation page
- Browser back button after purchase
- Order confirmation page accessible via direct URL
- GTM firing the purchase tag on page load AND on a custom event
Duplicate prevention (server-side deduplication):
How to detect existing duplicates: In BigQuery:
Phase 3 — Key events and conversion import
✅ purchase marked as a GA4 key event
Admin → Events → find purchase → toggle Key event ON
✅ GA4 purchase imported to Google Ads
Google Ads → Tools → Conversions → Import → Google Analytics 4 → select purchase Set: conversion value = use value from each conversion, count = one per click (or per conversion for purchase), attribution = data-driven (or last click if under 300 monthly conversions)
✅ Smart Bidding conversion window aligned
GA4 default conversion window in Google Ads is 30 days post-click. For high-consideration purchases (furniture, travel, B2B), extend to 60 or 90 days.
Phase 4 — Revenue reconciliation
Compare GA4 revenue to your e-commerce platform (Shopify, WooCommerce, Magento, etc.) for the same calendar period.
✅ Revenue variance check
| Variance | Likely cause |
|---|---|
| 0–5% | Expected — consent mode, timing differences, currency rounding |
| 5–10% | Minor tracking gap — check for consent rejection rate, mobile app gaps |
| 10–20% | Material tracking gap — likely missing purchase events on specific device/browser |
| >20% | Significant issue — duplicate events, missing confirmation page coverage, or wrong currency |
| GA4 > Platform by >5% | Duplicate transactions or refunds not being tracked |
✅ Platform revenue reconciliation steps
- Export GA4 revenue: Reports → Monetisation → Overview → set date to last full calendar month → note total revenue
- Export platform revenue: Shopify/WooCommerce admin → set same date range → export total revenue (excluding draft/pending orders — count only fulfilled/paid orders)
- Calculate variance: (GA4 revenue - Platform revenue) / Platform revenue × 100
- Acceptable range: ±5–10%
Phase 5 — Ongoing validation
✅ Weekly e-commerce health check (5 minutes)
Every Monday, check:
- GA4 transactions vs platform transactions for the prior week (count only, not revenue) — variance >10% triggers investigation
- Any
(not set)appearing in item_id or item_name reports - Session count trend — unexplained 2x spike may indicate bot traffic inflating sessions without improving revenue
FAQ: GA4 for E-commerce: The Complete 2026 Setup Checklist
What is the first thing to verify when ga4 for e-commerce: the complete 2026 setup checklist affects revenue?
Should I compare GA4 only to the ecommerce platform total?
How do I keep this from breaking after the next release?
Related guides for GA4 for E-commerce: The Complete 2026 Setup Checklist
Shopify GA4 Setup: Web Pixel vs theme.liquid in 2026
The 2026 best practice for Shopify GA4 is Web Pixel via Customer Events API — Shopify's sandboxed pixel system that runs GA4 in isolation, supports the Customer Privacy API for consent, fires standard e-commerce events automatically, and works on all Shopify plans (including Basic)…
Item Array Integrity: What Stops Items Reporting in GA4 (2026)
Items fail to appear in GA4 e-commerce reports when the items array is missing, malformed, or inconsistent across the funnel. Eight common bugs: (1) missing item_id (the only required field — items without it are dropped), (2) item_id mismatched between view_item and purchase (same product reports as different items)…
Audit GA4 for E-commerce: The Complete 2026 Setup Checklist before revenue reporting drifts further
Run a free GA4 audit to catch purchase, refund, item-array, and attribution issues before they distort ecommerce decision-making.