Google Ads anomaly detection that also watches Meta, TikTok and Amazon.

A spend spike at 02:47 costs the most when the first person to see it is whoever opens Google Ads at nine. Nupact checks every campaign against its own per-market baseline around the clock and posts the alert to Slack, Teams or email with the cause found and the correction drafted.

By Federico Baravalle, co-founder of Nupact · Google script and platform details checked October 2026

The short version

Google Ads anomaly detection compares each campaign's spend, clicks, conversions and costs with what is normal for that campaign at that hour, and alerts you when the gap is too big to be noise. Google's free Account Anomaly Detector script does a basic version for one Google Ads account, by email. A good monitoring tool works per campaign and per market, covers Meta, TikTok and Amazon Ads in the same view, and tells you the likely cause and the fix. Nupact does this and holds the fix until you approve it.

Acts on
Google Ads, Meta, TikTok and Amazon Ads, when you approve or inside guardrails you set.
Also monitors
The Trade Desk, DV360 and the other connected platforms, plus GA4 and your conversion feeds.
First alerts
An account audit on the day you connect, and alert-only monitoring from day five.
Book a DemoRun Your Numbers
The alert

A 02:47 spend spike, diagnosed before anyone wakes up.

This is the anomaly alert from our product demo. Each figure in it checks against the others, as the notes beside it show.

Nupact · protect alertsProduct preview
Acme Performance
Channels
# general
# campaign-launches
# paid-media-alerts
# reporting
Apps
Nupact
# paid-media-alerts 3 members · Nupact connected
ν
Nupact APP02:47

Anomaly · Google Ads · Search-IT. Spend pacing 3.4× the 28-day baseline. Drift from 01:10; sustained-anomaly threshold breached 02:44.

Root cause: broad-match keyword entered an auction spike after the midnight budget reset
dimensionbaseline/hrcurrent/hrdelta
Search-IT · total€41.20€140.10+240%
kw “gestionale magazzino”€2.10€96.40+4,490%
all other keywords€39.10€43.70+12%

Correction drafted: pause keyword, cap campaign pacing. Projected excess by midnight if unaddressed: €2,260.

Approve fixOpen in NupactSnooze
ν
Nupact APP07:02

Morning check, all accounts: DE on plan. FR spend −8% vs. plan, cause noted, no action needed. IT: incident above, fix pending your approval.

Message # paid-media-alerts
3.4×
Spend pacing against the 28-day baseline

Search-IT is spending €140.10 an hour where its 28-day baseline for that hour is €41.20. That is 3.4 times normal, or +240%.

€94.30
Extra spend per hour from one keyword

The campaign is €98.90 an hour over baseline. The broad-match keyword “gestionale magazzino” went from €2.10 to €96.40, which accounts for €94.30 of it. Every other keyword together moved 12%.

€2,260
Projected excess by midnight

The projection assumes the €98.90 hourly excess holds. If it had held from the drift's start at 01:10 to midnight, 22 hours 50 minutes, the excess would be about €2,258, which the alert rounds to €2,260. Google's daily cap is twice the campaign's average daily budget, and usual spend can sit far below the budget, so a campaign with headroom can run this far above its baseline inside the cap.

From our product demo.

How Nupact does it

Nupact checks every campaign against its own normal.

The core difference

The alert arrives with the cause and the correction.

Nupact breaks a move down by campaign, keyword, placement, ad and market until it finds where the money went, then drafts the correction, such as pausing a keyword and capping the campaign's pacing. You approve it from Slack or snooze it. Nothing changes in the ad account until you click, unless you have allowed that action type to run on its own inside your guardrails.

01

Per-market baselines, on every dimension

Search-IT is compared with Search-IT, at that hour. Detection runs on every account around the clock, and in the demo the alert reaches Slack three minutes after the threshold is breached.

02

A morning check across all accounts

At 07:02 one message covers every market: DE on plan, FR 8% under with the cause noted, IT waiting for approval. It replaces the morning round of exports and spreadsheets.

