E-COMMERCE ANALYTICS

UK e-commerce analytics needs UK GDPR cookie consent configured before any conversion tracking fires — and most GA4 setups are collecting data before consent is given

GA4 is not compliant by default on a UK Shopify store. If gtag.js fires on page load before a visitor accepts your cookie banner, you are collecting personal data without consent — and the ICO has made clear that analytics cookies are not exempt from UK GDPR. The problem is not the tool. It is the sequence: consent must precede data collection, and most Shopify GA4 implementations get this backwards.

This is for you if

Who This Is For

UK Shopify and Shopify Plus brands spending on Google Ads, Meta Ads, or both, where the decision-maker needs to know whether reported ROAS reflects actual net revenue — and whether the data collection is legally compliant.

What's broken

The Problems We Fix

GA4 collecting data before cookie consent

UK GDPR requires consent before analytics cookies are set. GA4 implemented with gtag.js fires on page load without Consent Mode v2, which means the measurement ID is logging sessions and events before any consent signal is received. The ICO's enforcement posture on non-compliant analytics is active. Consent Mode v2 must be configured so that GA4 sends only cookieless pings until a visitor accepts, and full measurement only begins after that signal is recorded.

Meta Pixel running without Conversions API

The iOS14 impact on Meta reporting is the same in the UK as anywhere else: browser-based Pixel events are blocked by Safari ITP and ad blockers, under-reporting Meta conversions by 30 to 50 per cent. Running the browser Pixel alone means your Meta ROAS figures are materially understated. Server-side Conversions API — via Shopify's native Meta integration or a GTM server-side container — sends purchase and add-to-cart events directly from the server, bypassing browser restrictions and deduplicating against the browser Pixel signal.

Shopify Plus tax-inclusive pricing misreporting revenue in GA4

UK Shopify stores typically display prices inclusive of 20 per cent VAT. If the GA4 purchase event passes the tax-inclusive figure as revenue, your GA4 reported revenue is 20 per cent higher than your actual net revenue. This inflates every ROAS and cost-per-revenue calculation built on GA4 data. The correct implementation passes ex-VAT revenue to GA4 and records VAT separately in the tax field of the e-commerce schema.

No CSS partner conversion attribution

UK brands using a Comparison Shopping Service partner for Google Shopping get a lower CPC benefit from CSS — but if CSS-driven purchases are not attributed separately from standard Google Shopping purchases, the incremental value of the CSS arrangement is invisible. GA4 and Google Ads conversion reports need a custom attribution layer to distinguish CSS-originated purchases from direct Shopping purchases.

What we engineer

What We Build

Consent Mode v2 implementation

Consent Mode v2 implementation in GTM with a UK GDPR-compliant CMP (Cookiebot, Usercentrics, or CookieYes) so GA4 only fires after consent is given

Meta Conversions API

Meta Conversions API via Shopify's native integration or GTM server-side, deduplicated against the browser Pixel

GA4 e-commerce schema correction

GA4 e-commerce schema correction to pass ex-VAT revenue, separate tax line, and correct currency (GBP)

CSS partner UTM attribution structure

CSS partner UTM attribution structure and Google Ads conversion import to measure CSS vs standard Shopping performance

Looker Studio dashboard

Looker Studio dashboard combining GA4, Google Ads, Meta Ads, and Klaviyo revenue attribution in one view

Monthly conversion tracking health check

Monthly conversion tracking health check with documented pass/fail against a defined spec

What changes

What you can measure after the analytics infrastructure is in place

Before
After
Before Purchase, add-to-cart, and checkout events are not firing in GA4. Campaign performance cannot be measured against revenue. There is no way to identify which product pages are converting and which are not. Shopify's built-in analytics records that a sale happened but does not tell you which Google or Meta campaign produced it, which keyword the buyer searched, or which product page they landed on before purchasing. Without GA4 e-commerce events configured through Google Tag Manager, your paid campaigns are running blind.
After GA4 shows revenue by acquisition channel — organic search, paid Google, paid Meta, direct, and email are separated into distinct channel groups with revenue attributed to each
Before The Shopify Meta Pixel integration and a manually added Pixel code are both firing on the order confirmation page. Meta is reporting double the actual purchase volume, which inflates your ROAS. This is a common error on Shopify stores that installed the Meta Pixel through Shopify's native integration and then added a second Pixel code snippet directly to the theme. Both tags fire on the thank-you page and Meta counts two purchase events for one transaction. The result is that your Meta dashboard shows a ROAS that is mathematically impossible to reconcile with Shopify revenue.
After Meta purchase events are deduplicated — one purchase in Shopify equals one purchase event in Meta; ROAS calculations are based on actual transaction volume, not inflated event counts
Before Buyers who pay through eSewa or Khalti are redirected away from your Shopify store to an external payment page, then returned to the order confirmation page. The GA4 purchase event on the confirmation page fires correctly for buyers who return through the standard redirect URL. Buyers who use a different return path — or whose browser blocks the event after the redirect — are not measured. This creates a domestic revenue gap in your GA4 data: eSewa and Khalti transactions appear at a lower volume than they actually occur.
After eSewa and Khalti transactions are measured — domestic payment completions are captured in GA4 at the highest rate the payment redirect path allows
Before Klaviyo is sending email and flow campaigns with no click tracking enabled. Email-attributed revenue is not visible in Klaviyo reports. The relationship between lifecycle email sends — welcome flows, abandoned cart sequences, post-purchase campaigns — and actual Shopify revenue is not measurable. You cannot tell whether your email list is driving repeat purchases or whether those buyers were returning regardless of the emails.
After Klaviyo email revenue is visible — each email campaign and flow shows attributed Shopify revenue, click rate, and revenue per recipient
How it works

