Guide · Analytics

28 min read · Updated 2026

Google Analytics 4: the complete guide for ecommerce brands.

Everything you need to understand, implement, and operate GA4 properly. Written for ecommerce teams who care about clean data and accurate revenue reporting, by an agency that does this work every day.

Start readingGet in touch

What is Google Analytics 4?

Google Analytics 4, almost always shortened to GA4, is Google's current generation of web and app analytics. It replaced Universal Analytics in July 2023 and is now the only version of Google Analytics still collecting data.

GA4 is built on a fundamentally different data model than its predecessor. Where Universal Analytics tracked sessions, pageviews, and a small number of fixed event types, GA4 treats everything as an event. A page load is an event. A button click is an event. A purchase is an event. Every event carries a flexible set of parameters, which makes the platform far more adaptable to how modern websites and apps actually work.

For ecommerce brands, GA4 is the foundation of revenue measurement, customer journey analysis, and paid media optimisation. Done well, it gives you a single source of truth for where revenue comes from, what customers do on your site, and which marketing investments are paying back.

Why GA4 replaced Universal Analytics

Universal Analytics launched in 2012. It was designed for a web that no longer exists: cookie-friendly, single-device, browser-dominated, and with consumers who had not yet been trained to expect privacy controls. By the late 2010s, every assumption underneath UA had broken.

  • Cookies were collapsing. Safari and Firefox aggressively restricted third-party cookies. iOS introduced Intelligent Tracking Prevention. Apple's App Tracking Transparency reframed mobile entirely.
  • The customer journey was multi-device. A user might browse on a phone, research on a tablet, and buy on a laptop. UA could not stitch these together without heavy custom work.
  • Privacy regulation arrived. GDPR, CCPA, and a wave of follow-on regulation made legal teams uncomfortable with the way UA handled IP addresses and identifiers.
  • The session was no longer a useful unit. Modern apps and progressive web experiences do not work in clean sessions, and UA's session-based model produced misleading numbers.

Google announced GA4 (originally called "App + Web") in 2019, made it the default in 2020, and switched off UA for standard properties on 1 July 2023. UA 360 properties were given an extra year. All historical UA data was permanently deleted on 1 July 2024.

Worth knowing

If your historical UA data was not exported to BigQuery or a data warehouse before 1 July 2024, it is gone. We see brands every month who only realise this when they try to pull a year-on-year comparison and find that 2022 simply does not exist.

UA vs GA4: the key differences

If you came from Universal Analytics, GA4 will feel disorienting at first. The interface, terminology, and even basic concepts like "bounce rate" have changed. The table below covers the differences that matter most for ecommerce reporting and analysis.

Concept
Universal Analytics
GA4
Core unit of data
Hits (pageviews, events, transactions, social, timing).
Events. Everything is an event with parameters.
Sessions
Defined by 30-minute inactivity timeout, with campaign-based session restarts.
Defined by a session_start event, no campaign-based restarts. Sessions can span midnight.
Identifiers
Client ID and User ID (when set).
Client ID, User ID, Google Signals (when consented), and modelled identity.
Custom dimensions
Hit, session, user or product scope, set up at property level.
Event-scoped (parameters), user-scoped (user properties), or item-scoped.
Reports interface
Pre-built report tree with dozens of standard reports.
Slimmer pre-built reports plus Explorations for custom analysis.
Bounce rate
Single-page sessions divided by total sessions.
Replaced by engagement rate. Bounce rate is the inverse of engagement rate.
Goals
Up to 20 goals per view, configured manually.
Replaced by conversions and now key events. Up to 30 per property.
Sampling
Heavy sampling at 500k sessions in standard reports.
Standard reports are unsampled. Explorations sample at 10M events.
Ecommerce model
Standard Ecommerce or Enhanced Ecommerce, with rigid schema.
Single, unified ecommerce schema using events like view_item, add_to_cart, purchase.
Cross-platform tracking
Web only. Apps tracked separately in Firebase.
Web and app data unified in a single property using data streams.
Server-side tagging
Possible but limited.
First-class support via Google Tag Manager server containers.
Cookieless tracking
Limited modelling.
Consent Mode v2 with conversion modelling and behavioural modelling.
IP address logging
Logged then anonymised on request.
Never logged. IP anonymisation is mandatory.
Data retention
Configurable, default 26 months.
Configurable, default 2 months. Can be extended to 14 months.
BigQuery export
Paid GA 360 only.
Free, included with the standard tier.