03

Broken tracking counts as an anomaly

When a conversion feed goes stale, for example a Meta CAPI feed with no events for six hours, Nupact pauses its own autonomous actions and pages the team in Slack.

04

Budget-limited winners get flagged too

A campaign capped by its budget while beating your target is where the next euro should go. Nupact flags it and drafts the budget move with a forecast.

Which approach to Google Ads anomaly detection fits your accounts?

Teams monitor paid media in five ways today, and each is enough for some setups. Platform details are from Google's and Meta's own documentation, checked October 2026.

ApproachWhat it watchesHow you hearEnough when
Google's Account Anomaly Detector scriptOne Google Ads account: impressions, clicks, conversions and cost so far today, against the same weekday's average over the weeks you chooseOne email per alert per day, plus a Google SheetYou run a single Google Ads account and a same-day email is fast enough
Automated rules in Google AdsConditions you write on campaigns, ad groups, keywords or adsAn email, or the rule pauses or changes somethingYou know the exact failure to guard against, such as a monthly spend cap
Automated rules in Meta Ads ManagerConditions you write on campaigns, ad sets or adsA notification from Meta, or the rule actsMeta is most of your spend and your thresholds rarely change
n8n, Zapier or a spreadsheet checkWhatever you connect and codeSlack, email, anywhere you route itSomeone on the team owns the workflow and has time to maintain it
DIY with an LLMWhatever you export or query when you askWhen you askYou want help diagnosing an incident you already know about
NupactEvery campaign on Google Ads, Meta, TikTok and Amazon Ads against per-market baselines, plus The Trade Desk, DV360 and the other connected platformsSlack, Teams or email, with root cause and a drafted fixYou run several channels or markets and want the correction proposed, ready to approve

Google's script "alerts the advertiser whenever a Google Ads account is suddenly behaving too differently from what's historically observed" (Google Ads Scripts documentation). It judges a Tuesday at 13:00 against earlier Tuesdays, which is the right idea, and Google recommends running it hourly. The version Google documents covers one account as a whole, so a spike in Search-IT can hide inside a quiet day in DE and FR, and it has no view of Meta, TikTok or Amazon Ads. Google also notes its statistics can be up to three hours delayed, which applies to any tool that reads them, Nupact included.

Automated rules are if-then instructions, and Google says they normally run "within 2 hours after the conditions are triggered" (Google Ads Help). Meta has its own rules engine (Meta for Developers). Rules are good hard limits. As anomaly detection they need a threshold for every metric, campaign and market, each platform's rules see only that platform, and Meta ads alerts arrive as Meta notifications unless you add a connector for Slack.

Connectors and LLMs fill gaps. An n8n flow that posts yesterday's spend to Slack works while its builder maintains it. Claude or ChatGPT can investigate a drop you already noticed, and Google's official Google Ads MCP server lets an assistant query account data, though its documentation says it is "strictly read-only. It cannot modify bids, pause campaigns, or create new assets" (Google Ads API documentation, updated 30 September 2026). Both run when someone asks, so a spike at 02:47 waits for the first person to log in.

What should a Google Ads monitoring tool watch?

Spend anomaly detection is one row of the job. Here are the signals worth watching on Google Ads, Meta, TikTok and Amazon Ads, with alert levels that are our suggested defaults; tune them per account.

SignalCompare withStart alerting at
Spend pacing, hourlySame campaign, market, hour and weekday, last 4 to 8 weeksAbove 2× expected hourly spend for two hours in a row, or the day projected above 130% of plan
CPC or CPM jumpThe campaign's 14-day median+40% in a day on campaigns with 100+ clicks a day, or +25% held for three days
CPA or cost per conversion28-day level, recent days adjusted for conversion lagThree-day CPA above 1.5× the 28-day level
Conversions drop to zeroConversions expected in the same hours of the last four weeksZero in a window where five or more were expected
Tracking or conversion-feed breakThe feed's normal gap between events, and platform conversions as a share of GA4 or backend conversionsNo events for twice the longest normal gap, or the share leaving its 28-day band
DisapprovalsAds that spent in the last seven daysAny disapproval on an ad that was spending
Search impression shareThe campaign's 28-day levelA loss of 10 points or more over two days
Budget-limited winnersYour CPA target or break-even ROASLimited by budget while beating target for five days or more

