Ad & Marketing

Campaign Performance
Reporting Automation

Every Monday at 8am, this n8n workflow pulls live data from Meta, Google Ads and LinkedIn, sends it through GPT-4o for analysis, builds a branded slide deck and emails it to every client before they open their laptop.

12 hrs

saved per week

vs. manual reporting

2 min

to generate report

after workflow runs

100%

on-time delivery

every single Monday

more accounts

handled per analyst

n8nGPT-4oMeta Ads APIGoogle Ads APILinkedIn APIGoogle SlidesGmailSlack

Typical build: 2–3 week sprint · Fixed price · Zero delivery risk

Live workflow — runs every Monday 8am
ScheduleEvery Mon 8amfMeta Ads APIGoogle Ads APIinLinkedIn APIn8n MergeNormalise dataGPT-4oAnalysisGoogle SlidesReport builderGmailClient emailSlackTeam update12a2b2c34567

Trigger

Cron schedule

Avg runtime

~2 minutes

Error handling

Auto-retry ×3

The problem

Why agencies still do this manually

It takes 12+ hours every week

Pulling from 3 platforms, building a deck, writing a summary, formatting, emailing each client. A senior analyst burns an entire Monday on reporting that could be automated.

Reports go out late — or wrong

Manual copy-paste from different dashboards leads to formula errors, mismatched date ranges and slide decks that don't match the data. Clients notice.

It doesn't scale with headcount

Adding a new client means another 2 hours of weekly reporting. Agencies hit a ceiling where they can't take on more clients without hiring more analysts just for reporting.

How it works

Every step, explained

This is the actual workflow Kovil AI builds and deploys — not a diagram. Here's what runs inside every node.

1
n8n Schedule

Cron trigger fires every Monday at 8:00 AM

n8n's Schedule node is configured to run every Monday at 8:00 AM in the client's timezone. No manual trigger, no spreadsheet reminder, no human needed — the workflow starts automatically. The trigger can be reconfigured for any cadence (daily, bi-weekly, end of month).

n8nSchedule NodeFully Automated
2
Parallel API pulls

Pull 7 days of data from Meta, Google Ads & LinkedIn — simultaneously

Three separate HTTP Request nodes run in parallel. Each calls the respective platform's API (Meta Marketing API v19, Google Ads API v16, LinkedIn Marketing API v2) and returns campaign-level data: spend, impressions, clicks, conversions, ROAS, CPC, CPM. All date ranges are calculated dynamically from the trigger date.

Meta Ads APIGoogle Ads APILinkedIn APIParallel execution
3
n8n Merge

Merge all data and normalise field names in n8n

n8n's Merge node combines the three platform datasets into a single unified object. A custom JavaScript Function node then normalises field names (e.g. "spend" vs "cost" vs "amount_spent"), converts currencies to a base currency, and flags any campaigns where data is missing or an API returned an error.

n8n Merge NodeJavaScript FunctionData normalisation
4
GPT-4o

GPT-4o analyses performance and writes the narrative

A structured prompt sends the full normalised dataset to OpenAI's GPT-4o API. The prompt instructs the model to identify: top 3 performing campaigns, bottom 3 underperformers, week-over-week budget efficiency changes, anomalies (e.g. CPM spikes >30%), and to write 3 concrete recommendations in plain English. Output is returned as structured JSON.

OpenAI APIGPT-4oStructured JSON outputPrompt engineering
5
Google Slides API

Slides API populates a pre-built presentation template

Using the Google Slides API, n8n creates a new presentation by copying a master template (stored in the client's Drive). It then programmatically replaces placeholder text across 5 slides: Slide 1 (executive summary), Slides 2–4 (platform breakdowns with charts), Slide 5 (GPT-4o recommendations). The final report is exported as both a Google Slides link and a PDF.

Google Slides APITemplate cloningPDF exportGoogle Drive API
6
Gmail API

Client receives a branded email with the report attached

Gmail API sends a personalised email to each stakeholder on the client's distribution list. The subject line includes the brand name and date range. The body contains a 3-sentence AI-written summary of the key insight from GPT-4o. The PDF report is attached and the Google Slides link is embedded. Sent from the agency's email address via Gmail OAuth.

Gmail APIOAuth 2.0PDF attachmentPersonalised subject lines
7
Slack API

Team gets a Slack post with the headline metrics

A Slack webhook posts a formatted message to the agency's #weekly-reports channel. The message includes: total spend across all platforms, blended ROAS, best-performing campaign (with metric), top GPT-4o insight of the week, and a link to the full Google Slides report. Emojis and Slack block kit formatting make it easy to scan in seconds.

Slack WebhooksBlock KitChannel routing
Tech stack

Every tool in the workflow

n8n

Workflow orchestration

The backbone of the automation. All triggers, data merges, API calls, and conditional logic live in n8n. Self-hosted or n8n Cloud.

Meta Ads API

Ad data source

Pulls campaign-level performance data including spend, impressions, clicks, ROAS and reach. Uses long-lived user access tokens.

Google Ads API

Ad data source

Returns search, display and Performance Max campaign metrics via Google Ads Query Language (GAQL). Requires Google Cloud OAuth setup.

LinkedIn Marketing API

Ad data source

Pulls sponsored content and lead gen campaign data. Requires LinkedIn App credentials and organisation admin access.

GPT-4o (OpenAI API)

AI analysis engine

Receives the merged dataset and returns structured JSON: top performers, anomalies, recommendations. Temperature set to 0.3 for consistent, factual outputs.

Google Slides API

Report builder

Clones a master template and populates slide placeholders programmatically. No manual slide editing required.

Gmail API

Client delivery

Sends branded HTML emails with PDF attachments from the agency's own Gmail address via OAuth 2.0.

Slack Webhooks

Team notification

Posts a formatted Block Kit message to the internal reporting channel with headline metrics and a report link.

What we build

A 2–3 week sprint. Production ready.

Kovil AI scopes, builds, tests and deploys this workflow end-to-end. You don't touch n8n until it's live and running.

  • n8n workflow configured and hosted (cloud or self-hosted)
  • API credentials setup for Meta, Google Ads, LinkedIn
  • Custom Google Slides master template built to your brand
  • GPT-4o prompt engineered for your specific KPIs
  • Error handling: alerts when an API fails or data is missing
  • Slack and Gmail configured with your accounts
  • 2-week handover: runbook, credentials, support access
Sprint timeline2–3 weeks
Week 1Scoping & setup
  • API credentials & access audit
  • n8n environment setup
  • Slides template design
Week 2Build & test
  • Full workflow build in n8n
  • GPT-4o prompt engineering
  • End-to-end testing with real data
Week 3Deploy & handover
  • Production deployment
  • First live Monday run
  • Runbook & documentation

Ready to ship this in 3 weeks?

Book a 30-minute discovery call. We'll scope the workflow for your platforms, clients and reporting cadence — fixed price, zero delivery risk.

Typical sprint: 2–3 weeks · Fixed-price · Fully managed delivery · Post-launch support included