To allocate marketing budget by channel with data, fund each channel up to the point where the next dollar stops paying back, measured in cost per sale or gross profit from your CRM, not platform ROAS. In practice: build a per-channel table of spend, sales and revenue, rank channels by marginal (not average) return, shift budget in steps of 10 to 20%, and confirm the big moves with an incrementality test. Once spend is large and steady enough, a marketing mix model adds a statistical view across all channels.
This guide covers the methods available, the difference between average and marginal return, a worked example with a $30,000 monthly budget, and the limits of each approach.
What are the ways to allocate budget by channel?
| Method | Data needed | Best for | Main limit |
|---|---|---|---|
| Percent of revenue or last year's split | Finance numbers only | Setting the total budget | Says nothing about which channel works |
| Platform-reported ROAS | Ad accounts | Quick checks inside one channel | Each platform claims the same sales; over-credits retargeting |
| CRM-based attribution (cost per sale by channel) | Ad spend + CRM revenue linked by source | Lead-gen and sales-led teams, monthly decisions | Depends on the attribution model; misses unclicked influence |
| Incrementality tests (holdout, geo) | Ability to pause or vary spend by region or audience | Validating your largest channels | One channel at a time; takes weeks |
| Marketing mix modeling (MMM) | Typically two or more years of weekly spend and outcomes, ideally by region | Larger budgets across many channels, including offline | Needs volume and statistical skills; channel level, not campaign level |
These methods are complementary. Attribution tells you what happened deal by deal, incrementality tells you what was caused, and MMM tells you how channels behave as spend changes. Our comparison of MTA vs MMM goes deeper on when each fits.
Why should you allocate on marginal return, not average return?
Average return is total revenue ÷ total spend for a channel. Marginal return is what the next dollar brings. They differ because every channel saturates: the first $5,000 on Google Search buys your best keywords; the next $5,000 buys broader, weaker traffic.
Example: Google Search has an average cost per sale of $300 at $15,000 a month. But when you raised spend from $10,000 to $15,000 last quarter, sales went from 40 to 50. Those 10 extra sales cost $5,000, or $500 each. If Meta's extra sales cost $350, the next dollar belongs on Meta, even though Google's average looks better.
You can estimate marginal return without a model by looking at months where spend changed and comparing the change in sales with the change in spend. It's noisy, so treat it as direction, not precision.
How do you allocate budget by channel, step by step?
- Pick one outcome metric. Cost per sale, gross profit per dollar, or CAC. Not leads, not clicks. If your sales cycle is long, use qualified pipeline as a leading indicator. See how to calculate CAC by channel.
- Build the baseline table. For the last three to six months, per channel: spend, leads, qualified leads, sales, revenue, gross profit. Revenue comes from the CRM, matched by lead source.
- Estimate marginal return from months where spend changed, or from small planned increases.
- Classify channels. Proven (stable return at current spend), scaling (return holds as spend rises), testing (not enough data yet).
- Set a test reserve. Many teams use a 70/20/10 split (proven, scaling, experiments). It's a planning convention, not a law, but it keeps new channels from being starved or overfunded.
- Move money in steps. Shift 10 to 20% at a time and wait at least one sales cycle before judging. Big jumps reset platform learning and make cause and effect hard to read.
- Validate the largest moves with a holdout or geo test. Our guide to incrementality testing explains the designs.
- Review monthly, rebuild quarterly. Use a weekly marketing review for pacing and a quarterly reset for allocation.
Worked example: reallocating $30,000 a month
Example (hypothetical numbers, not customer data): a B2B services company spends $30,000 a month. Average deal value is $4,000. The CRM, matched by lead source over six months, shows:
| Channel | Monthly spend | Sales / month | Average cost per sale | Estimated marginal cost per sale | Revenue per $1 |
|---|---|---|---|---|---|
| Google Search | $12,000 | 30 | $400 | $650 | $10.00 |
| Meta | $10,000 | 20 | $500 | $550 | $8.00 |
| $6,000 | 6 | $1,000 | $1,400 | $4.00 | |
| TikTok | $2,000 | 3 | $667 | not enough data | $6.00 |
Reading the table:
- Google has the best average but is saturating: the last dollars cost $650 per sale.
- Meta's marginal cost ($550) is below Google's, so it's the first place to add budget.
- LinkedIn is the most expensive at the margin. Before cutting, check deal size: if LinkedIn deals are twice as large, its gross profit per dollar may be competitive.
- TikTok is a test channel. Keep it at a fixed test budget until it has enough sales to judge.
A reasonable next step: move $2,000 from Google and $1,000 from LinkedIn to Meta for one sales cycle, keep TikTok at $2,000, and check whether Meta's cost per sale holds at $13,000. If it does, consider a geo holdout on Google brand search before cutting further.
When does a marketing mix model make sense?
MMM estimates the contribution of each channel from aggregated data (weekly spend, sales, seasonality, promotions, prices) without user-level tracking. Two free, open-source options exist:
- Google Meridian. According to its GitHub repository, it's a Bayesian MMM framework licensed under Apache-2.0, requires Python 3.11 to 3.13, encourages geo-level data, and includes budget optimization and scenario planning. It can be calibrated with experiment results.
- Meta Robyn. Its repository describes an experimental, semi-automated MMM package from Meta Marketing Science, MIT licensed, written in R (with a beta Python API), using ridge regression and including a budget allocator.
Both are built by ad platforms, which some analysts see as a conflict of interest, so validate key outputs with your own tests. MMM fits when you have years of weekly data, several channels including offline ones, and someone who can build and challenge a statistical model. It is weak for small budgets, new channels, and campaign-level decisions. For an introduction, read what marketing mix modeling is.
Common budget allocation mistakes
- Allocating on leads or platform ROAS instead of sales or profit.
- Adding up platform-reported conversions, which counts shared sales twice or more. See how to deduplicate conversions.
- Cutting upper-funnel channels because last-click gives them no credit, then watching branded search fall a quarter later.
- Moving 50% of budget at once and attributing the result to the wrong change.
- Judging a channel before one full sales cycle has passed.
When this approach doesn't apply
If you run one channel, or close only a handful of deals a month, data-driven allocation across channels has little to work with. Focus on getting one channel profitable and tracked to revenue first. If most of your demand comes from referrals or offline sales without source capture, start by fixing lead source tracking. And if you sell only through an online Shopify checkout, an ecommerce attribution tool may be a closer fit than a CRM-based one.
Where Admira fits
Admira provides the baseline table for steps 2 and 3: spend from Meta, Google Ads and TikTok joined with closed revenue from HubSpot, Salesforce, Kommo, Clientify or ActiveCampaign, with ROAS, ROI and CAC by channel on the Growth plan. It is an attribution platform, not an MMM consultancy, so for a full mix model you would pair it with Meridian, Robyn or an analyst. See marketing ROI tracking for how the data is joined.
FAQ
How should I split my marketing budget between channels?
Fund each channel until its marginal cost per sale rises above the others, keep a fixed reserve for tests, and move money in steps of 10 to 20%.
What is the 70/20/10 budget rule?
A planning convention: about 70% to proven channels, 20% to channels you're scaling, 10% to experiments. It's a starting point, not a data-driven allocation.
Can I allocate budget using Meta and Google ROAS?
Only within a single channel. Across channels, platform ROAS double-counts shared sales and favors retargeting, so use CRM revenue instead.
Do I need a marketing mix model to allocate budget?
No. Most small and mid-size teams can allocate well with CRM-based cost per sale plus occasional incrementality tests. MMM helps at larger, multi-channel budgets.
How often should I reallocate budget?
Review pacing weekly, adjust monthly, and reset the overall split quarterly. Wait at least one sales cycle after each change before judging it.
Is Google Meridian free?
Yes. Meridian is open source under the Apache-2.0 license, but you need Python skills, data preparation, and ideally geo-level data to use it well.






%20(2).png)