Zero conversions is the easiest row to miss, because spend looks normal. With five conversions expected, the chance of none by luck is about 0.7% (e−5, treating conversions as a Poisson count), so zero almost always means a break. For CPA, allow for lag: Google says "conversions may take up to 30 days" to be reported (Google Ads Help).

Why do fixed thresholds miss anomalies?

A threshold of 20% never tells you about a 19% move, however unusual it is for that campaign. Take a rule of CPC +20% day on day, applied to two campaigns. Search-DE moves about 4% a day, so a 19% jump is almost five times its normal swing and the rule stays silent. Search-IT moves about 15% a day, so, if those moves are roughly normal, it crosses 20% on about 9% of days by chance and the rule fires every eleven days on noise.

Which platforms does Nupact monitor?

Nupact acts on Google Ads, Meta, TikTok and Amazon Ads, drafting budget moves, bid changes, pacing corrections and creative rotation that apply when you approve them or your guardrails allow. It monitors and reports on The Trade Desk, DV360, LinkedIn Ads, Microsoft Ads, Snapchat, Pinterest, Spotify Ads, AppLovin and Unity, so a DSP's CPM jump reaches the same Slack channel while the change stays with your team. GA4, AppsFlyer, Adjust, Shopify, Salesforce and your other measurement and commerce sources feed the tracking checks: when Meta reports no purchases for a morning and Shopify recorded 140, the alert says the pixel broke.

How do you choose a PPC monitoring tool?

Ask any vendor, Nupact included, to show these on your own accounts.

  1. Baselines per campaign and market. Ask how normal is defined for Search-IT at 03:00 on a Sunday, and how that differs from Search-DE at the same hour.
  2. Every channel you spend on. Ask which platforms the tool can change and which it only watches.
  3. Root cause in the alert. Ask whether the alert names the keyword, placement or ad behind the move, the way the demo alert names the broad-match keyword “gestionale magazzino” and the midnight budget reset.
  4. A fix you can approve from Slack or Teams, from a phone at 07:00, before the stand-up.
  5. Tracking breaks handled as incidents, with automation paused while the data is bad, and a log of every alert, change and approver.

What else do people ask about Google Ads anomaly detection?

Is Google's Account Anomaly Detector script enough?

For a single Google Ads account where a same-day email is fast enough, often yes. It stops being enough when you need campaign-level and market-level baselines, coverage of Meta, TikTok or Amazon Ads, alerts in Slack or Teams, or the likely cause written into the alert.

How do I get Meta ads alerts in Slack?

Meta's automated rules notify you inside Meta, so Slack needs a connector such as n8n or Zapier, or a monitoring tool that posts there directly. Nupact posts Meta, Google Ads, TikTok and Amazon Ads alerts to the same Slack or Teams channel.

Can Nupact fix an anomaly without asking?

Only if you allow it. Autonomy is set per campaign and per action type, from alert only through propose-and-approve to full autonomy inside guardrails such as a maximum daily budget change of ±15% without approval. Every action is logged and can be reverted from the log.

How long until the first alerts arrive?

The first account audit arrives on the day you connect, covering budget leaking into stale assets and broken tracking. Nupact builds baselines over days two to five and starts alert-only monitoring on day five.

See it on your accounts

Bring one account that surprised you last quarter.

On the call we walk through how alerting would be set up on it, from the day-one audit to the first alerts after the baseline. Founder-led, your setup on screen. Pilots are scoped on live spend.