If you are managing ad campaigns and your optimisation workflow still looks like logging into platforms, exporting CSVs, pasting into spreadsheets, and manually checking what changed, you are spending more of your day on data handling than on actual decisions. We went looking for a credible benchmark on how many hours that costs a marketing team each week and could not find one that holds up: the figures in circulation range from about 6 to more than 14 hours, and they come from vendors selling the fix. The honest version is that the number varies enormously by account size and reporting cadence, and that the time is worth measuring in your own team before you automate anything.

n8n closes the gap between the platforms. Its public library carries 12,895 community workflow templates as of 3 October 2026, and it connects your ad platforms directly to Slack, Google Sheets, email, and Notion, so campaign data moves without a CSV in the middle. The five templates below cover the most common campaign management tasks across Google Ads and Meta.

One thing to know before you open n8n, because most template write-ups skip it. We checked n8n's own node documentation on 3 October 2026, and its Google Ads node has two operations, get a campaign and get all campaigns. It cannot pull a performance report, pause a campaign or change a budget. n8n has no Meta Ads or LinkedIn Ads node either, and its LinkedIn node only creates posts. Every template here that reads metrics or changes a campaign does it through the HTTP Request node, calling the ad platform's API directly, which is the route n8n's own docs point to for anything a node does not support.

The difference between a good campaigns manager and a great one is how many hours they spend on decisions versus data entry. n8n templates shift that balance.

The five templates at a glance

TemplateWhat it doesRunsKey nodes
Daily monitoringPulls yesterday's campaign performance into Slack, flags threshold breaches8am dailyHTTP Request (Google Ads API), Slack, IF, Set
Auto-pause rulesPauses campaigns past spend and conversion thresholds, logs every actionEvery 6 hoursHTTP Request (Google Ads API), Google Sheets, Slack, IF
Weekly Meta reportWrites per-ad-set results to Google Sheets, emails the PDFMonday 9amHTTP Request (Meta Insights API), Google Sheets, Email, Code
Budget redistributionFlags over-spending campaigns, posts a shift recommendation with approval buttonNoon and 4pmHTTP Request (Google Ads API), Slack, Webhook
Competitor ad monitoringCaptures new competitor ads you log from the Ad Library into Notion, weekly digestDaily, digest SundayHTTP Request, Notion, HTML, Code

Each template is self-contained, so you can switch one on without touching the others. The sections below walk through what each one does and the exact nodes it needs.

For teams building broader AI agent workflows, these templates fit naturally into a larger AI agent stack, where each workflow becomes a specialised skill the agent can trigger on schedule or on demand.

1) Daily Google Ads monitoring with Slack alerts

This is the template to set up first, because it only reads data. Instead of logging into Google Ads every morning and clicking through campaign after campaign, a single n8n workflow runs at 8am, pulls yesterday's impressions, clicks, spend, and conversions from the Google Ads API via OAuth2 with a short report query, and formats the results into a clean Slack message for your marketing channel.

If a metric crosses a threshold, say cost per conversion above a figure you set in your account currency or impression share dropping below 10 percent, the workflow tags the Slack message with a visual flag and @mentions the person responsible. You see problems before your clients do, and the morning review becomes reading one Slack message rather than clicking through the campaign list in Google Ads.

n8n nodes you will need: HTTP Request node calling the Google Ads API search endpoint (OAuth2 credentials plus a developer token in the header), Slack node, Schedule trigger (cron: 0 8 * * *), IF node for threshold logic, and a Set node for formatting the message payload. The whole workflow fits in about 15 nodes.

2) Auto-pause campaigns with budget rules

Campaigns burn budget fast when performance drops. Set a workflow that runs every 6 hours and checks all active campaigns against your target CPA. Any campaign that has spent more than a set amount, say 200 in your account currency, with zero conversions in the last 48 hours gets automatically paused. The workflow logs the action to a Google Sheet and posts a Slack summary of what was paused and why.

We recommend pairing this with a weekly human review. Automation handles the obvious cases, but a person should confirm the edge cases. The Google Sheet log makes that review straightforward because every pause has a timestamp, a campaign name, and the reason code.

n8n nodes you will need: HTTP Request node to read campaign spend and a second HTTP Request node to set the campaign status to paused through the Google Ads API, Schedule trigger (every 6 hours), Google Sheets node for audit logging, Slack node for notifications, IF node with multiple conditions. The audit log sheet is also useful for month-end reporting.

3) Weekly Meta Ads performance report to Google Sheets

Every Monday at 9am, an n8n workflow pulls the previous week's data from Meta's Ads Insights API, including reach, frequency, CTR, CPA and ROAS, across all active ad sets. It writes each ad set's results to a row in a Google Sheet with conditional formatting. Above-target metrics get green, below-target get red. At the end, it emails the sheet as a PDF to whoever needs it.

The Google Sheets integration matters here because it gives your team a single source of truth. No more three different people maintaining three different spreadsheets from three different data exports. The workflow replaces that with one Sheet that updates itself every week.

n8n nodes you will need: HTTP Request node (or the Facebook Graph API node) calling your ad account's insights endpoint, which needs a Meta app with the ads_read permission, Schedule trigger (0 9 * * 1), Google Sheets node, Email node (SMTP). Use a Code node to calculate ROAS from spend and revenue data before writing to the sheet.

4) Budget redistribution alerts with Slack approval

When one campaign is burning through its daily budget by midday while another is under-spending, you want to know before end of day, not the next morning. This workflow checks budget consumption at noon and 4pm local time. If any campaign has used over 80 percent of its daily budget this early, it calculates how much could be shifted from campaigns that are under-spending, and posts a recommendation to Slack with an approval button.

Clicking approve triggers a subsequent n8n workflow that calls the Google Ads API to update campaign budgets. The whole cycle, detect, notify, approve and execute, runs inside a single set of connected workflows without anyone logging into an ad platform.

