The short answer: in Google Ads, create an automated rule set to Send email only with a condition on this month's cost, or schedule a short script that compares month-to-date cost with your monthly budget. In Meta Ads Manager, create an automated rule set to Send notification only with a condition on amount spent. LinkedIn has no custom spend alert, so you cap spend with campaign group and lifetime budgets instead. If one client budget covers all three platforms, none of those alerts can see the total, and you need something that reads every platform at once.
The first time most people go looking for this is the morning after. A Google campaign found a pocket of cheap clicks on a Sunday, a Meta ad set left the learning phase and opened the tap, and nobody noticed until the invoice. The platforms were working as designed. Nothing told you.
Native overspend alerts compared
| Platform | Native alert option | What it catches | What it misses |
|---|---|---|---|
| Google Ads | Automated rules (Send email only); Google Ads scripts | Cost above a fixed figure; with a script, cost ahead of the expected month-to-date figure | Rules compare with a fixed number, not with pace; nothing across accounts unless you run it at MCC level |
| Meta Ads | Automated rules (Send notification only); account spending limit | Amount spent above a threshold for a chosen time range; a hard account-level cap | Pace against a monthly plan; the spending limit stops every ad in the account at once |
| LinkedIn Ads | No custom spend alert; notifications when budgets run out | Campaigns ending because a budget is exhausted; low campaign group budget | Any warning before the money is gone |
Google Ads: automated rules and a budget script
Google does not alert on overspend by default because, by its own rules, a high day is not overspend. A campaign can spend up to twice its average daily budget on any day, and Google caps the month at roughly 30.4 times the daily budget. That leaves you to build the alert yourself. Google's March 2026 budget changes did not alter this.
Option 1: an automated rule
- Open the Tools menu and find Rules (under Bulk actions).
- Select the plus button and choose a campaign rule.
- Set the action to Send email only, so the rule tells you rather than changing anything.
- Under Apply to, pick the campaigns that share one budget.
- Add a condition on Cost greater than your threshold, using this month's data.
- Set the frequency to daily, add the people who should get the email, and save.
Rules are quick to build and fine for a single account. The weakness is that the threshold is a fixed number. A rule set at $8,000 tells you nothing on the 10th, when $8,000 already means you are badly ahead.
Option 2: a script that checks pace
A Google Ads script can compare spend with where it should be by today. Paste this into Tools > Bulk actions > Scripts, change the three settings at the top, authorise it and schedule it hourly.
// Emails you when this month's spend is ahead of plan.
const MONTHLY_BUDGET = 10000; // in the account's currency
const AHEAD_BY = 0.10; // alert at 10% ahead of expected spend
const EMAIL = '[email protected]';
function main() {
const account = AdsApp.currentAccount();
const spent = account.getStatsFor('THIS_MONTH').getCost();
const now = new Date();
const day = Number(Utilities.formatDate(now, account.getTimeZone(), 'd'));
const daysInMonth = new Date(now.getFullYear(), now.getMonth() + 1, 0).getDate();
const expected = MONTHLY_BUDGET * day / daysInMonth;
if (spent > expected * (1 + AHEAD_BY)) {
MailApp.sendEmail(EMAIL,
'Overspend alert: ' + account.getName(),
'Spent ' + spent.toFixed(2) + ' this month. Expected by today: ' +
expected.toFixed(2) + '. Monthly budget: ' + MONTHLY_BUDGET + '.');
}
}
Two things to know. It emails every hour while the account stays ahead, so schedule it daily if that gets noisy. And it counts the whole of today as elapsed, so it is slightly lenient in the morning. For agencies, the same idea runs at MCC level across every client, but you then need a budget for each account stored somewhere the script can read, which is usually where the spreadsheet comes back.
Meta: automated rules and spending limits
Meta paces to spend your budget over time, not evenly each day. On a given day a daily budget can be exceeded by up to 75%, as long as the week stays within seven times the daily budget. Meta's delivery logic is built around results, which is why a quiet week can be followed by a heavy one.
Option 1: an automated rule
- In Ads Manager, open Automated rules from the tools menu.
- Create a rule and choose the campaigns or ad sets it applies to.
- Set the action to Send notification only.
- Add the condition Amount spent is greater than your threshold, with a time range that matches how you budget.
- Choose the schedule (continuously or once a day), add subscribers so the right people get it, and create the rule.
The same caveat applies as on Google: the threshold is a fixed amount for a time range, not a comparison with where you should be today.
Option 2: an account spending limit
In Billing and payments, you can set an account spending limit that caps total spend across every campaign in the ad account. When the limit is reached, all ads stop until you raise or reset it. This is a backstop, not an alert. Use it with a figure comfortably above the plan, so it only trips when something has gone properly wrong.
LinkedIn: budgets instead of alerts
LinkedIn Campaign Manager has a notifications centre, and it will tell you when a campaign ends because its budget ran out or when a campaign group budget is running low. It will not let you set your own spend threshold. On maximum delivery bidding, LinkedIn can run a daily budget up to 50% over, so the control has to come from how the budgets are built.
- Put each client's campaigns in a campaign group and give the group a total budget and end date.
- Use lifetime budgets on campaigns where a hard stop matters more than smooth delivery.
- Set a run schedule so campaigns cannot carry on past the flight.
- Check spend against plan daily, by hand or with a third-party tool that reads the LinkedIn API.
Our LinkedIn budget pacing guide covers the budget settings in more detail.
Setting thresholds that mean something
An alert that fires every day gets ignored by the second week. An alert that only fires at 100% of budget fires too late. What works is comparing spend with the expected spend for the day of the month, which is the budget multiplied by the share of the month that has passed. Our budget pacing calculator does that sum if you want to sanity-check a number.
- Warn at 10% ahead of expected spend. Early enough to adjust with a small budget change.
- Escalate at 20% or more. This one should reach a person the same day, by Slack or phone, not only an inbox.
- Hard stop at 100% of the monthly budget. An alert tells you; a stop protects the client.
- Ignore the first few days of the month. One busy day on the 2nd looks like a huge variance and means very little.
- Alert on underspend too. An account running 20% behind is also a missed plan, just a quieter one.
For the money side of getting this wrong in either direction, see the real cost of overspending and underspending on ads.
Why per-platform alerts miss cross-platform overspend
Take a client with a $30,000 monthly budget: $15,000 on Google, $10,000 on Meta and $5,000 on LinkedIn. By the 15th, Google has spent $8,500, Meta $5,500 and LinkedIn $2,000. Each platform has a rule set to email at 80% of its own share, a common default, so none has fired. Against expected spend, Google is 13% ahead, Meta 10% ahead and LinkedIn 20% behind. The client, who only cares about the $30,000, is $1,000 ahead with half the month to go, and the LinkedIn underspend is hiding part of the problem.
Three rules in three platforms cannot see that total. They also cannot see each other's thresholds drifting out of date when someone moves budget from Meta to Google mid-month. And none of them do anything: by the time the email lands, the money is spent. For the pacing concepts behind this, our budget pacing guide explains expected spend and run-rate in full.
How Pace handles overspend alerts
Pace reads spend from every connected platform (Google, Meta, LinkedIn, Microsoft, TikTok, Reddit, Amazon and X) and checks it against each account's monthly budget, so there is nothing to build per platform.
- Pacing alerts compare spend with expected spend for the day and fire at 10% (warning), 20% (serious) and 35% (critical), in either direction. They skip the first five and last two days of the month, and rather than repeating every hour they re-alert when the variance grows or changes direction.
- Overspend protection checks every five minutes. When an account reaches its monthly budget, Pace drops its campaigns to $1 a day each by default (or the platform's minimum where that is higher), or pauses them if you prefer. On the 1st, it restores only what it changed.
- Where alerts go: the in-app bell, Slack and email, switched on per alert type. The overspend monitor alert, sent when Pace pauses or re-enables campaigns, is on every plan.
If you would rather keep native rules, they are still worth setting up as a second layer. They cost nothing and they run inside the platform.
Frequently asked questions
How do I create an alert for campaign overspend?
Each platform has its own route. In Google Ads, create an automated rule with the action Send email only and a condition on cost for this month, or schedule a Google Ads script that compares month-to-date cost with your monthly budget. In Meta Ads Manager, create an automated rule with the action Send notification only and a condition on amount spent. LinkedIn Campaign Manager has no custom spend-threshold alert, so cap spend with campaign group and lifetime budgets and watch its notifications centre. To catch overspend across platforms against one client budget, you need a tool that reads all of them.
Does Google Ads send an alert when you go over budget?
Not by default. Google can spend up to twice your average daily budget on a given day and caps the month at roughly 30.4 times the daily budget, so it does not treat a high day as an error. To get an alert, build an automated rule set to Send email only, or run a scheduled script that emails you when month-to-date cost passes a share of your monthly budget.
Can Meta Ads notify me when I spend a certain amount?
Yes. In Ads Manager, open Automated rules, create a rule on the campaigns or ad sets you care about, set the action to Send notification only and add a condition such as Amount spent is greater than your threshold for the time range you budget on. Meta also lets you set an account spending limit in Billing and payments, which stops all ads in the account once reached.
Does LinkedIn Ads have budget alerts?
Not configurable ones. Campaign Manager notifies you when a campaign ends because its budget is exhausted or its end date passes, and warns when a campaign group budget is running low, but you cannot set your own spend threshold. The practical controls are campaign group total budgets, lifetime budgets and run schedules, plus daily checks or a third-party tool for alerts.
Why do native overspend alerts miss problems?
Each platform only sees its own spend, and most rules compare spend with a fixed number rather than with where spend should be by today. A client with one monthly budget across Google, Meta and LinkedIn can be over budget overall while every individual rule stays quiet. Alerts also fire after the money is spent; they do not stop the spend.
What should an overspend alert threshold be?
Compare spend with the expected spend for the day of the month, not with the full budget. A common setup is a warning when month-to-date spend runs 10% ahead of the expected figure and an urgent alert at 20% or more, plus a hard stop when the monthly budget is reached. Skip the first few days of the month, when a single busy day can look like a large variance.