Data & BI

The layer everything else runs on. Every source blended into one warehouse, in your account or hosted by us, with omni-channel attribution so the numbers mean something.

What it covers

Taken in order. Most engagements start at the audit and stop wherever makes sense. See how we work, what a useful marketing dashboard shows, or how this compares with connector tools like Supermetrics.

Data Audit

What you're tracking today, what's broken, what's missing, and what it would take to fix. Delivered as a written findings document, not a call.

Blended cross-channel data

Every ad platform, your GA4 data, and your CRM reconciled into one set of numbers (why GA4 and the CRM differ), so five sources stop reporting five different truths.

ETL Pipeline Creation

Scheduled extraction from each platform, including GA4's BigQuery export, transformed into a consistent schema and loaded into your warehouse. Built to keep running without us.

Data Warehouse Creation

A Postgres or Supabase warehouse, modelled around the questions you actually ask, in your own account or hosted by us. What a marketing data warehouse is.

Dashboards & Reporting

Custom-built, not a licensed BI tool with your logo on it. No per-seat fees, and it looks like your business rather than a template.

Analytics & Insights

Past the dashboard: what's driving performance, what's worth acting on, and what to ignore.

How the pipeline runs

Sources in, one warehouse in the middle, a dashboard built for you on the other end.

Collect Store Serve
Ad platforms
  • LinkedIn
  • Bing
Tracking
  • Tag Manager
  • GA4
CRM
  • Zoho
  • HubSpot
  • Salesforce
Warehouse
  • Supabase
  • PostgreSQL
Dashboard
  • Custom-built
  • Netlify

How we build and serve it

The same six steps for every client. What changes is which sources you have and where the warehouse lives.

  1. 01

    Access

    You grant read access to the ad accounts, analytics and CRM you actually run. No passwords change hands, and there is no fixed bundle: we connect what you have.

  2. 02

    Extract

    Connectors pull each platform every night: Google Ads, Meta, LinkedIn, Microsoft Ads, GA4, and Zoho, HubSpot, Salesforce, GoHighLevel or monday CRM. No hand-written API code to break.

  3. 03

    Land

    Raw data lands in a Postgres warehouse, exactly as each platform reports it, in its own schema, so no client's data ever shares a table with another's.

  4. 04

    Model

    Each source is cleaned, then joined: the same conversion claimed by two platforms becomes one row, and ad data is reconciled against your CRM. Tests run before anything publishes.

  5. 05

    Serve

    A custom dashboard reads only the final tables, on a drop-b subdomain or a subdomain of your own domain, behind a login and kept out of search engines. It refreshes nightly and shows the date its data runs to.

  6. 06

    Check and monitor

    Before launch, the blended numbers are checked against each platform's own reports. After launch, every nightly sync is monitored, so a broken feed is caught rather than mistaken for a quiet week.

The layer underneath

Before any dashboard exists there is a warehouse, a set of models and a test suite. This is the part an agency with a reporting template does not have.

Warehouse All sources synced 06:05
Connected sources 6
Rows loaded today 69,822
Models built 8
Tests passed 24/24 Every run, before anything publishes

Source syncs, last run

SourceRowsSyncedState
Meta Ads12,48106:02ok
Google Ads8,93006:02ok
LinkedIn Ads1,20406:03ok
Bing Ads2,11706:03ok
Google Analytics 441,20606:04ok
HubSpot3,88406:05ok

Models, built in order

  1. stagingstg_ads__spend
  2. stagingstg_ads__conversions
  3. stagingstg_crm__deals
  4. stagingstg_web__sessions
  5. intermediateint_conversions__deduped
  6. intermediateint_touchpoints__joined
  7. martmart_channel_performance
  8. martmart_attribution

The last two are what the dashboard reads from. Everything above them is yours to query directly.

Illustrative. Model names follow the convention we build to.

A client dashboard we run

This layout comes from the live dashboard we built for Unsigned, a music-tech start-up with a trial-based product. Google Analytics 4 and Meta Ads load into it every night, and it tracks each step from first visit to purchase. The client signs in on their own subdomain.

Client dashboard Loaded nightly
Sessions 2,180 136 per day on average
Sign-ups 241 11.1% of sessions
Onboarding completed 146 61% of sign-ups
Trials started 68 47% of onboarding
Purchases 7 10% of trials

Funnel, step by step

StepCountFrom previous step
Sessions2,180–
Sign-ups24111.1%
Onboarding completed14661%
Trials started6847%
Purchases710%

Each step is a key event in GA4, so the dashboard and the client's own analytics agree.

Sessions by device

DeviceSessionsShare
Mobile1,53070%
Desktop61028%
Tablet402%
Layout from a live client dashboard. The figures are illustrative; the client's own numbers stay private.

Your data, your choice

The warehouse lives in your account or ours. The data is yours either way.

The usual arrangement Reporting lives inside the agency's tooling. The relationship ends and the reporting ends with it.
drop-b Built in your accounts or hosted by us, with no per-seat licence. In your accounts, nothing switches off if we part ways.

Questions people ask

The short answers, before you book anything.

Do you handle GA4 migration?

Yes. GA4 is one of the sources that lands in the warehouse, including its BigQuery export, so the migration and the reporting layer are built together rather than as separate projects.

Where does the warehouse live, and who owns the data?

Your choice: your own Postgres or Supabase account, or one we host and run for you. The data is yours either way. Dashboards sit on a drop-b subdomain or a subdomain of your own domain. If everything lives in your accounts, nothing switches off if we part ways.

Do you charge per dashboard user?

No. The dashboard is custom-built and handed over with no per-seat licence, so giving your whole team access costs nothing extra.

Is this for agencies or in-house teams?

Both. Agencies get a data partner they plug in rather than hire, so their clients get the reporting layer without the agency building a data team. In-house teams get the infrastructure they don't have time to build, run by people who understand what it is for.

How does a Data & BI engagement start?

With the free data audit: a written findings document on your ad accounts, tracking and CRM, delivered in about a week. You keep it whether or not you go on to a build.

Start with the audit.

We map what exists before proposing anything to build. Then see it working on your own data with a free 30-day test flight.

Book a consult