The GA4 data model

Everything in GA4 is built on five concepts: events, parameters, user properties, items, and data streams. Understanding how they fit together is the single most important thing you can do to use the platform well.

Events

An event is anything that happens. A page view is an event. A click is an event. A purchase is an event. Events have a name and a set of parameters. The name describes what happened, the parameters describe the context. Event names should be lowercase, snake_case, and consistent across the property.

Parameters

Parameters are key-value pairs attached to an event. A purchase event might have parameters for value, currency, transaction_id, and an array of items. GA4 collects some parameters automatically and lets you add your own up to 25 custom parameters per event.

User properties

User properties describe the user, not the event. Useful examples include customer_lifetime_value, loyalty_tier, or preferred_category. They persist across all of a user's events and are the foundation for serious audience segmentation.

Items

For ecommerce, the items array is critical. It is how products are described inside ecommerce events. Each item carries fields like item_id, item_name, item_brand, item_category, price, and quantity. Get the items array right and your product, category, and merchandising reports work. Get it wrong and nothing else will save you.

Data streams

A data stream represents a source of data: a website, an iOS app, or an Android app. A property can have multiple data streams, but most ecommerce brands only have one (a website). Each stream has its own measurement ID, which is what your tags actually send data to.

The interactive viewer below shows what each common GA4 event actually looks like on the wire. Click any event to see its payload.

page

page_view

Fired automatically on every page load when Enhanced Measurement is on. The single most common event in any GA4 property.

{
  "event": "page_view",
  "page_location": "https://oneiro.digital/locations/worksop",
  "page_title": "Digital Agency Worksop | Oneiro Digital",
  "page_referrer": "https://www.google.com/",
  "language": "en-gb",
  "screen_resolution": "1920x1080"
}

Account structure

GA4 has three levels of organisation:

  1. Account. The top level, usually mapped to a company or brand group.
  2. Property. One per website or app group. The property is where data is collected and reported.
  3. Data stream. The actual collection endpoint inside a property. One per platform (web, iOS, Android).

Most ecommerce brands have one account, one property, and one web data stream. Multi-brand groups (think a parent company with several retail brands) typically run one account with one property per brand. Mixing data from different brands inside a single property creates serious reporting headaches and should be avoided.

Setting up GA4 properly

A solid GA4 implementation has four phases: scoping, base install, ecommerce and event tracking, and validation. Skipping any of them produces the kind of half-broken setup that dominates the GA4 properties we audit.

Phase one: scoping

  • List the events that matter to your business: page views, product views, add to cart, begin checkout, purchase, signups, lead form submits, and any custom interactions.
  • Define the parameters each event should carry, including the items array for ecommerce events.
  • Decide which user properties you want to track, especially those that matter for segmentation.
  • Define which events should count as conversions, now called "key events".
  • Document everything in a tracking spec before any code is written.

Phase two: base install

  • Create the GA4 property and data stream.
  • Install the base GA4 tag, ideally via Google Tag Manager rather than directly in the page.
  • Set the data retention period to 14 months (the default is two months, which is too short for any meaningful year-on-year analysis).
  • Configure cross-domain tracking if your checkout, blog, or help docs run on different domains.
  • Configure internal traffic filters and excluded referrals.
  • Link to Google Ads, Search Console, Merchant Center, and BigQuery.

