/Cases

From server-side Shopify tracking to a data warehouse you can ask questions

Coco & Cici
Coco & Cici
client
Coco & Cici
industry
E-commerce · Home textiles
year
2025-2026
Stack
ShopifyGTM server-sideBigQueryLooker StudioClaude
/The challenge

Coco & Cici sells bedding, home textiles and nightwear online. Their data lived in five places: Shopify, GA4, Google Ads, Meta and Klaviyo. Each showed a different revenue, a different ROAS and a different story, so every number had to be checked against Shopify first, and marketing budget was split on figures that didn't agree.

With a CFO steering on margin, that wasn't good enough. The question was how to get one version of the numbers, from ad spend to margin, that the team trusts and can ask questions of without waiting for an analyst.

/Our approach

We built it in four layers, working directly with the marketing team and the CFO. They bring the business questions; we turn them into definitions in the model, so "margin" or "new customer" means the same thing in every report.

First the tracking: server-side GTM for the Shopify store, sending conversions to GA4, Google Ads and Meta.

Then the warehouse in BigQuery. Airbyte loads Shopify, Google Ads, Meta and Klaviyo every night, next to the GA4 export. Dataform turns that into one model: revenue excluding VAT, discounts, returns, and margin based on Shopify cost prices. Automated checks reconcile the totals every night, and alerts go to a Slack channel the team shares with us, so they see the same warnings we do.

On top of that sits a Looker Studio dashboard with a management summary, margin, channels and categories, always compared with last year.

Last, we added a semantic layer to the warehouse: tables that describe what every metric means, how it is calculated and which business rules apply, including events like promotions. That layer is what lets Claude answer questions from the warehouse. Access is read-only, without personal data, and every user logs in with their own account. Every week, a set of questions with known answers checks that Claude still reads the numbers correctly.

/The outcome

Coco & Cici now has one source for its numbers, from ad spend to margin, and the CFO steers on margin per category, with returns counted in the month they happen.

The checks have already proven their worth. In August, Shopify stopped recording where about half of the orders paid through Shopify Payments came from. Without the checks, Google Ads would have looked about three times less profitable than it really was. The warehouse flagged it, and we corrected the numbers before they ended up in a budget decision.

The dashboard and Claude read the same model and the same definitions, so a question in Claude is answered from the same numbers as the dashboard. We maintain the warehouse and the checks, and add new questions and rules as the business changes.

5
Data sources in one model
47
Questions tested every week

Running into the same thing?

Request our audit
New North Digital
About us

We love the work others find too technical. A trigger from 2019 that skews your revenue? We'll find it. And we'll explain it to you without the jargon.

5.0 · 63 reviews
More about us

Other cases

Wolky
Read case

Multi-domain server-side tracking across five WooCommerce shops

Server-side · WooCommerce · Consent
Threedium
Read case

Measuring the ROI of 3D viewers and configurators

3D commerce · Enterprise · Analytics
Doloris
Read case

Tracking conversions when ticket sales happen in someone else's system

Server-side · GA4 · Attributie
Oilily
Read case

Accurate event tracking on Shopify Checkout Extensibility

Server-side · Shopify · Consent
Maxima
Read case

Restoring GA4 accuracy on Magento with server-to-server tracking

Server-side · GA4 · Magento
Lebara
Read case

Solving attribution problems in an existing server-side setup

Server-side · GA4 · Attributie

Do your numbers add up?

One call is usually enough to see where it breaks.

Takes 1 minute