Many brands don’t use a single media buying model: they run an in-house team, an agency and programmatic or autonomous execution at the same time. That isn’t a transition problem to be solved by migrating from one model to the next. The real risk is that nobody has defined which layer owns which decision, so rules contradict each other and some decisions get made twice while others aren’t made at all.
Why media buying models coexist instead of replacing each other
Media buying models coexist because each one holds something the others don’t, so replacing one with another usually means losing something.
The industry often describes these models as a ladder, from in-house at the bottom to autonomous AI at the top, as if maturity meant climbing it. In practice, in-house strategy, an agency relationship and automated execution tend to run in parallel. The question isn’t which model wins. It’s how the models you already have work together.
What each model contributes in a mixed setup
In a mixed setup, each model contributes a different kind of decision.
The in-house team holds context an external system rarely has: brand judgment, internal priorities, what was vetoed last quarter and why. The agency holds relationships, negotiated terms and cross-brand experience. Programmatic, smart bidding or autonomous execution hold speed, the ability to act between reviews. Treating these as stages to leave behind misreads what each is for.
Three signs your media buying models are working against each other
When ownership isn’t defined, the mix shows three recognizable symptoms.
Budget rules that contradict each other between the in-house team and the automated layer. Brand guidelines the agency enforces that the automated system was never given. And decisions made twice, or not at all, because each layer assumed another one owned them. None of these is a failure of the people involved. They’re what happens when the split of decisions is left implicit.
A decision ownership map for mixed media buying models
The fix is a simple map that assigns every type of decision to one owner and one reviewer
| Decision | Typical owner | Reviewed by |
| Annual budget and priorities | In-house team | Marketing leadership |
| Brand rules and restrictions | In-house team with the agency | In-house team |
| Channel eligibility and spend ceilings | Agency or in-house team | In-house team |
| In-flight budget reallocation | Automated or autonomous layer | Agency, against the boundaries |
| Bids and creative rotation | Automated or autonomous layer | Agency, by exception |
| Accountability for the outcome | Defined explicitly, ideally by contract | Marketing leadership |
This is an example, not a template. The value is in writing it down: once every decision has one owner, the layers stop undoing each other’s work. Which model should own the fast decisions depends on your volume and approval speed, as we explain in how to choose a media buying model.
Where Mainkore fits in a mixed setup
In a mixed setup, Mainkore takes the in-flight execution decisions, inside boundaries the in-house team and the agency define.
As autonomous advertising decision intelligence, it doesn’t replace the other layers. It gives the fast decisions a single, clearly defined owner that operates continuously and follows the same rules every time. How it works with the agency layer is covered in does autonomous AI replace your agency, and how the boundaries are set in how to govern AI in paid media.
FAQ
Yes, and many do. An in-house team, an agency and automated execution often run in parallel, each contributing a different kind of decision.
The way an organization splits media decisions between its in-house team, its agency and its automated or autonomous systems, including who owns and who reviews each type of decision.
Map every type of decision to one owner and one reviewer, and make the boundaries the automated layer follows explicit.
All five models are compared in our media buying models guide. Want to see where Mainkore would sit among the models you already run? Talk to us.
Mainkore. One clearly defined layer inside the models you already run.