Phase three: events and ecommerce

  • Implement Enhanced Measurement only after deciding which auto-collected events you actually want.
  • Build the ecommerce data layer and fire the standard events: view_item, add_to_cart, begin_checkout, add_payment_info, purchase.
  • Add custom events for the actions specific to your business.
  • Mark conversions / key events.
  • Build audiences for marketing and remarketing.

Phase four: validation

The single most common reason GA4 numbers are wrong is that nobody validated the implementation properly. Use the GA4 DebugView, the GTM preview mode, the Tag Assistant, and a tag debugging extension to verify every event fires correctly with the right parameters. Cross-check ecommerce values against the platform of record (Shopify, Magento, your ERP) for at least a week before declaring the implementation done.

Tag installation methods

There are four ways to send data to GA4. They are not equivalent and the choice matters.

1. gtag.js direct

The simplest approach. You drop a snippet of JavaScript directly into the page and call gtag('event', '...') from your code. Fine for simple sites, but inflexible. We almost never recommend it for ecommerce because it makes ongoing changes painful.

2. Google Tag Manager (web container)

The standard approach for any site of meaningful complexity. GTM gives you a UI for managing tags, triggers, and variables without redeploying the site. It also gives you a single place to manage all your marketing tags (GA4, Meta, TikTok, Google Ads, etc.) and is the foundation for server-side tagging.

3. Google Tag Manager Server-Side

A server container running on your own domain that receives data from the browser and routes it onward to GA4, Meta, and other destinations. This is the gold standard for ecommerce data quality. We cover it in detail later in this guide.

4. Measurement Protocol

A direct API for sending events to GA4 from any system. Useful for offline conversions, refunds, server-side events that do not flow through the browser, or backend systems like an ERP that needs to push data into GA4.

Events explained

GA4 events fall into four categories. The distinction matters because each behaves slightly differently.

Automatically collected events

Events GA4 collects without any configuration: first_visit, session_start, user_engagement, and a handful of others. You cannot turn these off, and you should not try.

Enhanced measurement events

Optional events GA4 can collect automatically when you turn Enhanced Measurement on for a data stream. Includes scroll, outbound click, site search, video engagement, and file downloads. Useful but easy to over-rely on. The auto-collected scroll event fires at 90% scroll depth only, which is rarely what you actually want to measure.

Recommended events

Events Google has standardised names and parameters for, but does not collect automatically. The full ecommerce event set lives here: view_item, add_to_cart, begin_checkout, add_payment_info, purchase, refund, etc. Using the recommended names unlocks reports and integrations that custom names will not trigger.

Custom events

Anything else you want to track. Pick clear, lowercase, snake_case names like newsletter_signup or book_appointment. The single best discipline you can apply is to write down your event taxonomy before you implement anything.

Enhanced measurement

Enhanced Measurement is a feature on web data streams that lets GA4 automatically collect a handful of common interactions without you writing any code. It is on by default for new properties.

Enhanced Measurement covers: page views, scrolls, outbound clicks, site search, video engagement, and file downloads. It is genuinely useful but has limits. The scroll event only fires once at 90%, which is too coarse for content engagement analysis. The outbound click event fires for any link off your domain, which can flood reports with noise. Site search only works if your search results page uses a query parameter GA4 can detect.

The right approach is to turn on Enhanced Measurement, decide which of its events you actually want, and disable the rest. Then build custom events to replace the disabled ones with the granularity your business needs.

Conversions and key events

In Universal Analytics, the things you cared about were called "goals". In early GA4 they were called "conversions". In late 2024 Google renamed them key events, with conversions reserved for events that are also configured as conversions inside Google Ads.

In practice: any event that matters to your business should be marked as a key event. The purchase event is the obvious one for ecommerce. Lead form submits, newsletter signups, account creation, and high-intent product page views are common additional ones. Up to 30 events per property can be marked as key events.

Marking an event as a key event makes it appear in conversion reports, available as a goal for paid media campaigns, and usable as a trigger for audience definitions.

Audiences

