The question “how much should an online shop spend on marketing” usually ends with a percentage of turnover from someone else’s table or an agency proposal to add budget before the peak season. Neither figure knows the shop’s margin, its fixed costs or the profit that should remain in the account. This guide shows how to use those three quantities to calculate target MER, turn it into an annual advertising budget, use it to check an agency’s offer and split the amount into quarters, months and channels according to your own seasonality.
One example runs through the whole calculation: a kitchenware shop with €900,000 net revenue a year and a 42% margin on purchase cost. The break-even point of a single campaign is a separate topic; here the figure that matters is the whole shop’s budget for the whole year, and the percentage of turnover appears only at the end, as a result of the calculation.
Starting point
Percentage of turnover ignores margin and fixed costs
October, planning for next year, and three advertising budget figures on the table. The first comes from a table on the internet, the second from an agency proposal, the third from a calculation on the kitchenware shop’s data. Each answers the question of how much an online shop should spend on marketing; only one knows this shop’s situation.
Advertising budget for next year · illustrative data
An average from other shops. It knows nothing about the 42% margin or fixed costs of €11,250 a month.
More budget before the season. No calculation of the revenue this amount must generate.
The result of net revenue, margin, variable costs, fixed costs and the profit target.
The percentage in the table was built on other shops’ margins and other shops’ costs. It averages shops that earn completely different amounts on their goods, so it does not tell you how much of each euro of revenue is left for advertising in your shop. A budget of 8% of turnover may be too cautious in one shop and mean a loss in another.
The same percentage gives two different results. The kitchenware shop has a 42% margin, variable fulfilment costs of 6% and fixed costs of 15% of revenue: after 8% on marketing, it keeps 13% of revenue as profit. A shop with a 25% margin and identical variable and fixed costs drops to a loss of 4% of revenue (25% − 6% − 15% − 8%).
The agency proposal has the same gap, only in the opposite direction. Adding 25% to the current €12,000 a month gives €180,000 a year, but without saying what revenue that amount must generate for the shop to keep its planned profit. A check of such an offer against the numbers comes later in this guide.
The third figure comes from data the shop has or its owner knows:
- Net revenue from paid orders: €900,000 over the last 12 months.
- Gross margin weighted by sales, calculated from purchase cost per SKU: 42%.
- Variable fulfilment costs (payments, packing, delivery subsidies): 6% of revenue.
- Fixed costs of €11,250 per month and a profit target of €4,500 per month.
This question concerns the shop’s total amount for the year. The break-even point of a single campaign, i.e. the minimum ROAS (campaign revenue divided by its cost) calculated with the formula 100 / margin%, is covered in a separate guide, “What ROAS is good”. A campaign can clear its threshold while the shop’s overall budget still leaves no profit after fixed costs.
The marketing budget is the result of a profit calculation, and the percentage of turnover only appears at the very end: in this shop it comes to 15%.
Formula
Target MER: formula from margin, fixed costs and profit
The annual budget is calculated from the bottom of the profit and loss account upwards. First you decide how much should remain in the account, then you subtract what the shop cannot avoid. The rest of the margin is the amount that can be spent on advertising.
The calculation needs two concepts, both computable from the shop’s own data and a few figures from the accounts.
Definition · MER
MER (Marketing Efficiency Ratio) is the shop’s net revenue divided by total marketing cost: all ad platforms, affiliate and offline costs. Each cost is counted once; in this example the agency fee sits in fixed costs.
The numerator comes from the shop’s orders. Revenue reported by ad platforms is not included, because the same purchase is often attributed to several platforms at once.
Definition · contribution margin
Contribution margin is the gross margin on the cost of goods minus variable fulfilment costs: payment provider fees, packing, delivery subsidies. It is the money each order leaves for fixed costs, marketing and profit.
Formula · budget and target MER
From the contribution margin, subtract the share of fixed costs and the profit target in revenue. The rest is the marketing budget share, and its inverse is the target MER.
target MER = 1 / budget share36% − (135,000 + 54,000) / 900,000 = 36% − 21% = 15% → MER = 1 / 0.15 = 6.67
The same calculation written out in a column shows where every euro of the budget comes from in a kitchenware shop:
Column calculation · last 12 months · illustrative data
The column gives three MER thresholds, and each answers a different question. The first (1 / 0.36 = 2.78) tells you when marketing stops losing money on goods and fulfilment. The second (1 / 0.21 = 4.76) marks zero profit after fixed costs, and the third (1 / 0.15 = 6.67) is the profit target.
The shop’s three MER thresholds · scale 0–8
Dashed marker 2.38: break-even point of a single campaign from the calculation 100 / 42.
The threshold for a single campaign is lower than any of the shop’s thresholds. According to the calculation in the guide what ROAS is good, the limit is 100 / 42 = 2.38, so a campaign at ROAS 2.4 does not lose money on goods. This threshold ignores variable costs, fixed costs and profit, because it is used for selecting campaigns.
The whole shop at MER 2.4 would lose money. With revenue of €900,000, this would mean spending €375,000, i.e. €51,000 more than the entire contribution margin, before fixed costs are even counted. That is why the size of the budget is set by the MER derived from the profit target, while campaign thresholds are used to divide that amount between campaigns.
The shop already has revenue and cost of goods in its data. Revenue is the sum of order_cart_net for paid and fulfilled orders, excluding cancelled and unpaid ones; cost of goods comes from product_cost as a sales-weighted average (how to fill in purchase cost per SKU is covered in the guide on margin in e-commerce). Variable fulfilment costs, fixed costs and the profit target are provided by the owner, as they come from the accounts and the plan for the coming year.
The first two lines of the bar come from the shop’s data; only the owner knows the next two. Without fixed costs and a profit target, every budget figure, whether from a table or an agency, is guesswork. With them, the budget becomes the result of a subtraction that can be checked every month.
Scenarios
Three budget scenarios and an agency offer check
The starting point is the shop’s last 12 months. Marketing spend from the cost_* tables and offline costs uploaded from a CSV file came to €144,000, which against net revenue of €900,000 gives a MER of 6.25. Profit after fixed costs is €324,000 − €135,000 − €144,000 = €45,000, i.e. €9,000 short of the target.
Three paths lead on from here, and each is calculated with the same bar as the target MER. The table compares the history with three scenarios for next year (a kitchenware shop, illustrative data):
| Scenario | Net revenue | Annual budget | MER | Profit | Condition |
|---|---|---|---|---|---|
| History, last 12 months | €900,000 | €144,000 | 6.25 | €45,000 | baseline: €9,000 below target |
| A · maintain revenue | €900,000 | €135,000 | 6.67 | €54,000 | budget cut of €9,000 without losing sales |
| B · +10% growth at historical MER | €990,000 | €158,400 | 6.25 | €63,000 | MER of 6.25 must hold with €14,400 more spend |
| C · agency offer, target variant | €1,025,000 | €180,000 | 5.69 | €54,000 | revenue must grow by 13.9% |
| C · agency offer, realistic revenue | €1,000,000 | €180,000 | 5.56 | €45,000 | 11.1% sales growth leaves profit at today’s level |
Scenario A changes only the cost. The shop sells the same amount, spends €9,000 less and reaches the €54,000 profit target; the only risk is whether the amount cut was the weakest-performing part of the budget.
Scenario B delivers the highest profit, but rests on a single assumption. The MER of 6.25 has to hold even though the budget rises to €158,400. Each additional thousand euros in campaigns usually performs worse than the average of the whole budget, so scenario B requires monthly MER checks.
Scenario C looks like growth, yet does not raise profit. The agency offer is +25% on the current €12,000 a month, i.e. €15,000 a month and €180,000 a year. Reaching the profit target needs €1,025,000 of net revenue; at €1,000,000 sales grow by 11.1% and €45,000 is left in the account, exactly the same as today.
Definition
Marginal MER is the net revenue generated by the additional budget above the baseline variant, divided by that additional amount. Average MER describes the whole budget; marginal MER describes the last euros added.
Checking any budget proposal takes four steps:
Calculate the revenue needed for the profit target
The sum of fixed costs, the profit target and the proposed budget, divided by the contribution margin: (135,000 + 54,000 + 180,000) / 0.36 = 369,000 / 0.36 = €1,025,000. That is +13.9% on today’s €900,000 and a MER of 5.69 for the whole budget.
Work out what the extra spend must deliver
On top of the budget from the calculation (€135,000), the offer adds €45,000, while revenue is supposed to grow by €125,000. The marginal MER must therefore be at least 2.78: each euro of net sales leaves €0.36 of contribution margin, so each extra euro of advertising must bring in €2.78 of revenue for profit not to fall.
Compare the required growth with the shop’s history
In the daily history, check whether periods of higher spend produced proportionally higher net sales, comparing the same month year on year. If the shop has never achieved +13.9% after adding a quarter to its budget, the offer rests on an assumption the shop’s data does not support.
Write MER into the contract as the settlement metric
The contract should state the target MER calculated from the shop’s orders (6.67 for the calculated budget, 5.69 for the offer) and the rule that the next budget tranche is released after a month with MER at target. How to set up this kind of settlement on shop data rather than platform reports is covered in the guide to settling with a marketing agency.
Key takeaway
Every budget proposal carries a hidden revenue figure it has to generate. For €180,000 in a kitchenware shop, that is €1,025,000 of net sales; this number should be calculated before signing the contract and compared with the shop’s history.
Breaking down the budget
Splitting the annual budget by month and channel
The budget follows sales; the calendar takes a back seat. Each month receives the same share of the €135,000 as it had of the shop’s net sales in the daily history for the last 12 months. As a result, the target MER of 6.67 applies to each month separately, and the November peak does not have to “subsidise” the January slump.
Twelve equal parts give a false simplicity. With €11,250 a month, January (6% of annual sales) would run at a MER of about 4.8 and November (14%) at about 11.2. The annual average would come out right, but in January the shop would waste money, and in November it would give up sales for lack of budget.
Σ 25,650 + 31,050 + 29,700 + 48,600 = €135,000
The quarterly envelopes are then split into months using the same share-of-sales rule. The last column shows the net revenue each month must deliver at an MER of 6.67; the column adds up to exactly the annual €900,000 (a kitchenware shop, illustrative data).
| Month | Quarter | Share of sales | Budget | Net revenue at MER 6.67 |
|---|---|---|---|---|
| January | Q1 | 6% | €8,100 | €54,000 |
| February | Q1 | 6% | €8,100 | €54,000 |
| March | Q1 | 7% | €9,450 | €63,000 |
| April | Q2 | 8% | €10,800 | €72,000 |
| May | Q2 | 8% | €10,800 | €72,000 |
| June | Q2 | 7% | €9,450 | €63,000 |
| July | Q3 | 7% | €9,450 | €63,000 |
| August | Q3 | 7% | €9,450 | €63,000 |
| September | Q3 | 8% | €10,800 | €72,000 |
| October | Q4 | 9% | €12,150 | €81,000 |
| November | Q4 | 14% | €18,900 | €126,000 |
| December | Q4 | 13% | €17,550 | €117,000 |
| Year | Q1–Q4 | 100% | €135,000 | €900,000 |
The channel split follows from the cost history and channel figures from GA4 and the ad platforms. Shares are calculated from each platform’s spend set against the transactions and revenue attributed to that channel in GA4 and the conversions reported in its own panel, treated as an estimate. Revenue reported by the ad platforms is not added up, because the same purchase is often claimed by Google and Meta at the same time. The same proportions apply to every monthly envelope; November shows what this looks like in euros.
| Channel | Basis for the share | Share | Year | November |
|---|---|---|---|---|
| Google Ads | campaign costs and channel revenue per GA4 (estimate) | 55% | €74,250 | €10,395 |
| Meta | campaign costs and channel revenue per GA4 (estimate) | 25% | €33,750 | €4,725 |
| Microsoft Ads | campaign costs and channel revenue per GA4 (estimate) | 5% | €6,750 | €945 |
| Offline from a CSV file | cooking channel partnership, press | 5% | €6,750 | €945 |
| Test reserve | new channel, e.g. TikTok, accounted for separately | 10% | €13,500 | €1,890 |
| Total | 100% | €135,000 | €18,900 |
Two adjustments to the plan are allowed, and both leave the total unchanged. First: part of the December envelope (e.g. €1,750) moves to November if the daily history shows that gift shopping starts in the second half of November; the Q4 envelope still stands at €48,600. Second: the €13,500 test reserve is assessed separately, on the new platform’s own panel and GA4 figures and on the change in the shop’s total MER, and does not drag down the MER of proven channels during the campaign learning period.
Each monthly envelope is closed: the result is settled only in the following month. If October, with a budget of €12,150, brings in €85,050 of net revenue (MER 7.0), the permitted spend at 6.67 is 0.15 × 85,050 = €12,757.50, so the €607.50 surplus may be added to November. With revenue of €72,900 (MER 6.0), the permitted spend was €10,935, and the €1,215 overspend cuts the November envelope to €17,685.
Calculation pitfalls
Five mistakes that inflate the marketing budget
The formula itself is simple, so mistakes usually creep in through the input data. Each of the five below pushes the result in the same direction: the budget comes out higher than the shop can sustain, and the missing profit only becomes apparent at year end. For each mistake, figures from the kitchenware shop example show the scale.
Gross revenue instead of net. Basket value including VAT (€900,000 × 1.23) contains tax the shop does not keep. Divided by the same budget, it produces an MER that suggests headroom above the target, even though the shop is operating exactly at the target level.
€1,107,000 / €135,000 = 8.2 on paper · €900,000 / €135,000 = 6.67 in realityA 42% gross margin without variable fulfilment costs. Payments, packing and delivery subsidies cost the shop 6% of revenue, or €54,000 a year. Left out of the calculation, they raise the budget’s share from 15% to 21% of revenue.
(0.42 − 0.21) × €900,000 = €189,000 budget · profit: 324,000 − 135,000 − 189,000 = €0The most expensive budget calculation mistake
Omitted variable costs wipe out the entire profit target. A budget of €189,000 is €54,000 higher than the calculation, exactly the planned profit. The MER of such a plan is 900,000 / 189,000 = 4.76, which lands on the break-even threshold from the threshold axis: campaigns can show a ROAS well above 2.38, sales can hold steady, and after a year the account is left with €0.
Revenue including unpaid and cancelled orders. An order placed but never paid brings no margin, and in this shop such orders make up 4% of the value of all orders placed. Without a status filter (order_status), the base rises from €900,000 to €937,500, and the budget rises with it.
0.36 × 937,500 − 189,000 = €148,500 budget · €13,500 above the calculation · profit €40,500 instead of €54,000Revenue as the sum of ad platform reports. Google Ads, Meta and Microsoft Ads each claim the same purchase when the customer saw ads in several places, so the sum of their “revenue” exceeds the shop’s sales. The calculation stays based on shop orders as a total, while channels are compared on GA4 and platform figures treated as an estimate, as explained in the guide to automated e-commerce analytics.
illustrative example: platforms combined €1,125,000 (+25% vs the shop) → 0.36 × 1,125,000 − 189,000 = €216,000 budget · actual result: 324,000 − 135,000 − 216,000 = −€27,000Costs outside the ad platforms left out of the MER denominator. An offline campaign uploaded from a CSV file and affiliate commissions are marketing costs, even though they do not appear in the ad platforms. Without them, MER looks better and suggests the target has been met.
history: 900,000 / 144,000 = 6.25 · without €12,000 of offline and affiliate costs: 900,000 / 132,000 = 6.82, seemingly above the 6.67 targetEach cost enters the calculation exactly once. In the example, the agency fee sits in fixed costs (€11,250 per month), so it is not part of the MER denominator; if it were also added to marketing, it would reduce the budget by its own value. Offline and affiliate costs go into marketing, because they rise and fall with promotional decisions.
Three control questions are enough before approving the plan: is revenue net and from paid orders only, does the margin include variable fulfilment costs, and does the MER denominator cover all sources of marketing costs counted once? Three “yes” answers mean that €135,000 follows from the shop’s own figures, not from an inflated base.
DataOrganizer
Target MER and budget split in DataOrganizer
Three of the four components of the calculation sit in connected sources. Net revenue comes from shop orders filtered by status (paid and fulfilled, excluding cancelled). The weighted margin comes from product_cost per SKU, and marketing costs are the sum of all connected platforms in the cost_* tables plus offline costs uploaded from a CSV file.
Only the owner knows the fourth component. Fixed costs, variable fulfilment costs (payments, packing, delivery subsidies) and the profit target do not exist in any shop or advertising system, so the assistant asks for them. It calculates the rest from the data, including sales seasonality from daily history:
Calculation based on the last 12 months and your assumptions:
| Component | Value | Source |
|---|---|---|
| Net revenue from paid orders | €900,000 | shop orders, status filter |
| Weighted margin | 42% | product_cost; 3% of revenue from SKUs without a cost, margin calculated on the remaining 97% |
| Contribution margin | 36% | 42% minus your 6% variable costs |
| Marketing spend | €144,000 | cost_* tables + offline costs from CSV |
| Historical MER | 6.25 | 900,000 / 144,000 |
| Target MER | 6.67 | 1 / (36% − 15% − 6%) = 1 / 0.15 |
| Annual budget | €135,000 | €11,250 per month |
Split by each quarter’s share of your sales:
| Quarter | Share of sales | Budget |
|---|---|---|
| Q1 | 19% | €25,650 |
| Q2 | 23% | €31,050 |
| Q3 | 22% | €29,700 |
| Q4 | 36% | €48,600 |
| Total | 100% | €135,000 |
Keeping revenue at €900,000 with a budget €9,000 lower (€135,000 instead of €144,000) delivers the €54,000 profit target. Growing sales makes sense on one condition: MER 6.25 must hold at the higher spend, because only then does profit exceed the target. Fill in product_cost for the missing SKUs so that the margin covers all revenue.
The same conversation can be held in Claude or ChatGPT. Through DataOrganizer MCP, shop data reaches the chat the team already uses; the assistant receives aggregates, while raw orders stay in the EU-hosted backend.
In-year monitoring is done on complete days. Data refreshes every morning with the full previous day, so the actual month-to-date MER can be compared with the target of 6.67 without exports or spreadsheets. The current day by the hour is shown in the shop and ad platform dashboards; DataOrganizer works on closed days.
The thresholds on the MER axis become response rules. A monthly MER above 6.67 allows the surplus to be moved to the next envelope; dropping into the zone between 4.76 and 6.67 means profit below target and a cut to the following month. A fall below 4.76 confirmed over several days signals that marketing is already eating into fixed costs.
Methodological note: all figures in the example are illustrative. Variable fulfilment costs, fixed costs and the profit target are provided by the owner, and the weighted margin covers only SKUs with product_cost filled in. The calculation does not account for returns, because DataOrganizer has no returns data; a shop with a high return rate should include their cost in variable fulfilment costs.
Key takeaway
The annual marketing budget follows from three figures: contribution margin, fixed costs and the profit target. The percentage of turnover (here 15%) and the target MER (here 6.67) are results of this calculation; they are worked out last and only then compared with benchmark tables and agency proposals.
Methodological note: all figures in the kitchenware shop examples are illustrative. Fixed costs, variable fulfilment costs and the profit target are provided by the owner, revenue is calculated from paid net orders in the shop rather than from ad platform reports, and the calculation does not account for returns, so a shop with a high return rate should lower its revenue base before setting the budget.
Key takeaway
The annual marketing budget follows from contribution margin, fixed costs and the profit target; the percentage of turnover and the target MER are its results. In the example this gives €135,000, MER 6.67 and 15% of revenue, and any proposal for a higher amount is tested against the revenue it would have to generate.
FAQ
FAQ on online shop marketing budgets
What percentage of turnover should an online shop spend on marketing?
There is no single percentage that suits every shop: the budget’s share of revenue is contribution margin minus fixed costs and the profit target. A shop with a 36% contribution margin, fixed costs of 15% and a profit target of 6% of revenue can spend 15% of net turnover, almost twice what an 8% benchmark table suggests. With a 25% contribution margin and the same costs, the same formula gives only 4%.
How do you calculate an online shop’s marketing budget?
From net revenue from paid orders, subtract cost of goods, variable fulfilment costs, fixed costs and the profit you want to keep; the remainder is the annual marketing budget. In the example: €900,000 − €522,000 − €54,000 − €135,000 − €54,000 = €135,000, i.e. €11,250 per month and a target MER of 6.67. Revenue and margin come from the shop; fixed costs and the profit target are provided by the owner.
What is the difference between MER and ROAS?
MER divides the shop’s entire net revenue by its entire marketing cost (all platforms, affiliate, offline costs) and assesses the budget as a whole. ROAS assesses a single campaign, whose threshold follows from the margin: 100/42 = 2.38 in the example (the calculation is in the guide What ROAS is good). A campaign at ROAS 2.4 does not lose money on the goods, whereas the whole shop at MER 2.4 loses money on goods, fixed costs and profit.
What is a good MER for an online shop?
A good MER is one equal to or above the target, calculated as 1 / (contribution margin% − fixed costs% − profit target%). In the example the thresholds are 2.78 (marketing does not lose money on goods and fulfilment), 4.76 (zero profit after fixed costs) and 6.67 (profit target). An average from another shop cannot replace this figure, because it does not know your margin or costs.
How should a marketing budget be split across months and channels?
Split the annual amount according to each month’s share of sales from your own daily history: November with 14% of sales gets 14% of the budget, i.e. €18,900, so the target MER stays constant in every month. The split across channels is based on each platform’s cost history set against transactions and revenue per channel according to GA4 and the ad platforms, treated as an estimate, with a test reserve accounted for separately. In DataOrganizer, sales seasonality and costs from all connected platforms sit together, so the breakdown comes from a single question in the chat.
Cheat sheet for the whole guide
The marketing budget in three steps of the calculation
1. Profit first, budget second. From net revenue subtract goods, variable fulfilment costs, fixed costs and the profit target; the remainder is the annual marketing amount, and the target MER equals 1 divided by its share of revenue.
2. Every offer has hidden revenue. Before signing, calculate what revenue the proposed budget requires to hit the profit target, and whether the marginal return (at least 2.78 in the example) has ever occurred in the shop’s history.
3. Monthly envelopes monitored with data. DataOrganizer combines shop orders, margin from product_cost and costs from the cost_* tables and a CSV file, so the budget broken down by your own seasonality and the actual monthly MER are calculated from data refreshed every morning, with no exports or spreadsheets.
DataOrganizer · marketing budget from the profit calculation
Connect your shop, ad platforms and offline costs: net revenue from paid orders, weighted margin from product_cost, current MER and sales seasonality are calculated from the data, and you can break the budget down by month and channel with a question in the chat. You pay for connected sources; rates are in the price list.