What the agent watches

35+ diagnostic rules across nine categories. Each runs every 12 hours on every active campaign. We list the categories and the signals here. Exact thresholds are tuned per category and evolve as fleet-wide data accumulates.

Keywords and search terms

  • Negative keyword candidates (high spend, no conversions, classified as irrelevant by Gemini)
  • Cross-ad-group cannibalization (same search term firing in multiple ad groups)
  • Low search volume keyword cleanup
  • Premature broad match (broad match used before 30 conversions exist)
  • Broad match unlocking (campaign now has 30+ conversions, broad match would help)
  • Keyword bid below first-page CPC
  • Spend up, conversions flat (single-keyword diagnosis)

Bids

  • High CPC keyword (over 2x category average)
  • Bid below first-page CPC estimate
  • Keyword bid increase opportunity (CTR over 5%, low position)
  • Conversion rate drop (recent vs historical)

Geography

  • Geo wasted spend (location with $50+ spend, 0 conversions, 30+ clicks → suggest exclusion)
  • Geo bid opportunity (CPA variance over 1.5x across locations with 3+ conversions each)
  • Geo top performer (CPA under 50% of average, 5+ conversions → auto +15% boost)
  • Geo high CPC location (CPC over 2x average, 20+ clicks)
  • Geo low CTR location (CTR under 50% of average, 50+ impressions)

Device and schedule

  • Device bid modifier suggestions (mobile vs desktop performance variance)
  • Schedule expansion (high-performing hours not yet enabled)
  • Schedule contraction (consistently zero-conversion hours)

Ad copy and headlines

  • Stale ad copy (60+ days since last change, 500+ impressions)
  • Headline performance LOW (Google labeled 2+ headlines as LOW in an RSA)
  • Impression-starved headlines (under 1% of RSA share after 1000+ RSA impressions)
  • CTR-laggard headlines (CTR under 0.4x RSA average after 500+ impressions)
  • Ad strength scoring (Excellent, Good, Average, Poor)
  • Weak RSA performance vs ad-group siblings

Landing pages

  • Slow landing page (speed score under 60)
  • Low mobile-friendly composite (under 50)
  • Poor LP health composite (speed + mobile + a11y + best-practices, under 50)
  • Low accessibility (a11y score under 60)
  • Broken URL (3 consecutive unhealthy checks ~18h)
  • High bounce rate (GA4 bounce over 70%)

Bidding strategy

  • Bidding strategy upgrade (Manual CPC → Max Clicks → Max Conversions ladder)
  • Promote to revenue bidding (REVENUE secondary → primary after 30 paid invoices/30d)
  • Revenue signal starved (REVENUE primary but under 20 paid invoices/30d)
  • Revenue action missing (legacy campaigns without the 4-action set)
  • Ready for Target ROAS (Max Conversion Value mature, ROAS stable for 2 weeks)
  • Imported campaign stage audit (correctly_configured / data_starved / misconfigured / unsupported)
  • Stage health regression (managed campaign drifts into data_starved or misconfigured)
  • Stage external change detected (user changed strategy in Google Ads UI)

Funnel performance

  • Low funnel conversion (below category p25)
  • Severe step drop-off (any single step over 60%)
  • A/B test stale (over 100 visitors, no significance)
  • A/B winner undeclared (significance reached, no winner declared yet)
  • Low engagement (avg session under 10s)
  • No funnel data (50+ clicks, zero funnel sessions = tracking broken)

Tracking health

  • Conversion tracking broken (50+ clicks, zero conversions AND zero CRM leads)
  • Signal quality degraded (spam call rate over 40%, missed call rate over 25%)
  • Slow lead response (avg time to first action over 30 min)
  • Account-level: identity verification status, Customer Data Terms, Enhanced Conversions setup