Every $1M to $100M brand eventually hits the same fork. Build a marketing team in-house or hire an agency. Both options are expensive. Both options usually disappoint. The reason is the same: neither one is built to own the system your growth runs on.
We've been on every side of this. Brad ran agencies, sat in CMO seats, and built in-house teams. The pattern doesn't change. Both routes break for predictable reasons. The fix isn't to pick the lesser of the two. The fix is to stop framing it as two options.
The in-house route: real cost is the hiring grid
To run a full-stack direct response motion in-house you need: a head of growth, a media buyer, a funnel/CRO operator, a copywriter, a creative producer, an email/lifecycle operator, an attribution engineer, and a project manager to make them work together.
Eight people. Fully loaded with benefits and tools, that's $1.2M to $1.6M a year before a single ad runs. Most companies in the $1M to $10M range can't justify that. So they hire one or two of those roles, hope the rest gets done, and watch the system stall.
The agency route: misaligned incentives by design
Agencies are not built to make you independent. They are built to be retained. The agency model rewards the agency for keeping you on the hamster wheel: more campaigns, more reports, more meetings, no system you actually own.
Every Google Ad you run lives in their account. Every funnel page lives in their builder. Every attribution dashboard lives behind their login. The day you leave, you leave with nothing. That isn't an accident. That's the business model.
Even when the agency is good at execution, they're usually only good at one slice: paid media OR funnels OR email. The other slices get subcontracted, ignored, or done badly. You end up paying agency margin on top of mediocre work.
- Hamster wheel agency
- A retainer model where the agency optimizes for being kept, not for building a system the client owns. Reports replace results. Activity replaces architecture.
Why the binary is the wrong frame
| In-house team | Traditional agency |
|---|---|
| $1.2M+ annual loaded cost for a real stack | $15K to $50K/mo, no ownership of the assets |
| 12 to 18 month ramp before output is real | Output starts fast, quality plateaus fast |
| Hard to recruit senior media buyers and lifecycle ops | Senior people sold the deal, junior people run the work |
| Tooling, attribution, and process you have to build | Tooling, attribution, and process you don't own |
| You can fire the wrong hire in a week | You can't fire the wrong account team without losing the account |
| Everything stays when people leave | Nothing stays when you leave |
Both columns share the same root problem. Neither is built around a system you own. In-house tries to build it from scratch and runs out of runway. Agency refuses to build it because building it means losing the client.
The third option: a team that operates inside your business
What most $1M to $100M brands actually need is a senior operating team that comes in, builds the marketing system, runs the campaigns on it, and stays inside the business long enough to make it durable. Not a vendor. Not a payroll team. Something in between.
That's what we do at Moonshot. We call it a bolt-on marketing team. The team shows up senior, executes the full stack, and the system stays yours. The technology we use, FlowOS, is yours to keep. The campaigns run in your accounts. The data lives where you can see it.
A simple test for which model fits you
- If you do less than $1M in revenue: hire one strong generalist and a freelance media buyer. Skip both options above.
- If you do $1M to $10M and your CAC is healthy: bolt-on team. You can't afford eight in-house hires and you'll outgrow a traditional agency in a year.
- If you do $10M to $100M and growth is plateauing: bolt-on team to install the system, then build a small in-house operating crew on top of it.
- If you do $100M+ and you already have a head of growth: in-house team, with a senior partner like us advising on architecture.
What to ask either option before you sign
- Where will the ad accounts live, in your name or theirs?
- Where will the funnel pages live, in your tools or theirs?
- Where will the attribution data live, in your dashboard or behind their login?
- On day one of a hypothetical breakup, what do we own?
- What does the team handoff look like if our internal hire wants to take this in-house in a year?
If they can't answer all five clearly, they're optimizing for retention, not ownership.
Where this leads
Stop framing this as agency vs in-house. Frame it as ownership vs rental. The right team for a $1M to $100M brand is the one that builds the system, runs it with you, and leaves you owning all of it.