Agent overview

VibeAds' agent is the optimization engine that checks every campaign and finds the small adjustments an agency would make for you. On Free it lists issues once a week. On Pro it runs every 12 hours and surfaces recommendations you approve. On Max with hands-free on, it acts on its own with safety gates.

What it is

Not a single chatbot. A pipeline of cron-driven background jobs and event-driven webhooks running across several Edge Functions:

  • agent-sync: pulls 30 days of metrics from Google Ads every 6 hours. Detects external changes (you edited something in Google Ads UI). Reverse-syncs bidding strategy and budget mismatches.
  • agent-aggregate: runs nightly. Computes category benchmarks, funnel patterns, fleet-wide diagnostic rule success rates.
  • agent-optimize: runs every 12 hours. 35+ diagnostic rules across keywords, bids, geo, device, schedule, ad copy, landing pages, bidding strategy.
  • agent-reason: Claude Opus 5.5 reasoning loop for complex multi-step diagnoses. Credit-gated to Pro and Max.
  • measure-outcomes: every 6 hours, verifies that previously-executed agent changes actually helped. Auto-rolls back changes that hurt metrics.

What runs on what cadence

JobCadenceTier
Metrics syncEvery 6 hoursAll plans
GA4 syncDaily 05:00 UTCAll paid
Funnel syncDaily 05:30 UTCAll paid
Benchmarks aggregationNightly 03:00 UTCAll paid
Diagnose + recommend (Max hands-free also applies low-risk changes)Every 12 hoursAll paid
Outcome measurementEvery 6 hours (T+24h/T+7d/T+14d)All paid
Weekly digest emailSunday 13:00 UTCPro, Max

Blast-radius gating

Every recommendation is classified by what it would cost in dollars if the agent is wrong, not by what it would gain. Four classes:

  • Surgical: less than $50 over 7 days if wrong. Examples: block a wasted search term, a keyword bid change of up to 30%. Auto-execute on Max, unless the change touches budget, pauses or ads, which always ask.
  • Meaningful: $50 to $500 over 14 days if wrong. Examples: a location bid modifier of 16 to 30%, a bidding target change of up to 25%. Auto-execute on Max only when the rule has a track record in your category: at least 8 decisive outcomes and a cautious success rate of 80% or more. Budget, bidding strategy and bidding target changes in this class still ask.
  • Large: $500+ over 14 days if wrong. Examples: pause a campaign, budget shift over 20%, target ROAS change over 25%. Human approval always.
  • Legally dicey: Restricted categories (locksmith, garage door), unverified accounts, conversion action changes. Human approval always, regardless of tier.

Decision framework

Pre-Phase-38, Max hands-free gated on the agent's confidence ("low risk" recommendations ran on Max without asking). That assumed users could evaluate the recommendations.

We changed it because a plumber cannot evaluate "+20% mobile bid modifier." The only thing that justifies interrupting them is a decision whose downside exceeds the cost of ignoring it. Blast-radius gates on user downside, not agent confidence.

Read it like this: surgical = pocket change, meaningful = a weekly Google Ads budget, large = a month of Google Ads spend, legally dicey = compliance + brand risk regardless of dollar amount.

The trust loop

Every state transition is observable and rolls back if needed:

  1. Diagnose → identify issue from snapshot data.
  2. Classify → assign blast radius + rule success rate.
  3. Decide → apply it (Max hands-free, low-risk only) or queue for your approval.
  4. Execute → mutate Google Ads, capture pre-execution state.
  5. Notify → in-app notification + (on Pro and Max) weekly digest.
  6. Measure → check metrics at T+24h, T+7d, T+14d windows.
  7. Verdict → improved, unchanged, or worsened.
  8. Rollback on worsened → restore pre-execution state, notify user.
  9. Aggregate → feed verdict into fleet-wide rule success rate.