How to Optimize Your Marketing Budget Allocation in Google Sheets

YouTube player

Most marketing budget allocations come from gut feel, historical ratios, or whoever made the strongest case in the last planning meeting. That’s not the worst way to operate — but it’s almost never optimal. If you know your cost per lead for each channel and have min/max spend constraints per channel, you can find the exact allocation that generates the most leads from a fixed budget.

This tutorial solves that problem with SolveSheet in Google Sheets.

Download the example spreadsheet to follow along.

The Problem

Brightfield Agency has a $50,000 monthly marketing budget across five channels: Google Ads, Facebook Ads, LinkedIn Ads, Email, and SEO/Content. Each channel has a known cost per lead based on historical performance, a minimum monthly commitment, and a ceiling beyond which incremental spend stops being effective. The goal is to allocate the $50,000 to maximize total leads generated.

ChannelCost / LeadMin SpendMax Spend
Google Ads$12$5,000$25,000
Facebook Ads$18$3,000$20,000
LinkedIn Ads$35$2,000$15,000
Email$5$1,000$8,000
SEO / Content$22$2,000$12,000

Setting Up the Model

Decision variables — Five cells representing dollar spend on each channel.

Objective — Total leads = sum of (spend ÷ cost per lead) across all channels. Maximize this. The formula is straightforward: each channel contributes spend/CPL leads, and you sum them all.

Constraints

  • Total spend ≤ $50,000
  • Each channel spend ≥ its minimum
  • Each channel spend ≤ its maximum
  • All values ≥ 0

This is a pure linear program — the objective and all constraints are linear in the decision variables. The free tier of SolveSheet handles it.

Running SolveSheet

  1. Open Extensions → SolveSheet.
  2. Set the objective to your total leads cell and choose Max.
  3. Set variable cells to the five spend cells.
  4. Add the budget constraint, five minimum spend constraints, and five maximum spend constraints.
  5. Click Solve.

Reading the Results

The solver will push as much money as possible into the cheapest channels first (Email at $5/lead, then Google Ads at $12/lead) until they hit their caps, then allocate remaining budget to the next-cheapest options. The Answer Report confirms which channels hit their ceiling (binding at maximum) and which have slack.

The insight isn’t just the answer — it’s the structure. Channels hitting their max cap are worth investigating: if the cap is artificial (a rule of thumb rather than a real efficiency cliff), raising it could meaningfully increase total leads.

Scenarios Worth Running

  • Increase the total budget to $60,000 and re-solve — where does the extra $10,000 go?
  • Update one channel’s cost per lead to reflect a recent campaign result and re-solve.
  • Remove the Email maximum cap and see how much it pulls from other channels.

Each re-solve takes one click. What would take an hour of spreadsheet math runs in under a second.

Get SolveSheet
This model runs on the free tier — up to 10 variables and 5 constraints. For larger channel mixes, Pro handles up to 200 variables.

Install SolveSheet Free →