Agent overview
VibeAds' agent is the always-on optimization engine that watches every campaign and makes the small adjustments an agency would make for you. On Pro it 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 4.6 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
| Job | Cadence | Tier |
|---|---|---|
| Metrics sync | Every 6 hours | All paid |
| GA4 sync | Daily 05:00 UTC | All paid |
| Funnel sync | Daily 05:30 UTC | All paid |
| Benchmarks aggregation | Nightly 03:00 UTC | All paid |
| Diagnose + recommend + execute | Every 12 hours | All paid |
| Outcome measurement | Every 6 hours (T+24h/T+7d/T+14d) | All paid |
| Weekly digest email | Sunday 13:00 UTC | 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: add a negative keyword, ±15% keyword bid, exclude a low-spend location. Auto-execute on Max.
- Meaningful: $50 to $500 over 14 days if wrong. Examples: device bid ±20%, budget shift 5 to 20%, promote revenue conversion. Auto-execute on Max only when the rule has fleet-wide success rate over 80% across at least 10 samples in your category.
- 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, hands-free gated on the agent's confidence ("low risk" recommendations auto-fired). 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.
The trust loop
Every state transition is observable and rolls back if needed:
- Diagnose → identify issue from snapshot data.
- Classify → assign blast radius + rule success rate.
- Decide → auto-execute or queue for human approval.
- Execute → mutate Google Ads, capture pre-execution state.
- Notify → in-app notification + (on Max) weekly digest.
- Measure → check metrics at T+24h, T+7d, T+14d windows.
- Verdict → improved, unchanged, or worsened.
- Rollback on worsened → restore pre-execution state, notify user.
- Aggregate → feed verdict into fleet-wide rule success rate.