First number to ping when the ad team’s morning is going to be bad.
At a glance
Real-time alert when ROAS drops sharply against a same-day-of-week baseline. The first ping when the ad team’s morning is going to be bad. Important: a ROAS drop alert is not always a real performance problem; it is often a measurement break. Read this with Conversion Drop and Clicks vs Conversions before acting.
Calculation
Calculated automatically from your Google Ads data. See the At a glance summary above for what the metric tracks and the worked example below for a typical reading.Worked example
A UK fashion brand. Tuesday 14 Apr 26, 18:00 local. The alert fires.
A common diagnostic decomposition: did spend rise, did conversions fall, did conv. value per conversion fall, or did all three?
What this scenario tells the analyst (the playbook):
- The alert is screaming, but spend and clicks are normal. That immediately rules out auction-side issues (CPC spike, competitor entry, budget cap kicked in). The cause is conversion-side.
- Step 1: Pixel check. Run a £1 test order on the brand site. Watch Tag Assistant for the conversion fire. Most common cause of a 60% ROAS drop with stable spend: a developer pushed a code change to the checkout success page yesterday and broke the Google Ads conversion tag. Fix the tag, conversions resume.
- Step 2: GA4 cross-check. Look at GA4 Realtime > Conversions. If GA4 also shows the drop, the conversion really broke. If GA4 looks normal, only the Google Ads pixel broke.
- Step 3: Commerce platform check. Look at Shopify or BigCommerce orders for the same window. If orders held normal volume, only Google’s measurement broke; revenue is fine. If orders also dropped, traffic is converting in real life too, this is a real performance issue.
- Step 4: Attribution model check. Tools > Attribution. If someone switched DDA -> Last click overnight, that alone drops ROAS 15-25%. Real conversions, just credited differently.
- Don’t pause campaigns until steps 1-4 clear. A spurious pause based on broken measurement is a worse outcome than a few hours of false-alarm ROAS, you’d kick yourself for handing share to competitors.
- Spend +30%, conversions +10%, ROAS -15%: scaling beyond efficient frontier. Expected when you raise budgets aggressively. Decision is whether the absolute revenue gain is worth the ROAS dilution.
- Spend flat, conversions flat, conv. value per conv. -40%: discounting too hard, or AOV crashed (smaller orders). Not a tracking issue. Check promo activity.
- Spend flat, conversions -50%, conv. value per conv. flat: classic tracking break. See playbook above.
- Spend +50%, conversions -10%, ROAS -40%: a CPC spike (auction shift) + conversion-rate decline. Multi-cause. Check competitor activity, landing-page changes, and creative fatigue together.
- Today is Monday after a sale ended Sunday: expected, this is the post-promo regression. Don’t act on a single-day Monday alert if the prior weekend had a sale.
Sibling cards merchants should reference together
Reconciling against the vendor’s own dashboard
Where to look in Google Ads UI: Google Ads > Overview shows daily Conv. value / cost on the headline chart. Hover today to see the figure that tripped this alert. Google Ads > Reports > Predefined > Time > Day, with columns Cost, Conv. value, Conv. value / cost. Filter to last 14 days for the daily series. Google Ads > Tools > Conversions > Status is where pixel-fire issues surface as “No recent conversions” warnings. Always check here first when a ROAS alert fires. Google Ads > Tools > Attribution shows the current attribution model. If the model was changed recently, this alert may fire spuriously. Other Google Ads views that look like the same number but aren’t:- All conv. value / cost: includes view-through. A primary-only ROAS drop with all-conversions ROAS stable typically means the primary purchase pixel broke specifically.
- Predefined > Performance: the breakdown view; shows per-campaign ROAS contribution.
- Search Lost IS (rank/budget): a coverage metric, not ROAS.
- Smart Bidding “Bid simulator”: shows what would happen at different ROAS targets; not the current measured ROAS.
Why the BUSINESS metric often differs (the IMPORTANT one):
A ROAS drop in Google Ads can mean any of the following, with very different responses:
- The Google Ads conversion pixel broke but real orders held (most common; cross-check commerce platform).
- Real demand dropped (promo ended, season turned, competitor launched a price war).
- Attribution model shifted silently (DDA <-> Last click); Google Ads loses credit; total business revenue unchanged.
- AOV crashed (smaller orders); ROAS drops because conversions_value/conversion fell, not because conversions fell.
- Bot-traffic surge inflated spend without conversions (residual IVT past Google’s filter).
- Consent Mode v2 denial rate increased; observed conversions drop, modelled conversions partly fill the gap, ROAS noise increases.
Known limitations / merchant FAQs
The alert just fired. What’s the FIRST thing I should do? Open Clicks vs Conversions. 30-second triage: if clicks held but conversions dropped, you have a tag-break, fix the pixel before doing anything else. If both clicks and conversions dropped, it’s an auction or demand issue, different fix path. ROAS dropped but I don’t see anything wrong, what now? Three checks: (1) Did someone change the attribution model in Tools > Attribution recently? Switching DDA <-> Last click can drop ROAS 15-25% by itself. (2) Did a creative refresh launch yesterday? New creative can take 7-14 days to stabilise. (3) Did a competitor enter the auction (CPC spike on key terms)? Check CPC by Campaign. Real performance shifts usually have a co-symptom you can find within 5 minutes. Why does the alert fire on Mondays after a sale? The same-DOW baseline compares Monday-to-Monday, but if last weekend had no sale and this weekend did, today’s Monday will show a drop relative to last Monday’s normal pattern. This is a known false-positive shape; expect alerts on the Monday after every promo. Document the promo schedule and skip these alerts. My ROAS drop is 28%, just over the 25% threshold, is it real? Borderline. The 25% threshold is a noise-vs-signal heuristic; 28% is in the noisy band. Wait 24 hours before acting; if the alert reasserts on day two or the drop is corroborated by Conversion Drop, treat as real. A single-day 28% drop that doesn’t recur is usually noise. Can I tighten the 25% threshold for my high-volume account? Yes, larger accounts with 100+ conversions/day have lower noise floors. A 15% threshold is reasonable for high-volume accounts. Raise this with VortexIQ support. My PMax campaign keeps triggering this alert, what gives? PMax has higher inherent ROAS volatility because Google’s optimiser shifts spend across channels (Search, Display, YouTube) without exposing the mix. A PMax ROAS drop may reflect Google reallocating spend rather than performance regression. Cross-check PMax asset-group reports inside Google Ads. PMax also has a learning phase (typically 2-4 weeks per change); ROAS swings are normal early. What if my ROAS dropped but my commerce platform shows normal orders? You have a measurement break. Real revenue is fine. Action: check the conversion pixel on the order-confirmation page (Tag Assistant in Chrome, 60 seconds). A developer pushed code somewhere that removed or broke the tag. Once fixed, conversions will start flowing again, but you typically lose 24-72 hours of attribution data. Multi-currency setup, how does this alert work? Google Ads accounts are single-currency. Each account fires its own ROAS alert independently in account currency. The 25% threshold is currency-independent (it’s a percentage drop). Does view-through inclusion affect this alert? Yes. The alert uses primaryconversions_value only. Display and YouTube campaigns will trigger this alert more often than Search/Shopping because their primary-only ROAS is lower than their all-conversions ROAS, and the lower starting baseline produces more noise. For accounts heavy on Display, consider a higher threshold (35-40%).
Can I trust today’s ROAS for the alert?
The alert is suppressed before 14:00 local time precisely because morning data is incomplete. By 18:00 local, the day is mostly populated and the alert is reliable. Conversions take 1-4 hours to ingest, so a 09:00 alert would catch every “morning is slow” pattern as a false positive.