Meta ads to Google Sheets: daily & historical campaign performance report
Overview This template automatically exports Meta (Facebook) Ads campaign performance into Google Sheets — both daily and for historical backfills. It’s ideal for performance marketers, agencies, and analytics teams w...
Template notes
Overview
This template automatically exports Meta (Facebook) Ads campaign performance into Google Sheets — both daily and for historical backfills. It’s ideal for performance marketers, agencies, and analytics teams who want a reliable data pipeline from Meta Ads into their reporting stack.
What this workflow does
- Runs a daily cron job to pull yesterday’s campaign-level performance from the Meta Ads Insights API. - Flattens the API response and calculates key KPIs like CPL, CPA, ROAS, CTR, CPC, CPM, frequency and more. - Appends one row per campaign per day to a Google Sheet (for dashboards and further analysis). - Provides a separate Manual Backfill section to import historical data using a timerange parameter (e.g. last 12–24 months).
Use cases
- Build Looker Studio / Power BI dashboards on top of a clean, daily Meta Ads dataset. - Track ROAS, CPL, CPA, CTR, and frequency trends over time. - Combine campaign data with CRM or ecommerce data in the same spreadsheet. - Quickly backfill past performance when onboarding a new Meta Ads account.
How it works
1. Daily Incremental Flow - A Schedule Trigger runs every day at 05:00. - The Set config node defines ad account, date preset (yesterday), and Google Sheet details. - The Meta Insights node calls the Facebook Graph insights edge at level=campaign. - The Code node flattens the data and derives CPL, CPA, ROAS, and other KPIs. - The Google Sheets node appends the rows to your MetaDailyData sheet.