From 5,000+ Campaigns to Fewer Than 1,000
Campaign count was a management problem. Consolidation only worked because measurement and automation moved with it.
Zachary O'Donnell · · 1 min read
An advertising account with more than 5,000 campaigns is not a sign of sophistication. It is a sign that the structure grew faster than the team’s ability to apply one set of rules.
I helped bring that account under 1,000 campaigns while ACOS moved from above 16% to 14.5% and net sales increased. The count was not the goal. A structure people can explain was the goal.
What the long tail was costing
Every extra campaign is another place for a bid, a budget, and a naming convention to drift. Reporting gets longer. Exceptions get quieter. The work shifts from “what should we change” to “can we even find it.”
At that size, optimization becomes a sampling exercise. The largest campaigns get attention. Everything else runs on last quarter’s logic.
Consolidation is a measurement decision
Merging campaigns can destroy the cut you needed. I did not want a smaller account that could no longer see a placement or a product group spending without returning sales.
The rule was: keep the distinction that changes an action, and retire the distinction that only creates another row. Placement, product economics, and the ability to see spend still had to survive the migration.
Automation made the new structure stick
Fewer campaigns are easier to mismanage if the weekly process is still a pile of exports. The Python optimization workflow applied the same performance logic across the account, wrote recommendations the team could review, and stored a history of modifier changes.
Manual effort dropped by roughly 60–80%. That time went back into launches, exceptions, and conversations with the people responsible for the commercial target.
What I would repeat
Agree on the decision the structure must support. Count campaigns only as evidence that the decision is getting harder. Migrate in a way that preserves the cut you will defend in a business review. Then automate the first pass so the new structure does not bloat itself back to 5,000.