Lab 04Data engineering
Marketing data warehouse
Marketing sources in one documented model, with validated tables for dashboards and analysis.
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
- 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.
- 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.
- 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.
- 04
Reporting-ready tables
A fact table with date, platform, account and campaign dimensions that feeds dashboards and reports.
03How it works
- 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.
- 02
Transformation
Same fields and types; micros become USD. Rows can now be compared using the same rules.
- 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.
- 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.
- 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.
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.
Repeated amount: USD 2,200
6 records received
CSV / 06- 01Google AdsBrand searchUSD 1,200
- 02Meta AdsProspectingUSD 1,000
- 03Google AdsGeneric searchUSD 500
- 04LinkedIn AdsFund informationUSD 300
- 05Google AdsBrand searchUSD 1,200Copy of 01
- 06Meta AdsProspectingUSD 1,000Copy of 02
Sample data. All amounts are expressed in USD before rows are compared.
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.