Automated Weekly Ad Reporting with n8n and Meta APIAutomated Weekly Ad Reporting with n8n and Meta API
The network for creativity
Join 1.25M professional creatives like you
Connect with clients, get discovered, and run your business 100% commission-free
Creatives on Contra have earned over $150M and we are just getting started
Automated weekly ad performance reporting with n8n and the Meta Marketing API The problem: 🔥 Agencies running paid ads for clients usually report performance manually: logging into Meta and Google dashboards, pulling numbers, writing a summary, and emailing it out every week. It's repetitive, easy to forget, and gets inconsistent the busier the agency gets.
What I built🧠 A scheduled n8n workflow that runs every Monday morning and handles the full reporting cycle without manual input.
How it works🚀
A schedule trigger fires early Monday morning
An HTTP Request node authenticates with the Meta Marketing API and pulls the latest ad account insights (spend, impressions, clicks, CTR, CPC)
The response is cleaned and mapped into a consistent format
An IF node checks whether there's real data to report
If there is, the data is handed to an AI step that writes a short, plain English summary of the week's changes, which is then logged and emailed
If there isn't, the system sends a clear "no activity this week" notice instead of a blank or broken report
Why the no-data path matters👍 A lot of automations only handle the happy path and break or go silent when something unexpected happens, like a week with no ad spend. I built this one to handle that case explicitly, so the client always gets a message, even if the message is just "nothing to report."
Tools used: n8n, the Meta Marketing API, an AI model for the summary writing, Google Sheets for the data log, and Gmail for delivery.
What I'm adding next GA4 data alongside the Meta Ads data, and a Looker Studio dashboard reading from the same sheet, so one template can be reused across multiple client accounts.
Post image
Johnson's avatar
Nice that the IF branch catches empty weeks, so clients get a clear note instead of a broken email.
khubaib's avatar
Thanks, that was the part I cared about getting right.
Back to feed
The network for creativity
Join 1.25M professional creatives like you
Connect with clients, get discovered, and run your business 100% commission-free
Creatives on Contra have earned over $150M and we are just getting started