Sync Meta Ads insights to Google Sheets with backfill and weekly ETL
Meta Ads Insights to Google Sheets (Backfill & Weekly Sync ETL)
This workflow provides a structured way to extract Meta Ads performance data and store it in Google Sheets for reporting, dashboarding, or further analysis.
It is designed as a lightweight, reliable ETL pipeline focused on stability, clarity, and ease of use, rather than building a full data warehouse solution.
What This Workflow Does
At a high level, the system:
Pulls Meta Ads Insights data via API Supports both historical backfill and automated incremental sync Splits large date ranges into manageable weekly chunks Handles pagination and retries automatically Filters out zero-spend records before storage Stores clean, structured data in Google Sheets Logs skipped or empty responses for traceability
Architecture Overview Core Components n8n Meta Ads API Google Sheets
Primary Data Outputs Account_A → Campaign-level data (weekly) Account_B → Ad-level data (daily breakdown) Account_A_Log / Account_B_Log → Logging for skipped or empty responses
End-to-End Flow A) Dual Entry Points
The workflow supports two execution modes:
Historical Backfill (Manual Trigger) Used to populate past data.
Define start_date and end_date Workflow generates 7-day chunks Each chunk is processed sequentially
Incremental Sync (Scheduled Trigger) Runs automatically every 7 days.
Dynamically pulls last 7 days No manual input required
B) Period Chunking
Large date ranges are split into weekly intervals.
Prevents API overload Reduces risk of timeouts Ensures consistent data retrieval
C) Data Extraction (Per Account)
Each period is processed for two separate data streams:
Account A Level: campaign Granularity: weekly
Account B Level: ad Granularity: daily (time_increment=1)
Both using pagination handling & fail-safe response handling
D) Response Validation
Each API response is validated:
Must contain a non-empty data array Invalid or empty responses are redirected to logging
This prevents corrupted or empty data from entering the dataset.
E) Data Transformation
API responses are:
Split into individual rows Normalized (numeric fields converted properly) Preserved in full structure (no schema trimming)
F) Filtering Logic
Only meaningful data is stored:
Records where spend != 0 are allowed Zero-spend rows are discarded
This keeps the dataset lean and relevant for reporting.
G) Data Loading
Valid records are appended into Google Sheets:
Account A → campaign-level table Account B → ad-level table
Each run adds new rows without overwriting previous data.
H) Logging & Traceability
If a period returns:
empty data or API anomaly
The workflow logs:
status reason account date range execution ID timestamp
This creates a lightweight audit trail for debugging and monitoring.
Safeguards Built In Pagination handling (auto-follow next page) Fail-safe handling for unstable API responses Execution-level traceability via logs Separation between transformation and filtering logic
Google Sheets Schema Account_A / Account_B
Includes: date range (start & stop) account, campaign, adset, and ad identifiers performance metrics (spend, impressions, clicks, etc.) action arrays and ranking fields
Log Sheets
Columns:
status reason account since until execution_id timestamp
Limitations (By Design) Append-only system (no deduplication) Re-running the same period will create duplicate rows No transactional guarantees (Google Sheets limitation) No concurrency control for parallel executions Not designed for real-time reporting
These constraints are intentional to keep the workflow simple and portable.
When This Design Works Well Marketing reporting pipelines Looker Studio / dashboard data sources Small to medium datasets Teams without a data warehouse Lightweight ETL needs
Setup Requirements Meta Ads API access (ads_read permission) Google Sheets (with required tabs) n8n instance (cloud or self-hosted)
Summary This workflow focuses on:
clarity over complexity reliability over completeness practical ETL over perfect data modeling
It is a solid foundation for building marketing data pipelines without heavy infrastructure.
Related Templates
Automated Work Attendance with Location Triggers
his workflow automates time tracking using location-based triggers. How it works Trigger: It starts when you enter or e...
Track Expenses by Parsing Telegram Transaction Messages to Google Sheets
Overview This n8n workflow template automatically parses incoming Telegram transaction messages and logs structured dat...
Send Daily Weather Forecasts from OpenWeatherMap to Telegram with Smart Formatting
🌤️ Daily Weather Forecast Bot A comprehensive n8n workflow that fetches detailed weather forecasts from OpenWeatherMap...
🔒 Please log in to import templates to n8n and favorite templates
Workflow Visualization
Loading...
Preparing workflow renderer
Comments (0)
Login to post comments