Ecommerce & DTC

Know which ad spend brings real profit

When Shopify, GA4 and every ad platform report a different revenue figure, budget meetings turn into arguments and spend follows whichever dashboard is loudest. We fix the tracking, build one model of orders, margin and customers in your warehouse, and add AI on top so your team can ask it questions directly. We built this for a US meat subscription brand, reporting margin from Shopify and BigCommerce in BigQuery, and for a US lease-to-own marketplace with a long path to purchase.

Book a free discovery call See the work

Free 30 minute call with the engineer who would do the work. You keep the first fix whether or not you hire us.

What we get called in for

The problems teams bring to us

DTC brands, Shopify and Shopify Plus stores, subscription businesses and marketplace sellers with meaningful paid media spend.

01

Shopify and GA4 revenue don't match

Shopify shows one revenue figure and GA4 shows a lower one, and nobody can explain the gap. Finance trusts Shopify, marketing reports from GA4, and every weekly meeting starts with a reconciliation. When the gap moves from week to week you cannot tell a tracking break from a real drop in sales.

What we do

We audit the purchase event end to end: consent, duplicate tags, missing transaction IDs, tax, shipping and discount handling, and orders that never reach a thank you page. Then we reconcile GA4 against Shopify orders in BigQuery, so the remaining gap is known, explained and watched by an alert.

02

Meta and Google both claim the same purchase

Add up what each ad platform says it drove and you get more revenue than the store took. Each platform counts view-throughs, its own click windows and sometimes duplicate pixels. ROAS looks healthy on every channel while blended margin shrinks.

What we do

We remove duplicate pixels and conversion actions, send key events server side through the Meta Conversions API and Google enhanced conversions with deduplication IDs, and build a channel view in the warehouse that credits each order once. Your team sees platform ROAS next to blended and first-order numbers before it moves budget.

03

Tracking broke after the Shopify checkout upgrade

Shopify made the additional scripts field read-only in August 2025, and the deadline for non-Plus stores to upgrade their thank you and order status pages passed on 26 August 2026. Pixels that lived in checkout.liquid or the scripts box stopped firing. Stores often notice only when conversions fall away in Ads Manager and campaigns start optimising on less data.

What we do

We rebuild tracking on Shopify Customer Events and web pixels, with a server-side Google Tag Manager layer, so Meta, Google, TikTok and GA4 all receive clean purchase events with the same order ID. Every event is tested against real orders before we sign it off.

04

Which channels bring customers who come back

Most reporting stops at the first order, so a channel that buys one-off discount hunters looks as good as one that brings loyal customers. Budget keeps flowing to cheap acquisition that never pays back.

What we do

We model customers, orders and cohorts in the warehouse and tie each customer to their acquisition channel, first product and discount code. You get repeat rate, LTV and payback by channel and cohort, refreshed every day.

05

Subscription churn and LTV numbers nobody agrees on

Recurring orders from the subscription app get credited to whichever email was opened last, so email revenue looks enormous and retention looks fine. Churn is reported as one blended figure that hides which plans, products and offers are losing subscribers.

What we do

We bring Shopify, Recharge or your subscription platform, Klaviyo and ad data into one model that separates renewals from new orders. We did this for a US meat subscription brand and a US pet telehealth subscription, giving each of them churn and retention by cohort.

06

Profit by channel and product after COGS, shipping and returns

Revenue dashboards reward products and channels that lose money once discounts, shipping, fees and returns come out. Finance rebuilds margin in spreadsheets every month, and by the time it is ready the spend decision has already been made.

What we do

We join order lines to COGS, shipping costs, payment fees, refunds and ad spend in BigQuery or Snowflake, then model contribution margin by order, SKU, channel and campaign. An AI assistant on top lets anyone ask for margin by product or campaign without waiting on an analyst.

Results

Work we have done in this space

Questions

What people ask us first

Why is GA4 revenue lower than Shopify?

Common causes are purchases that never fire because of consent choices or blocked scripts, orders completed outside the online checkout such as draft orders, missing transaction IDs, and differences in how tax, shipping and discounts are counted. Some gap is normal. The aim is a gap you can explain and monitor, one that never moves without a reason.

Do I need server-side tracking on Shopify?

If you spend meaningfully on Meta, Google or TikTok, sending purchases server side recovers conversions that browsers block and gives the platforms better data to optimise on. It must be deduplicated against the browser pixel or you will double count. We set it up and test it against real orders.

What happened to Shopify additional scripts?

Shopify made the additional scripts field read-only on 28 August 2025 and moved tracking to Customer Events and web pixels. Non-Plus stores had until 26 August 2026 to upgrade their thank you and order status pages. Any tracking that still depends on the old scripts needs rebuilding on the new setup.

Is a data warehouse worth it for a Shopify brand?

Once you run several paid channels, a subscription app or more than one store, the answers you need sit across too many tools to join in a spreadsheet. A warehouse such as BigQuery holds the full order and customer history, joins it to spend and costs, and keeps metric definitions in one place. It also gives an AI assistant clean, governed data to answer from.

Tools we work with here
ShopifyGoogle Analytics 4Google Tag Manager (server-side)BigQuerydbtMeta Conversions APIGoogle Ads enhanced conversionsKlaviyoRechargeLooker Studio
How we work

How an engagement starts

The work runs in three steps. You see working output within weeks and can stop after any stage.

01

Discovery call

A 30 minute call with the engineer who would do the work. We look at your setup, tell you what we would fix first, and whether you need us for it.

Day 1
02

Blueprint sprint

We map your sources, stakeholders and goals, then give you an architecture and a prioritised roadmap. You keep it whether or not we do the build.

2 to 4 weeks
03

Build in sprints

We ship working tracking, models, dashboards and agents every two weeks. You can stop after any sprint, and everything built stays yours.

Every 2 weeks

What happens on the call

Book your call
  • 30 minutes with the engineer who would do the work
  • No slides or sales pitch
  • A clear answer on whether we can help, and a referral if we can’t
  • The first fix we would make, which you can use either way
Next step

Get your first fix in 30 minutes

Bring the question your team can’t answer fast enough. The engineer who would do the work looks at your setup with you and tells you the first thing we would fix, plus a straight answer on whether you need us at all. It costs you half an hour, and you keep the fix either way.

Book a free discovery call