Marketing Budget Allocation Example: A DTC Brand Walkthrough

by
Isaac Lee, Content Marketing Lead

Most marketing budget guides share the same advice: spend 5–10% of revenue on marketing, allocate the largest share to your top-ROAS channel, and revisit quarterly. The logic is intuitive. The problem is that it assumes every dollar spent on a given channel generates returns at a consistent, measurable rate. Geo lift data from real DTC brands consistently shows that assumption is wrong.
No allocation guideline translates directly from one brand to the next. A percentage rule that works for a high-margin DTC brand with strong organic demand will misfire for a brand still building awareness, or one where most conversions happen off-platform on Amazon. The only reliable guide is measurement: specific, causal data about what each channel actually drives for your business.
This walkthrough builds a $500K quarterly budget twice: once using platform ROAS as the primary signal, and once using incremental ROAS (iROAS) from causal measurement. The allocations differ significantly. The outcomes do too.
Why percentage rules produce the wrong budget
Percentage-of-revenue rules treat marketing spend as a cost ratio rather than a causal lever. They answer "how much should we spend?" without asking "which spend is actually driving revenue?"
The structural limitation is that platform-reported ROAS can only measure what happens inside that platform's attribution window. Google and Meta, for example, can tell you which conversions they observed, but they have no visibility into what would have happened without their ads. Two channels can show identical platform ROAS while one is driving genuine incremental orders and the other is largely capturing customers who would have purchased anyway.
The result: percentage-based budgets systematically over-invest in channels with high observed ROAS and under-invest in channels whose true impact is invisible to last-click measurement.
The DTC budget allocation framework: before geo lift testing
Consider a DTC brand running four paid channels with a $500K quarterly budget, allocated by platform ROAS, with the highest reported return getting the largest share:
Channel | Spend | Platform ROAS | % of Budget |
|---|---|---|---|
Google (search + Shopping) | $200,000 | 3.4× | 40% |
Meta (paid social) | $150,000 | 2.1× | 30% |
TikTok (paid + Shop) | $100,000 | 1.6× | 20% |
YouTube | $50,000 | 1.2× | 10% |
This allocation follows a straightforward rule: reward the channels that report the highest returns. Google leads at 40% because it reports the best ROAS. YouTube sits at the bottom. The logic is clean and the numbers are auditable.
The allocation looks defensible. But it rests on a single assumption: that those ROAS figures are measuring the right thing.
What if those ROAS numbers are wrong?
Platform ROAS is built from attribution signals: clicks, view-through windows, and last-touch conversions. It records which ads were present before a purchase. It cannot record whether those purchases required the ad. A customer who searched Google for a brand they already intended to buy, clicked an ad, and converted registers as a Google conversion. That sale was going to happen. Google did not cause it.
For Google in particular, branded search and Shopping campaigns consistently capture high-intent, near-purchase customers who would have converted through organic search anyway. A strong reported ROAS can reflect excellent demand harvesting rather than demand generation. The two look identical in a platform dashboard.
The same misread happens in the opposite direction. A TikTok campaign drives awareness that leads to Amazon purchases three days later. TikTok never sees those conversions. Its ROAS looks weak. The channel gets underfunded. The incremental revenue it was generating on a platform where the pixel never fires disappears from the budget model entirely.
Incrementality testing provides the counterfactual platform ROAS cannot. A geo lift test divides matched geographic markets into test and holdout groups, runs ads in test regions, and measures the true lift in revenue across all channels: Shopify, Amazon, retail, TikTok Shop. The output per channel is iROAS: revenue generated specifically because the ads ran, including all halo effects, divided by spend.
For the brand above, geo lift tests reveal a different picture. Google's high reported ROAS is partly organic capture; its iROAS is considerably lower. Meta's modest platform number understates a meaningful halo effect on Amazon. TikTok is driving Amazon orders that never appeared in its own reporting.
Where each channel sits on its saturation curve
iROAS tells you what a channel is currently generating per dollar. It does not tell you what the next dollar will generate. A channel can show a strong iROAS while already sitting past its point of peak marginal efficiency, with each additional dollar of spend diluting the blended return rather than adding to it. The question that matters for budget allocation is not just "what is this channel's iROAS?" but "does this channel have room to scale, or is it already saturated?"
Marginal ROAS, derived through incrementality-adjusted saturation curves, answers that question. mROAS answers one specific question: how much will the next dollar in ad spend make us?
An incrementality-adjusted saturation curve shows how incremental revenue changes as spend scales, stripping out the organic baseline and cross-channel halo effects and leaving only what each additional dollar provably caused. The slope of that curve at your current spend level is your mROAS.
There is one complication. Some channels only reach their peak iROAS at a spend level that isn't realistic in a constrained multi-channel budget. A channel might deliver its strongest incremental return at $400K of quarterly spend, but allocating 80% of a $500K budget to a single channel starves everything else. Following mROAS channel-by-channel in isolation produces allocations that are locally optimal but globally inefficient. The answer is a model that looks at all curves simultaneously, applies the total budget constraint, and finds the allocation that maximizes blended incremental returns across the whole mix. That is exactly what the MBO does.
For each channel, this produces three signals: current iROAS, marginal iROAS at current spend (what the next dollar actually returns), and a saturation status: whether the channel has headroom to scale, is near its efficiency ceiling, or has already passed it.
The full picture for the hypothetical brand looks like this:
Channel | Current Spend | Platform ROAS | iROAS | Marginal iROAS | Saturation Status | Action |
|---|---|---|---|---|---|---|
$200,000 | 3.4× | 1.9× | 0.8× | Past peak: reduce | Reduce to $80K | |
Meta | $150,000 | 2.1× | 4.8× | 4.2× | Headroom: scale | Increase to $255K |
TikTok | $100,000 | 1.6× | 3.1× | 2.6× | Headroom: scale | Increase to $140K |
YouTube | $50,000 | 1.2× | 0.8× | 0.4× | Past peak: reduce | Reduce to $25K |
The channel that earned the largest budget share by platform ROAS is the one that gets cut. The channel sitting in second place gets the largest increase. The allocation that looked defensible was systematically misallocated.
The budget after geo lift: a real reallocation example
SimplyInked illustrates what happens when causal measurement replaces platform ROAS as the primary budget signal. Shifting Meta budget decisions to incrementality-grounded insights, rather than attributed results, enabled targeted reallocation that produced 58% sales growth and a 26% reduction in CAC. The percentage-of-revenue approach would not have surfaced the opportunity to reallocate confidently at that scale.
The before/after allocation, restructured around iROAS and saturation curves rather than platform ROAS, would look like this:
Channel | Before (Platform ROAS-led) | After (iROAS + saturation-led) | Change |
|---|---|---|---|
$200,000 (40%) | $80,000 (16%) | -$120,000 | |
Meta | $150,000 (30%) | $255,000 (51%) | +$105,000 |
TikTok | $100,000 (20%) | $140,000 (28%) | +$40,000 |
YouTube | $50,000 (10%) | $25,000 (5%) | -$25,000 |
The reallocation is not about cutting channels. It is about redistributing spend toward the channels where an additional dollar provably generates incremental revenue.
David Protein found a related benefit: incrementality data became a shared measurement language between finance and growth teams. Budget proposals grounded in iROAS carry a different level of credibility in a CFO conversation than platform screenshots. Causal data aligns both functions on what is actually working. The Aligning Marketing and Finance Performance one-pager covers this alignment process in practical terms.
How to read iROAS data across your channel mix
Once geo lift results are in, three patterns typically emerge:
Channels with iROAS above platform ROAS: The channel's true impact is larger than attributed. This is common when significant halo effects exist. These channels are under-invested relative to their actual contribution.
Channels with iROAS below platform ROAS: Attributed conversions include a high proportion of non-incremental sales. The channel may be capturing existing demand rather than generating new orders. Caution on scaling.
Channels with strong iROAS but weak platform ROAS: The most actionable finding. These channels are routinely defunded by attribution-led budgeting despite delivering genuine incremental growth.
Nordic Naturals is a useful example of the third pattern. A geo lift test revealed that 99.6% of TikTok's incremental impact landed on Amazon, despite campaigns directed at DTC conversion. The confirmed iROAS was 1.94×. Platform attribution, which could only see DTC clicks, reported a fraction of that. Without geo lift data, the standard response would have been to cut TikTok spend or redirect it. The test changed the business case entirely.
Building a budget template around saturation curves
A budget template built on iROAS alone still misses something. Two channels can show identical iROAS while sitting at very different points on their diminishing returns curves. One might have significant headroom to scale, where the next $50K would generate near the same incremental return per dollar. The other might already be past peak marginal efficiency, where additional spend is actively diluting blended returns. The right question for each channel isn't just "what is its iROAS?" but "where does it sit on its curve, and what does the next dollar return?"
This is what incrementality-adjusted saturation curves add to the picture. A standard saturation curve shows how attributed revenue changes as spend scales. An incrementality-adjusted saturation curve shows how incremental revenue changes, stripping out the organic baseline and halo effects that inflate platform numbers and leaving only the revenue each additional dollar of spend actually caused.
For each channel in your mix, that curve produces three things: the current iROAS, the marginal iROAS at current spend (what the next dollar returns), and a saturation signal: whether the channel has headroom, is approaching peak efficiency, or has already passed it.
The budget template that actually drives reallocation decisions looks like this:
Channel | Current Spend | Platform ROAS | iROAS | Marginal iROAS | Saturation Status | Action |
|---|---|---|---|---|---|---|
$200,000 | 3.4× | 1.9× | 0.8× | Past peak: reduce | Reduce to $80K | |
Meta | $150,000 | 2.1× | 4.8× | 4.2× | Headroom: scale | Increase to $255K |
TikTok | $100,000 | 1.6× | 3.1× | 2.6× | Headroom: scale | Increase to $140K |
YouTube | $50,000 | 1.2× | 0.8× | 0.4× | Past peak: reduce | Reduce to $25K |
The marginal iROAS column is what drives the allocation of every successive dollar. Google's average iROAS of 1.9× still looks reasonable in isolation, but at current spend the next dollar on Google returns less than a dollar of incremental revenue. The marginal signal says stop, even though the average looks passable. Meta's marginal iROAS of 4.2× confirms the opposite: the channel has not yet hit its efficiency ceiling, and additional spend continues to generate strong incremental returns.
Google's strong platform ROAS masked a saturation problem. The attributed revenue looked healthy because Google was capturing branded searches and lower-funnel conversions that would have happened anyway. The incrementality-adjusted saturation curve made that visible. The 2026 Google Ads Report provides benchmark data on Google's incremental contribution across DTC brands, which is useful context for calibrating expectations before running a geo lift test.
TikTok's modest platform ROAS concealed the inverse problem. Much of TikTok's impact was landing on Amazon rather than on the DTC site. The geo lift test corrected the iROAS figure, and the saturation curve showed the channel was well below its efficiency ceiling.
The "Saturation Status" column is the one most budget templates omit. Without it, allocations are built against averages when every budget decision is a marginal one.
Why mROAS alone isn't enough: where the MBO comes in
Budget planning by marginal iROAS still has a structural limitation. Some channels require significant spend before reaching their peak incremental efficiency. A channel might deliver its highest iROAS at $400K of quarterly spend, but in a $500K total budget, directing 80% to one channel starves every other channel of the spend needed to perform. Chasing peak marginal return on a single channel without considering the full mix produces allocation decisions that look locally optimal but are globally inefficient.
The right question is not "which channel has the best marginal return?" It is "given my total budget and each channel's curve, what allocation maximizes blended incremental returns across the whole mix?" That requires a model that looks at all curves simultaneously, respects the total budget constraint, and finds the allocation that produces the best aggregate outcome: blended iROAS, contribution margin, or new customer CAC.
That is what WorkMagic's Media Budget Optimizer does. Rather than treating each channel in isolation, the MBO takes every incrementality-adjusted saturation curve, applies the total budget constraint, and calculates the allocation that maximizes the chosen objective across the full mix. When the mandate changes, whether from profitability to top-line growth or from blended ROAS to new customer acquisition, the model recalculates in minutes.
IndaCloud used the MBO when leadership shifted the growth mandate mid-quarter. The optimal reallocation was modeled and executed rapidly, achieving a 150% increase in marketing profitability. Manual saturation curve analysis across four channels would have taken weeks; the MBO produced a defensible, finance-ready allocation in a single run.
For brands managing three or more channels at meaningful spend, manual curve analysis becomes impractical. The combination of incrementality-calibrated MMM and the MBO is the infrastructure that turns this framework into a repeatable budget planning process, not a one-time exercise.
A note on upkeep: saturation curves shift over time as competitive pressure, creative fatigue, and audience behavior change. As the saturation curves blog details, the model needs refreshing; treat it as a living input, not a one-time output. Flag channels where incrementality data is more than two quarters old before the next major budget cycle.
LifePro used incrementality-calibrated MMM to build a defensible, curve-based budget strategy ahead of BFCM. Geo lift data and calibrated MMM together corrected attribution bias and gave the team forward-looking allocation confidence rather than one derived from prior-quarter platform reports.
For the full methodology behind building and interpreting saturation curves across a full media mix, see how to optimize marketing spend.
Frequently asked questions
How do you allocate a marketing budget?
Start with a channel inventory and current spend. Run geo lift tests on your highest-spend channels to determine iROAS per channel. Reallocate spend toward channels where iROAS exceeds platform ROAS (indicating undercounting of true impact) and reduce investment where iROAS falls materially below platform ROAS (indicating a high proportion of non-incremental conversions). Revisit allocations after each test cycle, not just annually.
What is the 70-20-10 rule for marketing budget?
The 70-20-10 rule is a percentage-based heuristic: 70% of budget to proven channels, 20% to emerging channels, 10% to experimental tactics. It is a useful starting framework for structuring budget conversations, but it does not tell you which channels belong in which tier. That question requires causal measurement: specifically, iROAS data from geo lift tests rather than platform ROAS or historical spend share.
What percentage of revenue should go to marketing?
Common benchmarks range from 5% to 15% of revenue for DTC brands, with higher percentages typical in early-growth phases. The more useful question is marginal return: what does the next $50K generate across channels, based on actual iROAS data? A brand spending 8% of revenue on marketing but concentrated in low-incrementality channels will consistently underperform one spending 12% grounded in causal allocation decisions.
How do you create a marketing budget from scratch?
Build the budget in four steps. First, establish baseline spend by channel and gather platform ROAS for each. Second, run geo lift tests on your two or three largest channels to generate iROAS benchmarks. Third, use the iROAS data to identify channels where spend is too high or too low relative to causal contribution. Fourth, set total budget as a function of channels that show positive iROAS at current or increased spend levels. Reassess quarterly and retest annually or when channel conditions change materially.