The Modern Marketing Multi-Channel ETL Platform is an end-to-end ELT solution that unifies data from Facebook Ads, Google Ads, and HubSpot into Snowflake for centralized analytics. It uses Airbyte and Fivetran for extraction and loading raw data into Snowflake staging schemas, and dbt for building incremental fact and dimension models. The platform supports up to ~10GB of daily data, includes CI/CD and automated tests, and was delivered over 7 months, on time, with a scalable and maintainable architecture. This enables marketing teams to get unified, near real-time insights across channels, improving campaign performance and ROI.
The platform follows a modern data stack, ELT-first architecture:
Sources: Facebook Ads API, Google Ads API, HubSpot API.
Extraction Layer: Airbyte / Fivetran connectors pull data from APIs.
Loading Layer: Raw data synced directly into Snowflake raw_staging schema.
Transformation Layer: dbt models transform raw tables into incremental facts and dimensions in transformed schemas.
Consumption Layer: BI tools like Tableau connect to Snowflake for dashboards and reports.
Connectors are scheduled hourly/daily, and dbt transforms run post-load to keep analytics up to date.
Raw Staging Schema (Snowflake): Tables like raw_staging.facebook_ads_insights, google_ads_campaigns, hubspot_deals. Light normalization from Airbyte/Fivetran (JSON flattening).
Transformed Schema (Snowflake): Fact Tables (e.g. fact_campaign_performance for daily impressions/clicks/spend) and Dimension Tables (users, campaigns, channels, etc.) with SCD Type 2 support.
Modeling Approach: Pure ELT (Raw in Snowflake, transformation fully in-warehouse via dbt). Incremental models using is_incremental() and unique_key configurations.
Extract & Load (EL): Airbyte/Fivetran connectors pull data from Facebook, Google, and HubSpot APIs directly into Snowflake’s staging schema on a scheduled basis (daily/hourly).
Transform (T): dbt models build incremental facts and dimensions. SQL models enforce business rules and unify metrics across disparate channels.
Data Quality & Testing: dbt tests (not_null, unique, relationships) ensure accuracy and consistency before deployment.
Project Start: April 1, 2025 | Duration: ~7 months (Delivered on time)
Testing: dbt schema tests (unique, relationship, etc.); Integration tests via sync mocks; Performance tests ensuring daily runs under ~30 minutes with 99.9% accuracy.
Deployment: dbt runs triggered via GitHub Actions/CI on merges to main. Environments (dev/staging/prod) managed via Snowflake schemas and dbt targets.
Monitoring: Snowflake query history, warehouse usage reviews, dbt run logs, and CI/CD pipeline status alerts.
Maintenance: Weekly model reviews, annual audits, and schema change handling via Fivetran’s auto-schema capabilities and dbt refactors. Estimated Cost: ~$400/month.
Methodology: Agile with 2-week sprints, focusing on iterative ELT builds.