Why setup quality matters
Many stores have analytics that look fine but quietly mislead: purchases counted twice, revenue missing refunds, checkout steps not tracked or consent settings blocking half the data. Decisions on ad spend, site changes and merchandising then rest on shaky numbers. A careful setup is cheap compared to that.
The events to implement
GA4 defines recommended ecommerce events. Using the standard names and parameters unlocks built-in reports.
| Event | When it fires | Key data |
|---|---|---|
| view_item_list | A product list or category is displayed | Items, list name |
| select_item | A product is clicked in a list | Item, list |
| view_item | A product page is viewed | Item details, value |
| add_to_cart | An item is added | Item, quantity, value |
| remove_from_cart | An item is removed | Item, quantity |
| view_cart | The cart is viewed | Items, value |
| begin_checkout | Checkout starts | Items, value, coupon |
| add_shipping_info | Shipping step is completed | Shipping tier |
| add_payment_info | Payment step is completed | Payment type |
| purchase | Order is completed | Transaction ID, value, tax, shipping, currency, items |
| refund | Order is refunded | Transaction ID, value or items |
| search | Site search used | Search term |
Check Google’s current documentation for exact parameter names.
Item parameters
Define a consistent item object: item_id, item_name, price, quantity, item_brand, item_category levels, item_variant, and optional list information. Use the same identifier across your catalog, feed and analytics so reports connect. Decide whether item_id is the product or variant SKU and stick to it.
Implementation options
- Native platform integrations. Platforms such as Shopify provide built-in or app-based connections that send standard events. They are quick, but verify what they send and when.
- Google Tag Manager with a data layer. The site pushes structured ecommerce data to a data layer, and tags send it to GA4. This offers flexibility and keeps tracking code out of templates.
- Server-side tagging. It can improve control and resilience, but adds infrastructure and complexity. Consider after the basics are solid.
- Measurement Protocol. Useful for sending server events like refunds or offline conversions.
Whichever you choose, document the specification: events, parameters, triggers and owners.
Prevent common data problems
- Duplicate purchases. Refreshing the confirmation page can refire the event. Use the transaction ID, and fire once per order, with GA4’s deduplication as a safety net rather than the plan.
- Wrong revenue. Decide whether value includes tax and shipping and apply it consistently. Include currency.
- Missing refunds. Send refund events, or reconcile outside analytics.
- Cross-domain checkout. If checkout is on another domain, configure cross-domain measurement so sessions are not broken and sources are not attributed to your payment provider.
- Self-referrals and payment gateway referrals. Exclude them from referral sources.
- Internal traffic. Filter staff and developers.
Consent
Privacy laws and platform requirements affect measurement. Configure your consent banner and consent mode so that analytics and advertising tags respect user choices. Understand that some data will be modeled or missing when users decline. See the cookie consent article for design and legal context.
Connect to advertising and search
Link GA4 with Google Ads, Search Console and, where relevant, Merchant Center. Mark purchase as a key event so it can be used for bidding, and consider importing it to ad platforms. Make sure other platforms such as Meta have their own correctly configured tracking, since each reports differently.
QA checklist
- Test each event in GA4 DebugView and Tag Assistant.
- Place real test orders, using different payment methods, discounts and shipping options.
- Compare transaction counts and revenue in GA4 with your store for a week, and explain the difference. Small gaps are normal, large ones are a bug.
- Check item data across the funnel.
- Verify refunds and cancellations.
- Test with consent denied and granted.
- Test on mobile and in different browsers.
Reports to build
Build funnel explorations from view_item to purchase, product performance, source and campaign revenue and site search reports. Share a small set of dashboards with the team and agree on definitions.
Maintain it
Retest after theme changes, checkout updates and app installs, which often break tracking silently. Schedule a quarterly audit.
FAQ
What are the essential GA4 ecommerce events?
At minimum view_item, add_to_cart, begin_checkout and purchase, ideally with the full set for funnel and list analysis.
Why does GA4 revenue not match my store?
Common causes include consent-blocked data, ad blockers, duplicate or missing events, different treatment of tax and shipping, refunds and timing. Reconcile regularly.
Should I use Google Tag Manager?
It is a popular choice because it separates tracking from site code, but native integrations may suffice for simple stores.
Do I need server-side tracking?
Not at first. It can improve data quality and control but adds complexity, so get the basics right before moving.
Sources and further guidance
Platform features and requirements change. Check the linked primary documentation for your implementation.
TURN INSIGHT INTO ACTION
Let’s talk about your next step.
Share your workflow, your current systems and what you want to improve. We’ll help shape a practical way forward.
Discuss your project ↗