Target Realism Checker
Compares every Target CPA and Target ROAS against what the campaign actually delivered — catching the too-aggressive targets that silently strangle volume and the too-loose ones wasting efficiency.
by Dmytro Tonkikh·chiliad.io
Overview
Target Realism Checker reads every campaign's Target CPA / Target ROAS (both standalone strategies and targets set inside Maximize Conversions / Maximize Conversion Value) and compares them against the campaign's actual CPA / ROAS over the lookback window. Targets more than a configurable factor away from reality are flagged in both directions: too aggressive (the algorithm can't hit it, so it skips auctions and volume dries up) and too loose (free efficiency left unclaimed).
Setup
- 1Open your Google Ads account and go to Tools → Bulk Actions → Scripts.
- 2Click the + button to create a new script and paste the code below.
- 3Adjust GAP_FACTOR (default 1.3 = 30% divergence) and MIN_CONVERSIONS to your volume.
- 4Set EMAIL_ADDRESS to receive the report; leave blank for logs only.
- 5Preview once to verify, then schedule monthly.
Configuration Variables
| Variable | Default |
|---|---|
DATE_RANGE | LAST_30_DAYS |
GAP_FACTOR | 1.3 |
MIN_CONVERSIONS | 10 |
EMAIL_ADDRESS | (empty) |
Expected Output
[OK] Brand — Exact - target CPA 30.00, actual 27.10 === Target Realism Checker (LAST_30_DAYS) === Campaigns with targets judged: 9 Flagged: 2 Generic — Broad TOO AGGRESSIVE - target CPA 25.00 vs actual 44.80 (52 conv). Volume is likely suppressed; raise gradually (10-20% steps). Shopping — All Products TOO LOOSE - target ROAS 250% vs actual 410%. Room to tighten. Email sent to you@example.com
Notes
Campaigns on portfolio bid strategies are not judged (their targets live on the portfolio, not the campaign). Change targets in 10-20% steps and let each change settle for about a week — large jumps restart the learning phase and muddy the comparison.