Shopify, Google Ads, Meta and the CRM each told a different story about performance, and reconciling them by hand was eating a day a week. We built automated pipelines into BigQuery and modelled the data with dbt, so the marketing team could trust the numbers instead of assembling them.
An e-commerce brand was running paid media across Google Ads and Meta, selling through Shopify, and managing customer relationships in a separate CRM. Each system had its own definition of a conversion, its own timezone, and no shared identifier tying any of them together.
Every week, someone on the marketing team pulled exports from each platform by hand and stitched them into a spreadsheet to answer basic questions: what did we spend, what did we make, and which channel actually drove it. That process took the better part of a working day, and by the time the report was finished, the numbers were already stale.
The team didn't need another dashboard. They needed one warehouse everyone pulled from, built so the numbers reconciled by construction, rather than by someone's manual effort every Monday morning.
We built automated pipelines that pull data directly from each platform's API on a schedule — Shopify orders, Google Ads and Meta spend and performance, and CRM records — landing it all in Google BigQuery as a single raw layer.
On top of that raw layer, we used dbt to build tested, documented transformation models: consistent definitions of revenue, spend and acquisition cost that every report downstream now pulls from, instead of each analyst deriving their own.
Automated pipelines pulling Shopify, Google Ads, Meta and CRM data on a schedule, replacing manual exports with a repeatable process.
Raw data from every source landed in one warehouse, so there's a single place the numbers live before anyone starts analysing them.
Consistent, tested reporting tables built with dbt, so “revenue” and “acquisition cost” mean the same thing everywhere they're used.
Data quality checks and error monitoring built into the pipeline, catching problems before they reach a report instead of after.
The warehouse feeding the client's BI tool directly, so reporting updates itself instead of waiting on a manual pull.
Weekly reporting preparation dropped from around eight hours to under thirty minutes, because the reconciliation work that used to happen by hand now happens automatically, every day, before anyone opens a dashboard.
With one source of truth across marketing and sales data, the team could finally analyse channel performance against actual revenue, rather than each platform's own, generally optimistic, definition of a conversion.
Weekly reporting time, down from roughly 8 hours prepared by hand
Previously disconnected platforms unified into one warehouse
Automated refreshes, replacing a manual weekly export
The same approach works for any business pulling data from multiple platforms: automated extraction, a proper warehouse, and dbt models the whole team can trust, instead of another spreadsheet.
Automated, scheduled pulls from every platform you report on.
One place raw data lands, in BigQuery or the warehouse of your choice.
Tested, documented tables that define your metrics once, not per analyst.
Automated checks that catch data problems before your team does.
If your team is spending hours a week reconciling exports from different platforms, that's exactly the kind of problem a proper pipeline solves permanently.