workflows.fit
Back to n8n workflows
n8n templateFreeBy Reinhard Schmidbauer

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...

Data & StorageProductivityDevelopmentCore NodesSticky NoteSetFacebook Graph ApiCode
Loading interactive preview...

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.