A GA4 audience is a group of users defined by some combination of dimensions, metrics, events, and time windows. Audiences are the bridge between GA4 and your paid media activation, because they sync automatically into Google Ads (and into Display & Video 360 for 360 properties).

The classic ecommerce audiences include cart abandoners, recent purchasers, lapsed customers, and high-AOV browsers. Smarter audiences combine multiple signals: users who viewed three products in the last seven days, came from organic search, and have not yet purchased.

Two important things to know. First, audiences are not retroactive. Once defined, they only collect users from that point forward. Second, audiences need at least 100 active users in the last 30 days before they sync to Google Ads. Niche audiences may never reach that threshold.

Reports

The Reports section in GA4 contains the pre-built reports most users see day-to-day. They are deliberately simpler than the Universal Analytics report tree, with the more advanced analysis pushed into Explorations.

The standard reports cover:

  • Realtime. What is happening on the site right now, useful for verifying tag fires and watching campaign launches.
  • Acquisition. Where users come from, broken down by traffic source, campaign, and channel.
  • Engagement. What users do, including pages, screens, events, and conversions.
  • Monetisation. Revenue, ecommerce purchases, in-app purchases, and ad revenue.
  • Retention. How often users come back and how their value evolves over time.
  • Demographics. Age, gender, location, language (limited by consent and data quality).
  • Tech. Browser, operating system, device, and resolution data.

Standard reports are unsampled, which is a meaningful improvement over UA. They also support the GA4 library system, which lets administrators customise which reports appear in the navigation.

Explorations

Explorations is where serious GA4 analysis happens. It is a separate workspace inside GA4 that supports six different analysis techniques.

  • Free-form. A flexible pivot table for ad-hoc analysis with up to ten dimensions and ten metrics.
  • Funnel. Step-by-step drop-off analysis for any sequence of events. Useful for checkout flows and onboarding.
  • Path. What users did before or after a specific event. Useful for finding unexpected paths through the site.
  • Segment overlap. How user segments relate, useful when designing audiences.
  • Cohort. Behaviour of users grouped by their first interaction date.
  • User lifetime. Lifetime value, total purchases, and engagement at user level.

Explorations support up to 10 million events per query before they sample. For larger datasets, the answer is BigQuery, not GA4.

Attribution models

Attribution is how GA4 decides which marketing touchpoint gets credit for a conversion. GA4 supports three primary models, with data-driven attribution as the default.

Data-driven attribution

GA4's default. A machine learning model that uses your conversion data to assign fractional credit to every touchpoint in a conversion path. It needs sufficient data to train, typically at least 300 conversions and 3,000 path events in a 30-day window. Below that, GA4 falls back to last-click.

Last-click attribution

100% of credit to the final non-direct click before conversion. Simple, transparent, and the easiest to explain to a finance team, which is why we still recommend reporting in last-click alongside data-driven for many brands.

Position-based, time decay, first-click

Available as alternative models in the attribution settings. Useful for specific analyses but generally not recommended as the primary model.

The attribution model affects how acquisition, conversion, and Google Ads reports are calculated. Changing it changes those reports retroactively, which can cause confusing dashboard movements. Pick a model, document why, and stick with it.

Integrations

GA4 is most valuable when connected to the rest of your stack. The integrations that matter for ecommerce are:

  • Google Ads. Sync conversions, audiences, and revenue. Mandatory for any brand spending on Google Ads.
  • Google Search Console. Pull organic search query data into GA4. Often patchy, but free.
  • Google Merchant Center. Connect product feed data for shopping reporting and Performance Max.
  • BigQuery. Free for the standard tier. Exports raw event data once a day. Essential for anyone doing serious analytics.
  • Display & Video 360. 360 properties only.
  • Search Ads 360. 360 properties only.
  • Looker Studio. Free dashboarding tool with native GA4 connectors.
  • Salesforce Marketing Cloud. Possible via integrations or direct exports for enterprise CDP use.

