Google Ads anomaly detection identifies a result that differs enough from an expected baseline to deserve review.
An anomaly is not automatically a problem. It might be a tracking failure, a promotion, a holiday, a large new customer, a budget change, or ordinary variation. Detection should answer “what needs attention?” Diagnosis still has to answer “why did it happen?”
A practical PPC anomaly rule needs six inputs:
- Metric
- Scope
- Evaluation window
- Baseline
- Minimum data
- Severity and notification policy
You can build those rules in code or configure scheduled conditions in Google Ads monitoring software.
Threshold alerts and anomaly detection are not the same
Teams often use the terms interchangeably, but they solve different problems.
| Method | Example | Best use | Main weakness |
|---|---|---|---|
| Absolute threshold | CPA > $175 | Enforce a real business limit | Misses unusual changes below the limit |
| Relative change | CPA up > 25% vs prior period | Detect movement across different account baselines | Overreacts to small samples |
| Historical baseline | Spend far outside its normal range for this weekday | Account for recurring patterns | Requires clean, comparable history |
| Multi-metric rule | CPA up and CVR down with minimum clicks | Improve precision and initial context | Can miss new failure patterns |
Use more than one method. A hard CPA ceiling protects unit economics; a relative rule catches deterioration before that ceiling is reached.
What counts as a Google Ads anomaly?
An anomaly should be unusual relative to an expectation that matters.
Examples:
- An account that normally records 8–12 conversions per weekday records none by the end of the day.
- Seven-day conversion rate is 28% below the preceding seven days with 600 clicks.
- Spend is 45% below its normal Tuesday range even though all campaigns appear enabled.
- Search CPC increases 35% while query mix and click volume remain comparable.
- One campaign’s CPA breaches its business limit while the rest of the account remains stable.
By contrast, CPA moving from $100 to $200 when spend doubles and each period contains only one conversion is a large percentage change based on sparse outcomes. Review spend and conversion volume before treating it as a stable efficiency trend.
Choose the metrics that reveal different failure modes
Do not monitor ten versions of the same outcome.
Outcome metrics
- Conversions or qualified conversions
- Conversion value
- CPA or CPL
- ROAS
These show business impact but may lag.
Upstream metrics
- Spend
- Impressions
- Clicks
- CTR
- Average CPC
- Conversion rate
These often show where a change entered the system.
For lead generation, a compact set is usually enough: spend, conversions, CPA, CPC, CTR, and conversion rate. For click-based reporting where conversion rate uses clicks, this relationship is useful:
CPA = Average CPC ÷ Conversion rate
If CPA rises, CPC, conversion rate, or both must have moved. Including those values in the alert makes the first investigation faster.
Build the expected baseline
The baseline is the most important modeling choice.
Previous equivalent period
Compare the past 7 days with the prior 7 days, or the past 14 with the prior 14.
This is easy to explain and works when behavior is relatively stable. It can fail when one comparison period is itself unusual.
Same weekday history
Compare Tuesday with recent Tuesdays or a full Monday–Sunday window with preceding full weeks.
Use this when weekday patterns are strong. Do not compare a low-intent weekend with a high-intent weekday and call the difference anomalous.
Same dates last year
This can help with annual seasonality, but only if campaigns, budgets, tracking, conversion definitions, and the business are sufficiently comparable. Last year is not a valid baseline merely because the dates match.
Rolling median
For a more robust baseline, calculate the median of recent comparable observations. The median is less distorted by a single spike than the mean.
For example, compare this Tuesday’s spend with the median spend from the previous eight Tuesdays. Then calculate how far the current value sits from that center.
A practical statistical method: median absolute deviation
If you have enough comparable history, median absolute deviation (MAD) provides a robust measure of normal spread.
Median = median of historical values
MAD = median(|historical value − Median|)
Robust anomaly score = 0.6745 × |current value − Median| ÷ MAD
A larger score means the current value is farther from the normal range. Do not turn a generic score cutoff into an automatic account change. Select the threshold using the account’s own historical false-positive rate, and handle the special case where MAD equals zero.
This method also does not solve sparse conversion data. If daily conversions are usually 0, 1, or 2, a 30-day or spend-based rule may be more honest than a statistical daily detector.
Minimum-data safeguards are mandatory
Every ratio needs a denominator; every change needs enough observations.
| Metric | Useful minimum-data partner |
|---|---|
| CPA | Minimum conversions and/or spend |
| Conversion rate | Minimum clicks |
| CTR | Minimum impressions |
| Average CPC | Minimum clicks or spend |
| Conversion-volume change | Minimum prior-period conversions |
| Spend change | Campaign enabled plus minimum expected budget |
Example:
Trigger a high-severity conversion-rate anomaly when 7-day CVR is down at least 25% from the prior 7 days and the current period has at least 200 clicks and the prior period has at least 10 conversions.
The percentage describes the movement. The minimums describe whether it is worth trusting.
Account for conversion delay and incomplete periods
Google Ads reports conversions after they occur and attributes them to the earlier ad interaction. As a result, recent CPA can look high and recent ROAS low before delayed conversions arrive. Google’s conversion-lag documentation explains this behavior and the estimates available for eligible campaigns.
Choose one of three approaches:
- Exclude the newest day or days from efficiency detection.
- Compare ranges at the same maturity, such as each range as measured three days later.
- Use conversion-lag estimates where Google provides them and the team understands their limits.
Intraday detection should compare the same hour and timezone, not a partial day with a completed day.
Combine conditions to make anomalies actionable
A single-metric alert says what moved. A paired rule begins to show where to look.
| Primary anomaly | Supporting condition | Initial hypothesis |
|---|---|---|
| CPA up | CPC stable, CVR down | Traffic quality, landing page, offer, or tracking |
| CPA up | CPC up, CVR stable | Auction or traffic-mix pressure |
| Conversions down | Spend and clicks down | Delivery, budget, demand, bids, or eligibility |
| Conversions down | Clicks stable, CVR down | Conversion path, intent mix, offer, or measurement |
| Spend down | Campaign enabled, impressions down | Demand, eligibility, bid target, rank, or policy |
Do not add so many conditions that a new failure mode can never qualify. Use one primary condition, one or two data-quality safeguards, and only the supporting metrics that materially improve triage.
Define severity before sending notifications
A useful severity model combines impact, confidence, and urgency.
Critical
Likely measurement or delivery failure with immediate business impact.
Example: zero account conversions after 2× normal daily spend in a high-volume account.
High
Strong evidence that a core business outcome breached tolerance.
Example: 14-day CPA above the economic limit and 30% above baseline with 20 conversions.
Medium
An upstream movement that needs review but may not yet affect the business outcome.
Example: seven-day CPC up 25% with stable CPA.
Low
A weak or emerging pattern for the next planned review.
Not every low-severity anomaly needs a Slack notification. A digest may be better.
Test an anomaly detector before trusting it
Backtest rules against at least several months of historical data when available.
For every historical trigger, label it:
- Real problem the team would want to catch
- Expected business event
- Harmless variation
- Data or tracking artifact
- Duplicate of an already open incident
Then calculate:
Precision = useful alerts ÷ all alerts
Recall = important known incidents detected ÷ all important known incidents
High recall with terrible precision creates alert fatigue. High precision with poor recall creates false confidence. There is no universal ideal balance; a tracking-failure detector should favor recall more than a low-priority CTR detector.
What happens after an anomaly is detected?
The alert should open a diagnostic sequence, not trigger a reflexive optimization.
- Confirm the comparison, timezone, and data maturity.
- Check conversion tracking and Campaign diagnostics.
- Review Change history and Explanations.
- Decompose the outcome into impressions, CTR, CPC, and conversion rate.
- Find the campaign or segment contributing most of the change.
- Record the cause, decision, owner, and follow-up date.
Use the full Google Ads performance-drop guide when the anomaly represents a broad decline.
Implementing PPC anomaly detection
Native Google Ads automated rules support a Send email action for notification-only conditions. Scripts can implement custom statistical logic across accounts. Both require clear scope, scheduling, and execution checks.
For shared scheduled threshold checks, LeadUp’s Google Ads monitoring software supports absolute thresholds or percentage changes, previous-period or prior-year comparisons, minimum clicks/impressions/conversions/spend, AND/OR conditions, and alert cooldowns. These are scheduled rule checks. The MAD model described above is a separate analytical method, not a claimed LeadUp feature.
Final takeaway
Good Google Ads anomaly detection is mostly disciplined expectation-setting.
Choose a meaningful baseline, compare complete periods, require enough data, account for conversion delay, and decide how severe a deviation must be before it interrupts the team. The detector should narrow attention. It should never pretend that unusual automatically means wrong.
