GA4, GTM, server-side, CAPI, Consent Mode v2

Tracking built properly, once.

We rebuild your measurement so every sale is counted once, with the right value, and only with the consent you are allowed to rely on. Then we prove it with test orders and hand you the documentation.

Diagram of the path a purchase takes after implementation. The browser captures the purchase, the consent check lets it through only when the visitor has said yes, your own server on a first-party domain removes duplicates, and GA4, Google Ads and Meta each receive the purchase once with the same event ID.

Server-side tracking for Shopify and WooCommerce, end to end

  • Purchases counted once in GA4, Google Ads and Meta
  • Revenue in GA4 that lines up with your store
  • Better match rates for Meta and Google, so ads optimize on more of your real sales
  • Consent that blocks tags until a visitor chooses
  • A QA log and documentation your team can maintain

A good fit if

  • You have had an audit (ours or someone else’s) and need the fixes done
  • You are moving to server-side tagging or the Conversions API
  • You sell into Quebec or the EU and your consent setup is not ready

What we do

The full measurement stack

Google Tag Manager

One clean web container with clear naming, no leftover tags, and access limited to the people who need it.

GA4 e-commerce

view_item through purchase with correct values, currency, tax and shipping, plus refunds so revenue matches the store.

Server-side tagging

A server container on your own subdomain. Events arrive first-party, get cleaned, then go out to each platform.

Meta Conversions API

A Meta CAPI setup where browser and server events share one event ID, so Meta counts each sale once and matches more of them to ads.

Google enhanced conversions

Hashed customer details sent with each conversion so Google Ads can attribute sales that cookies miss.

Consent Mode v2

Defaults set to denied, tags that wait for a choice, and a banner that gives a real yes or no, built to the opt-in standard Quebec Law 25 expects.

How the data travels

From checkout to every platform, once.

The browser still captures the event. Your server decides what is allowed out, adds what the platforms need for matching, and sends each event with the same ID so nothing is counted twice.

01 · BrowserShopper buys
purchase · $148.00event_id: 7f3a…
02 · ConsentChoice respected
analytics: grantedads: denied → modelled
03 · Your serverServer-side container
First-party domainHashed email for matchingBot and duplicate filter
04 · Platforms
  • GA4Revenue that matches your store
  • Google AdsEnhanced conversions
  • MetaConversions API, deduplicated
How a purchase should travel: captured once in the browser, checked against consent, enriched on your own server, then sent to each platform with the same event ID.

Server-side tagging

Your own server sits between the store and the platforms.

Browser tags talk to Google and Meta directly, and ad blockers and short cookie lifetimes cut some of that traffic. A server container on your own subdomain receives one stream and forwards it, so you control what each platform gets. This is what Shopify server-side tracking means in practice for a store in Canada or the US, and the same setup works for WooCommerce.

Comparison of two tracking paths. Browser-only tags: events go straight from the browser to the platforms and some are lost to ad blockers and browser privacy limits. Server-side path: the browser sends events to your own server on a first-party subdomain, which adds hashed customer data, removes duplicates and forwards each event to GA4, Google Ads and Meta with the same event ID.

Server-side tagging does not replace consent. It moves the forwarding step onto a server you control, on your own domain, so you decide exactly what each platform receives.

Consent Mode v2

Tags wait for a choice. A no is still useful.

With defaults set to denied, nothing that sets a cookie runs before the visitor answers. Granted consent sends the full event. A refusal sends only a cookieless signal, which Google uses to model conversions instead of losing them.

Diagram: three browser events (page view, add to cart, purchase) wait at a consent check whose default is denied. If the visitor grants consent, the full event with its event ID goes to GA4, Google Ads and Meta. If not, only a cookieless signal goes out and Google models the conversion.

Consent Mode v2 with defaults set to denied: nothing that sets a cookie runs until the visitor chooses, and a "no" still leaves Google a cookieless signal to model from.

How it runs

From kickoff to handover

  1. Week 1

    Plan and access

    We confirm the event plan, the platforms involved and who approves what. Any audit findings become the task list.

  2. Week 1–2

    Build

    GTM, GA4, server container, Conversions API, enhanced conversions and consent, built on a staging workspace first.

  3. Week 2–3

    Test with real orders

    Test purchases with consent accepted and refused. We check each platform received what it should, once.

  4. Week 3

    Publish and hand over

    We publish the changes and hand over the QA log and documentation.

  5. 14 days after launch

    Monitor live data

    For 14 days we watch live data for gaps, duplicates and consent issues and fix what turns up. It ends with a check of platform numbers against the store.

Questions

Common questions

Does server-side tagging cost extra to run?

Yes, the server container needs hosting, usually a small monthly cloud bill paid directly by you. We tell you the expected cost for your traffic before you commit.

Is this compliant with Quebec Law 25 and PIPEDA?

We build the technical side to respect consent: tags wait for a choice and defaults are denied. The legal wording of your banner and privacy policy should be reviewed by your legal adviser. We flag what to check.

Will our existing Shopify apps break?

No. We map what each app sends before changing anything, then switch off duplicates in a controlled order so data never goes dark.

Do we need an audit first?

It is the usual starting point because it sets a fixed scope, and the audit fee is credited against the implementation price if you go ahead. If you already know what you need, we can quote from a short call instead.

Find out what your tracking is missing.

Send us your store URL. We will run a free check on your tags, consent setup and conversion events and reply with what we find.

Free tracking check