Consent Mode v2 is Google's framework for adjusting how Google tags behave based on user consent. It has been mandatory for any brand running Google Ads or Google Analytics in the EEA, UK, and Switzerland since March 2024.

In practice, Consent Mode v2 introduces four consent signals:

  • ad_storage: whether ad cookies can be stored.
  • analytics_storage: whether analytics cookies can be stored.
  • ad_user_data: whether user data can be sent to Google for advertising purposes.
  • ad_personalization: whether data can be used for personalised advertising.

When a user denies consent, GA4 still collects pinged events without identifiers, and uses behavioural and conversion modelling to estimate the impact of non-consenting users. This is materially better than the "all or nothing" approach most CMPs took before Consent Mode v2.

Common mistake

We see brands that have implemented Consent Mode v2 wrongly so often it is barely worth keeping count. The most frequent mistake is implementing it without setting default consent states, which leaves Google receiving conflicting signals and produces unreliable modelled data. If you implemented Consent Mode v2 in a hurry in 2024, it is worth auditing.

Server-side tagging

Server-side tagging moves the work of marketing tags from the user's browser to a server you control. Instead of the browser firing a tag directly to GA4, Meta, and TikTok, the browser fires a single request to your server container, which then forwards the data on to each destination.

The benefits, in order of importance for ecommerce:

  • Higher data quality. First-party requests survive ad blockers, ITP, and a number of network-level filters that browser-side tags do not.
  • Better page performance. One first-party request replaces many third-party requests.
  • Control over what data goes where. You can enrich, transform, and filter events before they leave your server.
  • Stronger privacy posture. Personally identifiable information can be hashed or removed before leaving your control.
  • Cross-platform consistency. The same server-side event can be sent to GA4, Meta CAPI, TikTok Events API, Google Ads, and your CDP, ensuring everyone is measuring the same revenue.

The tradeoffs: it costs money to run (typically £50 to £200 per month for a managed server container), it introduces an additional system to maintain, and it requires technical expertise to set up correctly. For brands spending more than £5k per month on paid media, the data quality improvement usually pays for itself many times over.

BigQuery export

BigQuery is Google's data warehouse. The free GA4 to BigQuery export, which exports raw event data once a day, is the single most valuable feature in the standard GA4 tier. It is the only way to do unsampled analysis, blend GA4 data with other sources, and keep historical data beyond the 14-month GA4 retention limit.

Setting up the export takes about ten minutes inside GA4. The value compounds from that point forward. Every day, a new table appears in your BigQuery dataset with one row per event, including every parameter and user property.

What you can do once the export is running:

  • Build dashboards in Looker Studio or Tableau against unsampled data.
  • Calculate metrics GA4 cannot: cohort revenue, customer lifetime value, contribution margin by product, true cross-channel attribution.
  • Blend GA4 data with order data from Shopify, customer data from your CRM, and ad spend from Google Ads, Meta, and TikTok.
  • Build modelled audiences that you push back into Google Ads, Meta, and your CDP.
  • Maintain historical data forever, decoupled from GA4's retention limits.

The standard export is daily. The streaming export, available on GA4 360, runs near-realtime.

Common pitfalls

Most of the GA4 properties we audit have at least three of the following problems. None of them are obvious from the standard reports. All of them undermine the value of the data.

  • Default 2-month data retention. Set on every new GA4 property by default, and almost never changed. It needs to be 14 months for any year-on-year analysis.
  • Purchase event firing on the wrong page. Often firing on the cart confirmation page rather than after payment confirmation, so failed transactions count as revenue.
  • Internal traffic not filtered. Office IPs, agency IPs, and developer machines all sending data into the property, distorting engagement and conversion rates.
  • Missing items array. Ecommerce events fired without proper items data, which means product, category, and merchandising reports do not work.
  • Cross-domain tracking broken. Checkout on a different domain to the main site, causing the customer journey to look like two separate sessions.
  • Consent Mode v2 misconfigured. Default consent states missing or conflicting, producing unreliable modelled data.
  • Debug data flowing into production. The debug_mode parameter accidentally left on in production, which inflates DebugView and clutters reports.
  • Currency mismatch. Some events sending GBP, others sending USD, others sending no currency at all. Reporting becomes meaningless.
  • Google Ads not linked. Often skipped in setup, which means audiences and conversions never sync.
  • BigQuery export turned off. The single highest-value feature in GA4, often skipped because the team did not know it existed.

