The Task
Every PPC account manager starts their day the same way: logging into accounts, scanning for anomalies, checking pacing against budget, looking for disapprovals, reviewing conversion tracking, and mentally sorting which accounts need attention today and which are fine. For a portfolio of 5-10 accounts, this is a manageable morning routine — maybe 30 to 45 minutes before you start the real work.
The Pain at Scale
At 87 accounts, a manual morning check simply wasn’t possible. Not “it took too long.” It wasn’t possible.
The math doesn’t work. Spending just 2 minutes per account — barely enough to glance at the dashboard — is nearly 3 hours. And a 2-minute glance doesn’t catch pacing drift, conversion tracking breaks, or disapprovals buried in campaign settings.
So what actually happened was selective checking. You look at the accounts you remember having issues. You spot-check a few others. You hope the rest are fine. And most days, they are — 95% or more of the portfolio needs no intervention on any given day. But the 5% that does need attention doesn’t announce itself. The accounts that are quietly underspending by 8% don’t send alerts. The campaign that stopped tracking conversions at 2 AM is invisible until someone happens to check.
And then there’s the prioritization problem. Three sub-portfolios with different rules: Beam Living accounts have a ±5% pacing tolerance. LivCor and Goldfarb have ±8%. An account flagged last week for the same issue might be a chronic structural problem that doesn’t need another investigation. Holding all of this context across 87 accounts requires either a superhuman memory or a system.
The Agent
The Morning Briefing is an orchestration agent — it doesn’t do the analysis itself. It coordinates specialist agents, synthesizes their findings, and delivers a prioritized action plan.
It starts by loading the account list — 87 specific Customer IDs filtered from the broader agency portfolio of 298 accounts. Then it checks the intelligence layer: known patterns from previous investigations, chronic issues that have been flagged before, and pending outcome checks from decisions made in prior days.
Next, it runs a portfolio-wide health scan across all 87 accounts, checking pacing variance, zero spenders, conversion tracking issues, ad disapprovals, asset disapprovals, and upcoming campaign end dates. Each account is evaluated against its portfolio-specific threshold.
The results feed into a 5-tier prioritization framework (Critical, High, Medium, Low, No Action) that selects the top 3-5 accounts needing investigation. For novel issues, it launches parallel investigation agents — each with access to six specialized skills covering campaign-level spend analysis, impression share diagnostics, budget calculations, and pacing rules. They run simultaneously, not sequentially.
The output is a structured briefing: portfolio health snapshot, pacing summary by severity tier, detailed investigation findings with root cause diagnosis and specific budget recommendations, creative compliance issues, and a prioritized action list for the day.
The Result
87 accounts triaged in 5-10 minutes. Not scanned — triaged. Every account checked against its specific thresholds, every anomaly flagged, the top issues investigated with root cause diagnosis, and a prioritized action list ready before the first cup of coffee.
On a typical day, 95% or more of the portfolio needs no intervention. The briefing confirms that in minutes, so the day starts with strategic work instead of anxious account-scanning.
But the real proof came when the briefing caught a CallRail configuration issue that had silently broken conversion tracking across 20-30 accounts at once. No error messages. No alerts from Google Ads. Just — conversions stopped recording. The briefing flagged the anomaly in its morning scan. Without it, the break would have gone unnoticed for a week or more, potentially until a client noticed their reporting looked wrong.
It happened twice: first catching 10 accounts, then a second incident catching 20-30. Both times, the briefing surfaced it the morning after it broke.
That’s the difference between “I manage 87 accounts” and 87 accounts are actually managed.
This is one of 22 agents running in production across 118 accounts, orchestrated by a 600-line operational playbook.
Previous: How the Search Query Pipeline classifies 3,000+ queries in 30 minutes