Skip to main content

Server-side tracking for Shopify

Server-side tracking for Shopify that measures all the way to the paid order

Server-side tracking for Shopify consolidates your measurement in Customer Events and forwards purchases to GA4, Meta and Google Ads from the server rather than the browser. I have built webshops and fixed their tracking across 400+ projects, and I set it up directly in your store, without apps that lock you in.

+45 22 51 31 79
  • I usually reply the same day
  • Written estimate before work starts
Mikkel Tschentscher
  • The most solution-oriented developer

    In Mikkel's world there are challenges rather than problems.

    Michael Roscoe PedersenEntrepreneur(translated from Danish)
  • Competent, precise and a huge support

    He is simply a pro. Highly competent and precise, brings good input, and is a huge support.

    Carsten Johan Thessen(translated from Danish)
  • Lightning fast with an eye for detail

    Mikkel is a man after my own heart. Executes at lightning speed, has an eye for detail and is always there when you need him. It does not get better than that.

    Tini Owild(translated from Danish)

Read every review

Server-side tracking for Shopify

Clean up before you build

A typical Shopify store measures the same purchase in three or four places: Shopify's own pixel, a tracking app, a snippet in the theme and perhaps a Google tag from a previous agency. The purchase numbers therefore match nothing, and nobody can say why. Setups like that measure the wrong thing with great confidence; the numbers look credible right up until you hold them against the order list.

So I always begin with a cleanup. I go through what each source contributes, remove the duplicates and leave one place events come from. That exercise alone often makes the numbers make sense again.

What I set up in the store

  • Shopify Customer Events as the single source of events, across storefront and checkout.
  • Server-side GTM on your own subdomain, with Shopify's order data as the foundation.
  • GA4 purchase events with the right product fields, so the reports are usable in practice.
  • Meta Conversions API and Google Ads conversions with deduplication keyed on order ID.
  • Consent Mode v2 and the cookie banner wired together, so consent governs what gets sent.
  • Refunds and cancelled orders forwarded, so the platforms do not optimise on revenue that never materialised.

Reconciled against Shopify's own numbers

Once the setup is running, I spend a period holding Shopify's orders up against GA4 and the ad platforms. The purpose is to know the deviations and be able to explain them, so you dare use the numbers to allocate budget.

You get the reconciliation as a spreadsheet along with documentation of the whole setup. That gives you a reference point to measure against, and it becomes visible if something breaks after a theme or app update.

What you get

Concrete deliverables, not a report of recommendations someone else has to find time for.

  • One source of events

    Customer Events as the only place events originate, so there is one place to debug when something looks off.

  • Old tracking cleaned out

    Pixels, apps and theme snippets measuring the same purchase get mapped and cut down to a single truth.

  • Refunds passed along

    Cancelled and refunded orders reach the ad platforms, so optimisation is built on real revenue.

  • Reconciliation and documentation

    A spreadsheet of orders against GA4 and the ad platforms plus a description of the setup, yours to keep.

View all cases

How it works

Four steps. You know what happens when, and you can stop after any of them.

  1. 01

    Audit of the current setup

    Using preview mode and the network log, I work out which tags fire, which fail, and where the same purchase gets counted more than once. The result is a concrete list of what has to go and what is missing.

  2. 02

    A new structure in GTM

    The container is rebuilt with consistent naming and a clean data layer, so anyone can open it a year from now and understand what happens. Old tags are archived rather than deleted, so nothing is lost.

  3. 03

    Server-side and consent mode

    I set up a server container on your own subdomain and wire in consent mode, so the consent choice controls what gets sent. Conversion tracking for Google Ads and Meta moves over with it.

  4. 04

    Checked against order data

    For a period after launch, I compare orders in your backend with the numbers in GA4 and the ad platforms. Deviations are explained in writing, so you know how much weight the numbers can carry.

Brands I've worked with

  • MT Højgaard Danmark
  • Egmont
  • NNIT
  • Visma
  • Lomax
  • Pascal
  • able.
  • OOONO
  • Novo Nordisk Fonden
  • Energii
  • Maersk Tankers
  • Nordkysten Entreprenørfirmaet

Frequently asked questions

What does server-side tracking for Shopify cost?
The price depends on the store. What drives it is mainly the amount of old tracking to clean up, the number of platforms to connect, and whether you run multiple markets and currencies. Send me a link to the store and I will review it briefly and come back with a concrete quote. You get a reply the same day.
What are Shopify Customer Events?
Customer Events is Shopify's official way to listen to events across storefront and checkout without touching the checkout code itself. It is the foundation of a modern Shopify tracking setup and exists on all plans.
Do you help Shopify stores outside Copenhagen?
Yes, all of Denmark. I am based in Herlev near Copenhagen, but Shopify setups are built in admin and GTM, so I help stores in Aarhus, Odense, Aalborg and smaller towns over video calls and screen sharing.
Are we allowed to send customer data to Meta via the Conversions API?
Only for customers who have consented to marketing, and personal data such as email is sent in hashed form per the platforms' standard. Server-side does not make it legal to bypass consent; what it does is make it possible to control and document exactly what is sent. I am not a lawyer, but I make sure consent governs the data flow and that it is all written down.
Does it require Shopify Plus?
No. Customer Events exist on all Shopify plans. Plus gives you more scope to customise checkout itself, but the core server-side measurement can be set up on any plan.
What happens to our current tracking apps?
I go through the list and assess what each app actually contributes. Some can stay, most turn out to be redundant once Customer Events is in place, and there is almost always at least one app that has just been running without anyone knowing why.
Does it work with Shopify Markets and multiple currencies?
Yes, but the currency has to travel with every event, and GA4 and the ad platforms have to be configured to understand it. That exact point is among the most frequent errors I find in multi-market stores, so I always test it separately.