What changed in GA4, how to set it up for an online store, which eCommerce events to track, and how to read the funnel once data is flowing.
On this page
Google Analytics 4 replaced Universal Analytics with a different way of thinking about data. Not a redesign, a different model. If you run an online store and GA4 still feels like a worse version of what you had before, it is usually because the setup carried over the old assumptions.
This guide covers the whole thing in one place: what actually changed, how to set GA4 up for a store, which eCommerce events are worth tracking, and how to read the funnel once data is flowing.
What Actually Changed
Universal Analytics organised everything around sessions. A visit began, things happened inside it, the visit ended. GA4 organises everything around events instead. A page view is an event. A scroll is an event. A purchase is an event. They sit in one stream rather than being bundled into a session container.
That shift is the reason familiar reports moved or disappeared. It also has practical consequences worth knowing before you start:
- Cross-platform tracking. Web and app data land in the same property, so a customer who browses on mobile and buys on desktop is one user rather than two.
- Flexible reporting. Explorations let you build your own funnels and path reports instead of choosing from fixed templates.
- Machine learning built in. GA4 will estimate purchase probability and predicted revenue for audience segments once it has enough data.
- Privacy by design. GA4 was built for a world with less cookie data, which is why modelling plays a bigger role than it used to.
Setting GA4 Up For An Online Store
The base install is straightforward. The part people skip is the eCommerce configuration, which is where the value actually is.
- Create the property and data stream. One property per business, one stream per platform. Note the Measurement ID.
- Install the tag. Google Tag Manager is worth the extra step on a store, because you will be adding and adjusting events regularly and you do not want a developer in the loop each time.
- Turn on enhanced measurement. This captures scrolls, outbound clicks, site search and file downloads without custom work.
- Configure eCommerce events. This is the step that matters and the one most commonly left half done. See the next section.
- Mark conversions. Purchase is obvious. Depending on the business, add-to-cart or begin_checkout are often worth marking too.
- Link Google Ads and Search Console if you use them, so acquisition data resolves properly rather than collapsing into “unassigned”.
The eCommerce Events Worth Tracking
GA4 has a recommended set of eCommerce events. You do not need all of them, but the shopping sequence is worth implementing completely, because a gap anywhere in it breaks funnel reporting downstream.
- view_item. Which products get attention, and which never get seen at all.
- add_to_cart. Intent. The ratio of this to view_item tells you whether product pages are persuading anyone.
- begin_checkout. The point where hesitation becomes visible.
- add_payment_info and add_shipping_info. The steps where checkout abandonment concentrates.
- purchase. With transaction ID, value, currency and items, or your revenue reporting will not reconcile with the store.
Send the item array with every one of these, not just purchase. Without it, product-level reporting stays empty and you lose the ability to ask which products fail at which stage.
Reading The Funnel
An eCommerce funnel is usually described in three stages: awareness, where someone finds you, consideration, where they browse and compare, and conversion, where they buy. GA4’s value is showing you where people leave, not just how many arrive.
Build a funnel exploration using the events above in sequence. What you are looking for is the largest single drop, because that is where a fix pays back most:
- Heavy drop between view_item and add_to_cart. Usually a product page problem: unclear pricing, thin imagery, missing specifications, no stock signal.
- Heavy drop between add_to_cart and begin_checkout. Often shipping cost revealed too late, or a cart that is easy to leave and hard to return to.
- Heavy drop inside checkout. Forced account creation, too many fields, or a payment method your customers expect and you do not offer.
Segment before you conclude anything. Mobile and desktop usually behave differently enough that a combined number hides the problem rather than showing it.
Predictive Metrics And Audiences
Once GA4 has enough history, it will estimate purchase probability and churn probability for users, and predicted revenue for audiences. These are useful for building remarketing segments that are not just “everyone who visited”.
They are estimates, and they need volume before they mean anything. Treat them as a prioritisation aid rather than a fact.
Common Setup Mistakes
- Purchase firing more than once on refresh or on a thank-you page that can be revisited. Deduplicate on transaction ID.
- Internal traffic not filtered, so your own team’s browsing distorts small-store data.
- Payment gateway redirects breaking attribution, so conversions credit your own domain as the referrer. Add the gateway to the referral exclusion list.
- Currency missing or inconsistent, which quietly corrupts revenue reporting in multi-currency stores.
- Data retention left at the default. Extend it to 14 months if you want year-on-year comparison.
Where To Start
If GA4 is already installed but you do not trust the numbers, start by auditing the eCommerce events rather than rebuilding anything. In most stores the tag is fine and the event layer is incomplete.
If you would rather not do this yourself, we set GA4 up properly as part of our Shopify and Magento work, and it is usually the first thing we look at during a conversion rate optimisation engagement. Reliable data comes before optimisation, not after it.
Frequently Asked Questions
Answers to the questions we hear most often.
Can we still run GA4 alongside a Universal Analytics property?
No, that option has gone. Standard Universal Analytics properties stopped processing new data on 1 July 2023, and Google began deleting Universal Analytics data from 1 July 2024, so there is no historical property left to run in parallel or export from. Any setup guide describing a transition period where both collect data simultaneously predates that shutdown. If you never exported your Universal Analytics history before deletion, it is gone, and GA4 history begins from whenever your property was created.
Where is the Enhanced Ecommerce setting in Data Streams?
There isn't one, and this is the most common error in GA4 setup guides. Enhanced Ecommerce belonged to Universal Analytics. In GA4 there is no admin toggle that turns ecommerce tracking on. Reports populate only when your site sends the reserved events, principally view_item, add_to_cart, begin_checkout and purchase, each with a properly structured items array. If you have followed a guide to a settings screen that does not exist, the tagging work is still ahead of you rather than behind you.
Is it still called the Global Site Tag?
It is now the Google tag, and the naming changed along with how it works. A single Google tag can serve GA4 and Google Ads, configured through the tag settings rather than by pasting several separate snippets. Functionally gtag.js is still the underlying library, so old instructions are not wrong so much as outdated in vocabulary. Place it in the head of every page, or install it through your platform integration or Tag Manager, and verify with Realtime that it is actually firing sitewide.
Should we install GA4 with a plugin, Tag Manager, or hardcoded?
For most stores, start with the platform's native GA4 integration if it is well maintained, since its ecommerce events are usually more reliable than a hand built container and survive theme updates. Add Google Tag Manager when you need custom events, extra parameters, consent handling or third party tags managed without a developer release. Hardcoding is the least maintainable option. Whatever you choose, make sure only one system sends each ecommerce event, because duplicate purchase events are the most common cause of inflated revenue.
What must the purchase event contain to be correct?
At minimum a unique transaction_id, the order value, the currency code, and an items array where each entry carries item_id, item_name, price and quantity. Adding tax, shipping and coupon improves reporting accuracy. The transaction_id matters most, because GA4 uses it to deduplicate, which protects you when a confirmation page is refreshed or two tracking systems both fire. Verify all of this on a real test order in DebugView rather than trusting that the integration is doing it correctly.
Do we need Consent Mode?
If you have visitors in the EEA or the UK, yes. Since March 2024 Google has required Consent Mode v2 signals for advertisers using Google's audience and remarketing features with traffic from those regions, and your consent banner must transmit the ad_storage, analytics_storage, ad_user_data and ad_personalization parameters. Implemented properly, Consent Mode still allows modelled reporting when users decline. Implemented incorrectly, you lose both the data and the ability to build audiences, so test it explicitly rather than assuming your banner handles it.
What are the first settings to change after creating a property?
Data retention, from the default two months to 14 months, which is the maximum on standard properties and is not applied retroactively. Then link the BigQuery export, also not retroactive, so every day of delay costs history permanently. Then set your reporting time zone and currency correctly, because changing them later does not restate past data. Then define internal traffic filters so your own team's sessions are excluded. Four settings, ten minutes, and they are the ones most properties never get right.
How do we verify the setup actually works?
Complete a real end to end test purchase with DebugView open. Watch view_item, add_to_cart, begin_checkout and purchase appear in order, then open the purchase event and inspect its parameters and items array. Repeat the whole exercise on a mobile device, since mobile checkout often uses a different template and breaks separately. Finally check that the event fired once, not twice. Fifteen minutes of this prevents a quarter of decisions made against wrong numbers, which is the actual cost of a bad setup.
Which events should we mark as key events?
Only the ones you would act on, which for most stores means purchase and perhaps begin_checkout or a lead form submission. Note that GA4 renamed conversions to key events in March 2024, so older guides describe marking conversions instead. The temptation is to mark ten events so the dashboard looks busy, but every additional key event dilutes the reports where it matters and makes channel comparison meaningless. A store with one clear key event has better reporting than one with eight.
Should we exclude internal and developer traffic?
Yes, and it is frequently skipped. Define internal traffic by IP in the data stream settings, then activate the corresponding data filter, which starts in testing mode and must be switched to active to actually exclude anything. Leaving it in testing mode is a common oversight. On a lower traffic store, staff and agency sessions can distort engagement and conversion figures noticeably, and developer test orders will quietly inflate revenue unless they are filtered or use a separate test property.
Do we need a separate property for testing?
A separate test data stream or property is worth having if you deploy frequently or work with an agency, because it lets you validate tagging changes without polluting production data. The lighter alternative, adequate for smaller teams, is DebugView combined with strict internal traffic filtering, since DebugView isolates your own session while you test. What you should avoid is running experiments directly against production with no filtering, then trying to identify and exclude the noise afterwards. Whichever route you take, decide it before launch, because retrofitting a clean test environment onto a property already full of mixed data is considerably more work.
How long until GA4 data is usable?
Realtime and DebugView show events immediately, which is what you use to verify the setup. Standard reports typically populate within 24 to 48 hours, so do not conclude the installation failed on day one. Meaningful analysis needs enough volume to see patterns rather than noise, which for most stores means a few weeks. Predictive features need far more, requiring at least 1,000 returning users who triggered the condition and 1,000 who did not within the qualifying window. Set expectations with stakeholders on day one, since the most common cause of teams abandoning GA4 is judging it during the window when it is still filling up.