The Compounding Growth Stack: Part II
Meta and Google now run most of the mechanics of paid ads: bidding, targeting, placement, and an increasing share of the creative. The middle of the job is moving inside a box we don’t own and can’t out-engineer.
The lack of levers and twisting the dials is a double-edged sword. On the one hand, it takes specialized knowledge out of the equation. On the other, you’re on nearly equal footing with your competition.
But both platforms have a limited window into brand guidelines, continuity, and cross-learnings with other channels, so the edges are where the optimization opportunities lie. This is where AI can serve both the creative inputs and the post-click experience.
As part of defining our Compounding Growth Stack framework, we took a close look at how to define these artifacts and then leverage them with AI not only to optimize and steer campaigns but also to create a learning loop that gets better with suggestions over time.
A creative refresh system
So much of AI is pull (asking AI what you should do) vs. push (AI constantly analyzing and recommending). We believe the latter is where the unlock lies, so the system we created analyzes campaigns and posts results to Slack: the best and worst creative ranked by whatever KPI matters, a dollar figure on the waste, and three new creative directions to consider. A human chooses, copy gets written, a mockup gets built, and a ticket lands in Asana with everything linked. Start to finish, the human spends a few minutes.
A system like this isn’t terribly hard to build (once you have the infrastructure), but getting it dialed in to actually move the needle is where coupling data with rules, reasoning, and judgment gets us to truly optimized campaigns.
- Data: The bot reads Meta performance straight from our warehouse: spend, ROAS, CPA, click-through. No one exports a CSV.
- Rules: The bot doesn’t free-associate from the open internet. It reasons over a defined brand style guide, a set of winning examples, and hard guardrails. For example, an ad has to clear $50 in spend and 50 clicks before it gets ranked at all, and every cohort gets measured against a rolling 60-day baseline so we’re comparing against reality, not vibes.
- Reasoning: now the layers start to compound. The bot ranks the creative, then quantifies the opening in a way a strategist would have to dig for. One example found roughly $3,000 in spend flowing to the two worst ads at an $896 CPA against a $357 account average. That’s the refresh opportunity, stated as money. Then it proposed three on-brand directions for the next round, grounded in the rules and the winners.
- Judgment: The bot proposes. A human disposes, with one tap. Nothing ships on the machine’s say-so.
Creative refresh is high-leverage and low-risk, so a one-tap approval is the right amount of leash. Budget reallocation or launching a campaign would warrant a tighter one. Matching the autonomy to the stakes is most of the art, and I get nervous around anyone selling fully autonomous marketing. The interesting systems keep a human exactly where their judgment is worth the most.
The part that keeps it honest
As we were rolling this out, one of our performance leads pointed out that Meta’s algorithm already shifts spend toward better creative on its own, so a tool has to earn its keep beyond what an in-platform filter shows you. We work with non-profits, and an ad that spent $180 and drove one donation isn’t obviously beating one that spent $10K at a $222 CPA, because the bid strategy is optimizing for donation volume, and reading that correctly is a human call, not a ranking. And some of the early suggestions missed an account’s reality: a matching-gift angle that didn’t apply, “3x match” copy that makes no sense on an evergreen ad.
None of that is a failure of the system, however. That feedback is context a good operator carries that never made it into the rules yet, and the fixes are rules-layer fixes: pull spend, donations, ROAS, and CPA together; teach it the difference between an evergreen ad and a campaign. The moat gets built by exactly this, one correction at a time. You can’t buy your way past it, which is the point.
This is also why human-in-the-loop isn’t a phase we engineer away once the models improve. It’s the architecture. AI here is a fast, confident analyst who has never once been embarrassed by being wrong. The job didn’t disappear; it moved up a level, from making the work to judging it.
One bot, one node
Step back and the bot is a single node in a larger loop: objective, portfolio, audience, ad, landing page, analytics, offer, and back to a sharper objective. The creative refresh is the “ad” node. Next to it, automated daily pacing already runs across accounts, and a negative-keyword loop (the boring maintenance win from Part I) quietly keeps spend pointed at the right people.
What turns a clever bot into an operating model is that we run the same shape across account after account. Ingest the history, reason over it with our rules, propose a plan, hand it to a human to judge.
Focus on the edges
The platforms will keep eating the middle. Invest where they can’t reach or won’t bother: what “good” means for a given account, the experience after the click, the signal buried in a winning ad, and the speed of the loop itself. They all sit outside the platform’s walls (for now).
Keep the person on the other end in view, the donor, the supporter, the actual human the creative is for, and you get growth.
That’s the stack, running in the wild. Not a framework on a slide. A bot in a Slack channel, a human with a thumbs-up, and a loop that’s a little smarter than it was last week.
Want to see it in action? Here’s a demo video.
Reach out to me on LinkedIn if you ever want to geek out about Compounding Growth Stacks, AI-driven marketing, or the connected consumer journey.
Ready to turn ambitious growth goals into deeper customer connections and measurable business impact?
Reach Out Today