🙌 Our latest webinar is live!
Nov 7
Marketing Mix Modeling

How to Allocate Marketing Budget by Channel With Data

Andre Sottil
Founder & CEO, Admira

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?

MethodData neededBest forMain limit
Percent of revenue or last year's splitFinance numbers onlySetting the total budgetSays nothing about which channel works
Platform-reported ROASAd accountsQuick checks inside one channelEach platform claims the same sales; over-credits retargeting
CRM-based attribution (cost per sale by channel)Ad spend + CRM revenue linked by sourceLead-gen and sales-led teams, monthly decisionsDepends on the attribution model; misses unclicked influence
Incrementality tests (holdout, geo)Ability to pause or vary spend by region or audienceValidating your largest channelsOne channel at a time; takes weeks
Marketing mix modeling (MMM)Typically two or more years of weekly spend and outcomes, ideally by regionLarger budgets across many channels, including offlineNeeds 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?

  1. 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.
  2. 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.
  3. Estimate marginal return from months where spend changed, or from small planned increases.
  4. Classify channels. Proven (stable return at current spend), scaling (return holds as spend rises), testing (not enough data yet).
  5. 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.
  6. 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.
  7. Validate the largest moves with a holdout or geo test. Our guide to incrementality testing explains the designs.
  8. 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:

ChannelMonthly spendSales / monthAverage cost per saleEstimated marginal cost per saleRevenue per $1
Google Search$12,00030$400$650$10.00
Meta$10,00020$500$550$8.00
LinkedIn$6,0006$1,000$1,400$4.00
TikTok$2,0003$667not 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.