How the analytics engagement works

  1. 01

    Audit

    Days 1-3

    We review your current GA4 property, GTM container, Meta Pixel, and Klaviyo account. We document every tracking gap, every duplicate event, and every configuration error in a written audit report. You receive the report before any implementation begins.

  2. 02

    Implementation plan review

    Day 4

    We walk through the audit findings and the proposed implementation plan. You confirm the scope before work starts.

  3. 03

    GTM configuration and GA4 e-commerce setup

    Days 5-8

    We build the GTM container with the GA4 e-commerce event layer, the Meta Pixel tag, and the Conversions API configuration. We test each event using GTM Preview mode and GA4 DebugView before publishing.

  4. 04

    Payment gateway testing

    Days 8-10

    We run test transactions through eSewa and Khalti to verify the GA4 purchase event fires correctly after the payment redirect. We document any gaps in the post-redirect firing and implement the best available workaround.

  5. 05

    Klaviyo configuration and handover

    Days 10-12

    We configure UTM tracking on Klaviyo links, verify revenue attribution is active, and deliver a handover document covering every tag, trigger, and variable in the GTM container.

Common questions

Frequently Asked Questions

How do I implement Consent Mode v2 for GA4 on a UK Shopify store to comply with UK GDPR?

Consent Mode v2 requires a Consent Management Platform that signals consent status to GTM before any GA4 tag fires. On Shopify, the CMP script must load in the `<head>` before the GTM container snippet. GTM is then configured with consent initialisation triggers so GA4 only activates after the visitor accepts analytics cookies. Cookiebot, Usercentrics, and CookieYes all publish GTM integration guides that handle the consent signal handshake correctly for UK GDPR compliance.

How do I set up Meta Conversions API on a UK Shopify store?

The simplest path is Shopify's native Meta integration (Settings > Apps and sales channels > Facebook and Instagram) which enables server-side event sending from Shopify's servers to Meta's Conversions API. The native integration handles deduplication using the event ID field shared between the browser Pixel and the server event. For stores that need more custom event mapping, a GTM server-side container with a Meta CAPI tag is the more configurable alternative.

How do I configure GA4 to report ex-VAT net revenue for a UK Shopify store?

In Shopify, the purchase event data layer push must pass `value` as the order subtotal before tax, not the total inclusive of VAT. This is achievable via a custom GTM variable that reads the Shopify checkout object and calculates `total_price - total_tax`. The GA4 e-commerce `purchase` event `value` parameter should receive this ex-VAT figure. The `tax` parameter in the GA4 items array should receive the VAT amount separately so both figures are recorded correctly.

How do I attribute CSS partner Shopping conversions separately in GA4?

CSS-originated Shopping clicks arrive with Google Ads click IDs (gclid) like standard Shopping clicks, so GA4 auto-tagging alone does not distinguish them. The reliable method is to append a custom UTM parameter (`utm_campaign` or a custom dimension) to the final URLs in the CSS feed that identifies CSS as the source. In Google Ads, the CSS campaigns should be in a separate campaign or label so import into GA4 audience reports is clean.

What UK GDPR requirements apply to GA4 data collection and consent management?

Under UK GDPR (retained from the EU regulation post-Brexit), analytics cookies require prior opt-in consent from visitors. This means GA4 must not set cookies or collect personal data (including IP addresses used for geolocation) before the visitor has actively accepted analytics tracking. The lawful basis for analytics under UK GDPR is consent — legitimate interests does not apply to analytics cookies per ICO guidance. Consent must be freely given, specific, informed, and unambiguous.

Our team

The people behind the work

Not a black box. Real specialists you can call, with their names on the work.

Niraj Raut

Niraj Raut

Founder — Ecommerce SEO
Keshab Joshi

Keshab Joshi

PPC Expert
Hawrry Bhattarai

Hawrry Bhattarai

Google Ads Expert
Arogya Rijal

Arogya Rijal

SaaS SEO Expert
Start here

Request an Analytics Audit

UK Shopify and Shopify Plus brands spending on Google Ads, Meta Ads, or both, where the decision-maker needs to know whether reported ROAS reflects actual net revenue — and whether the data collection is legally compliant.