GA4 vs GA4 360

GA4 has two tiers. The standard tier is free. GA4 360, the paid tier, costs around $50,000 per year (sold through Google partners, with negotiable pricing).

What 360 gets you:

  • Higher data limits: more events per property, more conversions, more audiences, more custom dimensions and metrics.
  • Lower sampling thresholds in Explorations.
  • Streaming BigQuery export instead of daily export.
  • Higher data freshness in standard reports.
  • Display & Video 360 and Search Ads 360 integrations.
  • An SLA on data delivery.
  • Roll-up properties for multi-brand groups.

Most ecommerce brands do not need 360. The brands that do are those running multi-brand groups, those exceeding standard tier limits on event volume or conversions, those who genuinely need streaming BigQuery, or those whose finance teams require an SLA.

Frequently asked questions

Is Google Analytics 4 free?
Yes. The standard version of GA4 is free and includes most of what an ecommerce brand needs, including BigQuery export. There is a paid version called GA4 360 with higher data limits, lower sampling thresholds, BigQuery streaming export, and an SLA. Most brands do not need 360.
Did Google really delete all my Universal Analytics data?
Yes. Google switched off Universal Analytics on 1 July 2023 for standard properties, and all UA data was permanently deleted on 1 July 2024. If you did not export your historical data to BigQuery or a data warehouse before that date, it is gone. There is no way to recover it.
Is GA4 GDPR compliant out of the box?
Not on its own. GA4 anonymises IP addresses by default and never stores them, which is an improvement on Universal Analytics. But to be GDPR compliant you still need a properly configured Consent Management Platform and Consent Mode v2, with cookie consent applied before any GA4 cookies are dropped or events are sent in identifiable form.
How long does it take to set up GA4 properly?
A standard ecommerce GA4 implementation, including data layer, GTM container, event taxonomy, ecommerce tracking, conversions, audiences and reports, takes around four to six weeks. Server-side tagging adds another two to three weeks. Anyone telling you it can be done in a day is selling you a basic install, not a usable analytics setup.
Can GA4 replace BigQuery?
No, and BigQuery is not trying to replace GA4. GA4 is the reporting layer for behaviour and revenue. BigQuery is the data warehouse where the raw events live. They work together. Most serious ecommerce analytics happens in BigQuery against the raw event export, with GA4 used for day-to-day reporting and audiences.
Do I need server-side tagging?
If you spend meaningful budget on paid media, yes. Server-side tagging gives you better data quality, lower data loss to ad blockers, lower latency on the page, more control over what data is sent to which platforms, and the ability to enrich and clean events before they reach Google or Meta. The data quality difference for paid media reporting is significant.
How is GA4 different from Looker Studio?
GA4 is the analytics tool. Looker Studio is a visualisation and dashboarding tool. Looker Studio can pull data from GA4 (and from BigQuery, Google Ads, and dozens of other sources) to build cross-channel reports. The two are usually used together: GA4 collects and structures the data, Looker Studio presents it.
Why does my GA4 revenue not match Shopify?
There are several common causes. The most frequent are: GA4 is filtering out events from suspected bots or invalid traffic that Shopify counts; the purchase event is firing before payment is confirmed, so failed transactions are recorded; Consent Mode is excluding non-consented users; the currency is not being passed correctly. A proper GA4 audit will find the cause.

Want this done properly?

We audit, fix and rebuild GA4 properties for ecommerce brands every week. Send us a message about your setup, no sales pitch, you get a list of what is broken whether you work with us or not.