Sergio AlbaBogotá, Colombia

Lab 04Data engineering

Marketing data warehouse

Marketing sources in one documented model, with validated tables for dashboards and analysis.

Try new dataHow it works

30 Jun 2026 · USD · sample data

01The problem

Too much time goes into preparing the data.

Every system exports its own way: Google Ads reports spend in micros and Meta uses other field names. When campaign, CRM and analytics data live in different platforms and files, every report starts with cleaning, joining and checking the same information again.

02What it does

  1. 01

    A common model

    Standardizes field names, formats and units from Google Ads, Meta Ads and LinkedIn Ads. Units are normalized; currencies are not converted.

  2. 02

    Loads without duplicates

    Each row is identified by its grain: platform, account, campaign and day. Repeating a load creates no new rows, and a correction updates the existing record.

  3. 03

    Visible exceptions

    A record that fails the rules stays out of the reporting table, with its reason, awaiting review. It is not turned into zero or silently dropped.

  4. 04

    Reporting-ready tables

    A fact table with date, platform, account and campaign dimensions that feeds dashboards and reports.

03How it works

  1. 01

    Ingestion · staging

    Each source delivers its records in its own format, and they land in the raw layer as they come. Keeping the original record makes it possible to explain where each number came from.

  2. 02

    Transformation

    Same fields and types; micros become USD. Rows can now be compared using the same rules.

  3. 03

    Quality · deduplication

    The load merges on each row’s key: copies are ignored, a newer version updates the amount and a record missing a required field is held for review.

  4. 04

    Dimensional model

    A fact table with the valid rows and their dimensions, ready for reporting. Each row keeps its source, account, campaign and date.

  5. 05

    Validate and document

    Before a table is considered done, coverage, quality rules and differences from the source are checked, and a guide is left for running the workflow and reviewing exceptions.

04Use it

The foundation is ready. Now put it to the test.

Follow the data from the incoming file to the table the marketing team will use. Then choose what arrives in the next load: the same file again, a corrected amount or an incomplete record. See what the system keeps, updates or sets aside.

INTERACTIVE DEMO

A reliable foundation, one record at a time.

Follow the data from the incoming file to the table the marketing team will use. Then put its checks to the test.

Marketing Data EngineeringSAMPLE DATA / 01
THE PROBLEM, IN ONE LOAD

The file adds up to USD 5,200.Valid spend is USD 3,000.

Two records arrived twice. See how their copies are identified before they inflate the report.

Incoming totalUSD 5,200
Valid totalUSD 3,000

Repeated amount: USD 2,200

6 records received

CSV / 06
  1. 01
    Google AdsBrand search
    USD 1,200
  2. 02
    Meta AdsProspecting
    USD 1,000
  3. 03
    Google AdsGeneric search
    USD 500
  4. 04
    LinkedIn AdsFund information
    USD 300
  5. 05
    Google AdsBrand search
    USD 1,200Copy of 01
  6. 06
    Meta AdsProspecting
    USD 1,000Copy of 02

Sample data. All amounts are expressed in USD before rows are compared.

Interactive simulation using synthetic data. It does not connect to any account or process real data.

05Data and limits

A simulation with sample data.

Six sample records from Google Ads, Meta Ads and LinkedIn Ads, as of 30 Jun 2026 and in USD. The simulation does not connect to any account or process real data. Every test scenario is independent and starts with the same 4 records and USD 3,000.

Built with

  • BigQuery
  • SQL
  • Python
  • Data Studio