Skip to content
Ahmad Humayun
← All case studies

Marketing Data Platforms

Dataform + BigQuery Marketing Analytics Warehouse

GA4, Google Ads, and CRM inputs organized into BigQuery reporting models with Dataform transformations and reconciliation checks.

Marketing Analytics Team · Solo · Selected work

My role & contribution

Built warehouse models and reporting transformations for this engagement. This is separate from the newer Meta-focused product architecture.

Selected warehouse implementation

The problem

Built marketing analytics warehouse patterns around Dataform and BigQuery. The work organized GA4, Google Ads, Salesforce CRM, and marketing inputs into modeled reporting layers with source declarations, SQLX transformations, reusable JavaScript helpers, Looker Studio/Data Studio-ready outputs, assertions, and reconciliation checks.

The existing workflow

Marketing, analytics, and CRM inputs needed a shared reporting structure. Joining them directly into dashboards made model grain and reconciliation harder to control.

Dataform + BigQuery Marketing Analytics Warehouse
Illustrative project visual. Any figures shown are examples, not a statement of client results.

System flow

  1. 01

    Source declarations

    GA4, Google Ads, Salesforce CRM, and marketing inputs are declared as controlled BigQuery sources.

  2. 02

    Modeled layers

    Dataform SQLX transforms raw inputs through bronze, silver, gold, and BI-ready layers.

  3. 03

    Dashboard outputs

    Looker Studio/Data Studio-facing tables expose clean campaign, pipeline, revenue, and reconciliation views.

  4. 04

    Assertions

    Compile checks, source counts, and reconciliation assertions catch broken joins before reporting.

Key engineering decisions

Make grain explicit

Campaign performance, CRM pipeline, and revenue inputs describe different entities. Reporting outputs need defined aggregation and joins rather than a single join of every raw source.

Keep BI outputs downstream

Cleaned entities and reporting marts provide the layer consumed by Looker Studio. Dashboard formatting does not determine the warehouse model.

Difficult problems

  • Marketing, analytics, and Salesforce CRM sources needed one controlled reporting model
  • Looker Studio/Data Studio dashboard tables needed controlled grain so spend, conversions, pipeline, and revenue did not duplicate during joins
  • Warehouse layers needed assertions and reconciliation checks before numbers reached BI outputs
  • The project needed clear documentation so the warehouse layers could be understood and maintained

Work contributed

  • Organized source declarations and modeled layers in Dataform/BigQuery.
  • Built reporting-ready transformations around marketing and CRM entities.
  • Added assertion/reconciliation patterns and documented model structure.

Validation

  • Checked source declarations and transformation compilation.
  • Used assertions and reconciliation around reporting models.
  • Reviewed reporting grain and source/output comparisons.

Supported outcome

  • Modeled source declarations, staging layers, and BI-ready Dataform outputs in BigQuery
  • Added assertion and reconciliation patterns around marketing reporting tables
  • Separated raw inputs, cleaned entities, gold-layer marts, and Looker Studio/Data Studio-facing outputs
  • Mapped the model structure for GA4, Google Ads, Salesforce, and order-style reporting

Technologies in context

BigQuery · Dataform · SQLX · JavaScript · GA4 · Google Ads · Salesforce · Looker Studio · Data Studio · Assertions

Related services & work

Technical reading

Working through a similar problem?

Share the workflow and the output your team needs. We can identify a focused starting point.

Discuss your workflow