Insights · Full-funnel media planning
How to split a DTC ad budget across Meta, Google, TikTok and CTV
The short answer
Start from the new customer CAC your margins can afford. Fund the channel that acquires customers most profitably until it hits that ceiling, add Google to capture the demand it creates, then add reach channels like TikTok and CTV, and keep five to ten percent of spend for tests. Review weekly and reallocate monthly.
- Set the CAC ceiling from first-order and 90-day margin before choosing channels.
- Fund the most efficient acquisition channel to its limit before adding reach.
- Judge each channel on its own job, and the total on blended MER and new customer CAC.
- Keep 5 to 10 percent of spend as a protected test budget.
Most DTC ad budgets are split by habit. Meta gets what it got last quarter, Google gets whatever is left, and TikTok gets a test that never quite gets a fair shot. The result is a budget nobody can defend, because nobody decided what each channel was for.
Here is the order we use instead. It works whether you spend $20,000 a month or $500,000.
Step 1: Work out what a new customer is worth
Before talking channels, answer one question: how much can you pay to acquire a new customer and still make money?
Take your average first order, subtract product cost, shipping, payment fees, discounts and returns. That is first-order contribution. Then look at what a new customer adds over the next 90 days. If repeat purchase is strong, you can afford to pay more than first-order contribution up front, as long as cash flow allows it.
That number is your CAC ceiling. Every channel in the plan has to bring in new customers below it.
Step 2: Give every channel a job
Each channel does one of three jobs:
| Job | What it does | Typical channels |
|---|---|---|
| Reach | Finds people who have never heard of you | CTV, YouTube, TikTok, Snapchat, Meta video |
| Consider | Turns attention into intent | Meta, TikTok, X, creator ads |
| Capture | Closes demand that already exists | Google Search, Shopping, Performance Max, Meta Advantage+, retargeting |
A channel is judged on its own job. Reach is not judged on last-click ROAS, and capture is not praised for sales it would have made anyway.
Step 3: Fund the engine first
Find the channel that brings in new customers most profitably at scale. For most DTC brands that is Meta. Fund it until the cost of the next new customer reaches your ceiling. That is where extra spend stops paying. Plan on that marginal cost, not the average: a channel’s average CAC can look fine while the last 20 percent of its budget is losing money.
Then add Google to capture the demand that Meta and everything else creates: Shopping and Performance Max first, then non-brand search. Keep brand search only as large as a holdout test says it needs to be.
Step 4: Add reach when the engine can catch it
Reach channels like TikTok, YouTube and CTV create demand that shows up later, often in branded search and direct traffic. If your capture channels are weak, that demand leaks to competitors. So add reach once the engine is near its limit and working, and measure it on lift, not clicks. (More on that in when CTV is worth it for a DTC brand.)
Step 5: Protect a test budget
Keep five to ten percent of spend for new channels, formats and audiences. Agree on the pass or fail line before the test starts, for example “new customer CAC within 20 percent of target after six weeks.” This is how you find the next channel before the current one plateaus.
What it can look like
For a hypothetical skincare brand spending $100,000 a month, a plan might land like this:
| Channel | Share | Job |
|---|---|---|
| Meta prospecting and Advantage+ | 42% | Main engine for new customers |
| Google Search, Shopping and PMax | 22% | Capture demand, defend the brand |
| TikTok | 12% | Reach younger buyers, find new angles |
| CTV | 10% | Reach at TV scale, lift search |
| Retargeting | 6% | Bring back high-intent visitors |
| Tests | 8% | Find the next channel |
Your split will be different. It should come from your margins, your average order value, your seasonality, and what your data says is already working.
Step 6: Reallocate monthly, on evidence
Inside each channel, budgets move daily within agreed limits. The split across channels moves monthly. Weekly cross-channel moves chase noise; monthly moves give each channel enough data to judge, while still catching problems before a bad month turns into a bad quarter.
Read the plan against Shopify, not platform dashboards. The numbers that matter are blended MER, new customer CAC and contribution margin after ad spend (why MER, not ROAS). If those are improving, the split is working, whatever each platform says about itself.
This is the method behind our full-funnel media planning.