n8n nodes you will need: HTTP Request node to read budget consumption, Slack node posting a message with an interactive button (block kit), a Webhook node to receive the button click, and a second HTTP Request node that updates the campaign budget through the Google Ads API. There is no budget node in n8n, so the update is an API call you write once and reuse. You will also want an Error Trigger node to catch any API failures during budget changes.

5) Competitor ad copy monitoring

Tracking when competitors launch new ad creative is one of those tasks that everyone knows they should do and almost nobody does consistently. This template automates it. The catch is access. Meta's Ad Library API only returns ads about social issues, elections or politics, ads delivered to the EU, and branded content, so an ordinary commercial ad shown only in Australia or the US is not in it. If your competitors advertise in the EU, the workflow can query the API daily for new or changed ads. If they do not, the realistic version is a short weekly visit to the public Ad Library where someone pastes new ads into a form, and n8n does the rest. When something new appears, it captures the headline, body text, and call to action, and saves everything to a Notion database.

Every Sunday, the workflow compiles the week's changes into a digest email. You get a weekly view of every competitor ad change without logging into the Ad Library manually, which is what makes it realistic to respond to a competitor's new angle in the same week rather than noticing it a month later.

n8n nodes you will need: HTTP Request node (Ad Library API, EU-delivered ads only) or an n8n Form trigger for manual entries, Schedule trigger (daily check), Notion node, HTML node for formatting the digest email. Use a Code node to de-duplicate ad entries so you only capture genuinely new creative.

Setting up these n8n ad optimisation templates

All five templates follow the same setup pattern. Connect n8n to your ad platform via OAuth2. Each platform's API credentials live in n8n's credential store, not in your workflow code. Then configure the schedule trigger, the threshold parameters, and the destination (Slack, Sheets, Notion, or email). Each workflow is self-contained, which means you can deploy them one at a time as your team gets comfortable with the automation.

Before the first run, sort the credentials, because the platforms are not equally fussy. Google Ads is the fiddliest. Its API needs a developer token alongside your OAuth 2.0 credentials, and both have to exist before a single call works (start with Google's OAuth 2.0 overview for the Ads API). Meta's ad data ties to an app registration, Slack needs a bot app before the approval buttons in the budget-alert template will fire, and Sheets and Notion authorise at the account level with no extra paperwork. Budget an afternoon for the first workflow, and closer to half an hour for each one after that. Nothing here needs a developer on staff; the token and the client ID are both point-and-click flows.

Two n8n habits keep the stack healthy. Wire an Error Trigger per workflow so a failed API call posts to the same Slack channel as everything else, and the workflow tells you about its own problems. The Executions tab keeps a dated log of every run, which is usually enough to trace where a number went wrong when a Slack message looks off.

Deploy them in an order that builds trust. Start with the daily monitor, which only reads data and shows the team what a useful alert looks like. Add the auto-pause rules once a week of monitors has shown the thresholds behave. Add the budget alerts and the competitor sweep last, after the approvers are comfortable with buttons arriving in Slack.

If you are already running deepsearch agents for research, these workflows can feed data directly into your agent's context, so campaign performance numbers become part of what the agent knows when you ask strategic questions about ad spend.

The same infrastructure thinking applies here that we cover in our guide to deploying AI-generated static sites: replace repetitive manual steps with automated pipelines, and your team spends energy where it matters.

What happens when you automate ad campaigns

These five n8n templates for ad automation cover the highest-frequency tasks: daily monitoring, campaign pausing, weekly reporting, budget redistribution, and competitor tracking. The clearest gain is reaction time. A campaign that overspends at 11am gets caught at noon rather than in tomorrow's morning review, and a campaign burning budget with no conversions gets paused within six hours instead of over a weekend. We have deliberately not put a percentage on the improvement here, because we could not find a credible public benchmark for what ad automation does to cost per acquisition, and the figures circulating come from vendors with an interest in the answer. Measure your own baseline for a fortnight before you switch anything on, and you will have a real number instead of someone else's.

Worth sizing the load before you pick a plan. The schedules above add up to about eight workflow executions a day, around 250 a month, which sits comfortably inside the 2,500 executions that n8n's cloud Starter plan includes. n8n runs these workflows on its self-hosted tier for free, or on its cloud plan, which starts at 20 euros a month billed annually. For the setups we described, a few workflows running a few times a day, the self-hosted option handles everything without paying for an upgrade. The real cost is the setup time, which is measured in hours, not days.

A campaign manager's judgement is the scarce resource here. These templates buy back the hours that judgement currently spends on copying numbers between tabs.

Frequently asked questions about n8n ad automation

Can n8n automate Google Ads optimisation?

Yes, through the HTTP Request node. The native Google Ads node only gets campaigns, so pulling performance data, pausing campaigns and changing budgets all go through direct calls to the Google Ads API on a schedule you set. The public template library held 12,895 community workflows on 3 October 2026, so most ad tasks have a starting point you can adapt.

How do I connect Google Ads to n8n?

Create a Google Ads OAuth2 credential in n8n's credential store and request a developer token in your Google Ads manager account, because the API needs both. The Google Ads node can then list campaigns, and HTTP Request nodes using the same credential handle reports and changes.

What ad platforms does n8n support?

n8n has a Google Ads node that reads campaigns and a Facebook Graph API node for general Meta calls. It has no Meta Ads or LinkedIn Ads node, and its LinkedIn node only creates posts. For ad reporting and changes on any platform, use the HTTP Request node with that platform's API.

Is n8n free for ad automation?

n8n offers a free self-hosted option and a cloud plan starting at 20 euros per month billed annually. For a few workflows running a few times per day, the self-hosted version works without upgrading.