# Ecommerce ad budget: how much to spend, with a sample media plan

How to set an ecommerce ad budget from your margin and target CPA, split it across Google, Meta and TikTok, with sample media plans for €300 to €3,000.

Source: https://cloudcart.com/en/blog/ecommerce-ad-budget-media-plan · CloudCart · 2026-11-09

In short: an ecommerce ad budget is worked out backwards, as the number of orders you want multiplied by your target cost per order (CPA). With a €60 average order, €21 of contribution margin and a €15 target CPA, 66 orders a month need about €1,000. Put roughly 70% into new customers, 20% into retargeting and 10% into tests.

This guide is for online stores selling anywhere in Europe. Platform rules come from the Google, Meta and TikTok help centres, and each step says what to do in the CloudCart admin.

## What an ad budget is and what goes into it

An ad budget is the money your store pays ad platforms in a month to get orders: clicks and impressions on Google Ads, Meta (Facebook and Instagram), TikTok and marketplaces. Creative, agency fees and your store subscription are separate costs.

- CPA (cost per acquisition, here cost per order) is ad spend divided by the orders it brought. €450 of ads and 30 orders give a CPA of €15.

- Target CPA is the highest cost per order at which ads still leave you the profit you want.

- Media mix is how the budget is split between channels. A media plan is the table that says how much each channel gets, for which goal and by which metric it is judged.

The formulas for ROAS, ROI and break-even ROAS are in [the guide to ROAS and ROI for an online store](https://cloudcart.com/en/blog/roas-roi-online-store).

## How to calculate your ad budget from margin and target CPA

Your ad budget comes from the contribution margin of one order, which is what is left after VAT, the goods, shipping and payment fees. How markup, margin and VAT-inclusive prices work is in [the guide to pricing, markup and margin](https://cloudcart.com/en/blog/pricing-margin-online-store).

- Take your average order value. From the Analytics dashboard in the CloudCart admin, for the last 90 days. In the example: €60 including VAT.

- Work out contribution margin. At a 20% VAT rate, €60 ÷ 1.2 = €50 before VAT. Take out €25 for the goods, €4 for shipping and packaging and €0 for the card fee (CloudCart Pay charges a 0% transaction fee through Dec 31, 2026; with another provider, take out its fee). €21 is left. That is your maximum CPA, the point where ads break even.

- Decide how much profit you want per order. For example 10% of the average order, €6. Your target CPA is €21 − €6 = €15.

- Set the order goal. For example 66 orders a month from paid ads.

- Multiply. 66 × €15 = €990, rounded to €1,000 a month.

- Turn it into a daily budget. For most Google Ads campaigns, Google can spend up to twice your average daily budget on a single day, but charges at most 30.4 times the daily budget in a month ( Google Ads Help: average daily budget ). So your monthly Google budget ÷ 30.4 is the daily budget: if the full €1,000 goes to Google, that is €32.89 a day.

The same calculation answers "what percentage of revenue should go to ads". Ad spend as a share of the revenue it brings is target CPA ÷ average order: €15 ÷ €60 = 25%, the inverse of a target ROAS of 4. The 15 to 30% of revenue you see in agency benchmarks is just this ratio for one particular margin. With a contribution margin of €9 instead of €21, target CPA drops to €3 and the share to 5%.

Important: the CPA your ad platform reports is usually lower than the real one, because platforms also take credit for orders they did not bring. How to check against your store's orders is in the attribution section below.

### Selling to several EU countries: one target CPA per VAT rate

Once your distance sales to consumers in other EU countries pass €10,000 a year, you charge the VAT of the customer's country and can declare it in one place through the One-Stop Shop ([Your Europe: cross-border VAT](https://europa.eu/youreurope/business/taxation/vat/cross-border-vat/index_en.htm)). If your €60 shelf price stays the same everywhere, a higher VAT rate leaves less margin per order and a lower target CPA.

| VAT rate in the customer's country | €60 order without VAT | Contribution margin (goods €25, shipping €4) | Target CPA (€6 profit) | Budget for 66 orders |

| 17% | €51.28 | €22.28 | €16.28 | €1,074 |

| 20% | €50.00 | €21.00 | €15.00 | €990 |

| 21% | €49.59 | €20.59 | €14.59 | €963 |

| 23% | €48.78 | €19.78 | €13.78 | €909 |

| 25% | €48.00 | €19.00 | €13.00 | €858 |

So one target CPA for every market overpays in high-VAT countries. Set a target per country in your campaigns, or per store if you run a separate store for each country with its own language and currency ([multilingual, multi-currency and multi-store selling](https://cloudcart.com/en/blog/multilanguage-multicurrency-multistore)). The VAT side is in [the guide to OSS and EU VAT](https://cloudcart.com/en/blog/oss-eu-vat-cross-border-sales).

> 0% commission No platform percentage taken out of your target CPA On a €60 order, a 2% sales commission takes €1.20 out of contribution margin and cuts target CPA from €15 to €13.80. Over 66 orders that is €79 a month less for ads. CloudCart charges no commission on sales, so the calculation above is final. Work out your commission →

## How to split the budget across the funnel

Split the budget three ways: new customers, retargeting people who already visited your store, and tests. Our recommendation for a store running its first paid campaigns is about 70% for new customers, 20% for retargeting and 10% for tests. Retargeting has the lowest CPA, but its audience is only as large as your traffic, so extra money there mostly raises frequency.

| Stage | Share of budget | What you do in the ad platform | How you judge it |

| New customers who are searching | 30 to 50% | Google Shopping or Performance Max from the product feed, search by category | CPA against target |

| New customers who are not searching | 20 to 40% | Meta with a broad audience, TikTok later | CPA and share of new buyers |

| Retargeting | 15 to 20% | Meta dynamic ads from the catalogue, Google dynamic remarketing | CPA and frequency |

| Tests | about 10% | A new channel, audience or ad format | Result after the platform's minimum of events |

| Retention | €0 for clicks | None: email, Web Push and cart reminders from your store | Campaign revenue, repeat orders |

Which ad format suits which stage is in [the guide to online ad types and the marketing funnel](https://cloudcart.com/en/blog/types-of-online-advertising). How the budget fits into a year plan month by month is in [the ecommerce marketing calendar](https://cloudcart.com/en/blog/ecommerce-marketing-plan-calendar-2027).

## Media mix: which channels for an online store

A good media mix for an online store starts with the channel where customers already search for the product, usually Google with your product feed, and adds Meta and TikTok once the first channel is stable.

| Channel | What you set up in CloudCart | What you set up in the platform | When it joins the plan |

| Google Shopping and Performance Max | Apps → Google Shopping: connect Merchant Center and choose which products sync | A Google Ads campaign linked to Merchant Center, with target CPA or target ROAS | From the first euro |

| Google Search | Apps → Google Tag Manager or Google Analytics for the purchase event | Keywords by category and by your store name | From €300, as a small share |

| Meta (Facebook, Instagram) | Apps → XML Feed → FaceBook: Pixel ID and the catalogue feed; the pixel works on every plan | Events Manager, a catalogue in Commerce Manager, a sales campaign in Ads Manager | Retargeting from €300, new customers from €1,000 |

| TikTok | Apps → TikTok Dynamic Ads: TikTok Pixel and Events API; the TikTok Ads app shows campaigns and spend in the admin | TikTok Ads Manager, vertical video in the platform's format | When the budget covers the ad group minimum |

| Email and Web Push | Marketing → Campaigns and Marketing → Segments, subscriber forms | None | Always, with no cost per click |

Connecting the feed and Merchant Center step by step is in [the guide to Google Shopping and Merchant Center](https://cloudcart.com/en/blog/google-shopping-merchant-center-bulgaria). Campaign setup is in the guides to [Google Ads](https://cloudcart.com/en/blog/google-ads-online-store) and [Meta Ads](https://cloudcart.com/en/blog/meta-ads-online-store).

## Sample media plan for €300, €1,000 and €3,000 a month

The three plans are sample splits for a €60 average order and a €15 target CPA. The €1,000 and €3,000 plans follow the 70/20/10 split. At €300, retargeting takes a bigger share, because tests and a second prospecting channel do not fit.

| Channel and goal | €300 a month | €1,000 a month | €3,000 a month |

| Google Shopping or Performance Max (new customers) | €170 | €350 | €700 |

| Google Search (categories and brand) | €30 | €100 | €200 |

| Meta, new customers | €0 | €250 | €500 |

| Meta, retargeting and dynamic ads | €100 | €200 | €600 |

| TikTok, new customers | €0 | €0 | €700 |

| Tests | €0 | €100 | €300 |

| Daily budget in Google (÷ 30.4) | €6.58 | €14.80 | €29.61 |

| Orders at a €15 CPA | about 20 | about 66 | about 200 |

### The €300 plan: one channel where people search

With €300 a month, the money goes where customers already look for the product: Google Shopping from your feed plus a little search on your store name. €100 goes to Meta retargeting of the visitors Google brings. New-customer campaigns on Meta and TikTok wait. Meta's learning phase ends after about 50 optimization events in 7 days ([Meta Business Help: about the learning phase](https://www.facebook.com/business/help/112167992830700)); at a €15 CPA, 50 purchases cost €750 for a single ad set, more than twice this whole budget.

### The €1,000 plan: Google plus Meta

With €1,000 a month, Google stays the base, and Meta gets €250 for new customers with one broad audience and €200 for retargeting. One ad set with €250 brings around 17 purchases, so keep it as one: every extra audience split pushes each ad set further from the 50 events Meta needs. If the ad set stays in learning, optimizing for an earlier event such as add to cart gives Meta more signals for the same money. €100 is for a test, for example video instead of a static image on Meta.

### The €3,000 plan: add TikTok

With €3,000 a month, TikTok joins with €700, and Meta retargeting grows to €600, because three prospecting channels bring more traffic to retarget. TikTok's help centre says a campaign's daily budget must exceed $50 and an ad group's must exceed $20 ([TikTok Ads Help: budget](https://ads.tiktok.com/help/article/budget)). €700 a month is about €23 a day, enough for one ad group with the budget set at ad group level. That minimum is about $600 a month ($20 × 30 days), which would eat almost all of the €450 for Meta in the €1,000 plan, so TikTok waits there.

> CloudCart Pay 0% transaction fee through Dec 31, 2026 The card fee comes out of the contribution margin of every order your ads bring. With CloudCart Pay, customers pay by card, Apple Pay or Google Pay in your store, and that fee stays at €0 in your target CPA calculation. How CloudCart Pay works →

## Rules for testing your ad budget

A test gives you an answer when you change one thing at a time and let it collect the platform's minimum of results.

- Change one variable. Only the audience, only the creative or only the campaign type.

- Give the test enough budget for the minimum of events. Meta needs about 50 optimization events in 7 days to leave learning. For target CPA, Google recommends measuring performance over the last 30 days with at least 30 conversions ( Google Ads Help: about target CPA bidding ).

- Leave the ad set alone while it learns. On Meta, edits such as new targeting, new creative, a new optimization event or bid strategy, and large budget changes can send an ad set back into learning.

- Give the test its own UTMs. That way your store shows the test's orders apart from your other campaigns.

- Pick the winner by your store's orders. The variant with the lower CPA from orders in CloudCart wins; its budget grows, and the next test starts with a new variable.

## When to increase your ad budget

Raise the budget when real CPA from your store's orders has been below target for at least two weeks in a row and the ad set is out of learning.

- CPA below target. Calculated from orders in your store.

- Stable delivery. Out of Meta's learning phase, and at least 30 conversions in 30 days in Google.

- Stock. The products in your ads are in stock for the next month.

Raise in steps of 20 to 30% every few days and check CPA after each step; a tenfold jump can restart learning. When CPA rises with the budget, the channel has hit its ceiling, so add the next channel from your media plan.

## Attribution: why platform reports do not match your orders

The orders reported by Google, Meta and TikTok together almost always add up to more than the orders in your store. Each platform credits an order to its own ads by its own rules for days after a click and for views without a click, so one order can be counted by two platforms.

So judge your media plan on two levels:

- Per campaign , in the platform: which ads and audiences do better than each other.

- For the whole store , in your store: total ad spend for the month divided by orders from paid sources in CloudCart. That is your real CPA, the one you compare with the target.

In CloudCart, revenue by source is in Analytics → Sales by traffic source (referral). The source is taken from the first visit in the session, and ads are recognised by the click parameter in the URL: fbclid for Meta, gclid and gbraid for Google, ttclid for TikTok. The split by utm_campaign is in the Sales by Source / Medium box, and UTM tracking is part of CC Pro and CC Master ([plans and pricing](https://cloudcart.com/en/pricing)). How to tag every ad with UTMs is in [the guide to UTM parameters and attribution](https://cloudcart.com/en/blog/utm-tracking-attribution).

Across the EU, a website has to get the visitor's consent before installing cookies that are not strictly needed for the service, such as advertising cookies ([Your Europe: data protection online](https://europa.eu/youreurope/citizens/consumers/internet-telecoms/data-protection-online-privacy/index_en.htm)). In CloudCart, the Meta pixel and the TikTok events stop when a visitor refuses advertising cookies, and the Facebook Conversions API is not part of the standard plans, where the browser pixel does the work. Consent setup is in [the guide to GDPR and cookies](https://cloudcart.com/en/blog/gdpr-cookies-legal).

> Store run by an AI assistant Real CPA by channel from one sentence Connected with a personal access token, your AI assistant (Claude Code, ChatGPT Codex, Gemini CLI or Cursor) filters your store's orders by UTM and source and sets them next to the spend you paste from your ad report. The check takes one sentence and no manual spreadsheets. How the AI assistant connects →

## How to prepare your store before you spend the budget

You set this up once, and every euro of ads after it is measured and followed up.

- Pixel and catalogue for Meta. Apps → XML Feed → FaceBook → Settings: enter only the numeric Pixel ID and turn on the catalogue feed. Paste the feed URL into Commerce Manager.

- Feed for Google. Apps → Google Shopping: connect Merchant Center and choose which products sync. For dynamic remarketing in Google Ads there is a separate CSV feed in Apps → XML Feed → Google AdWords, with UTMs on every product link.

- TikTok. Apps → TikTok Dynamic Ads for the pixel and Events API, once TikTok joins your plan.

- Abandoned carts. Turn on the automatic reminder in Settings → Cart and order; the carts themselves are in Orders → Abandoned. A visitor from an ad who left a product in the cart gets a link that restores it. Reminders per plan are 100, 500, 5,000 or 10,000 ( abandoned carts ).

- Subscribers and segments. A subscriber form in Marketing → Subscribers → Subscribe Forms, and segments of buyers and non-buyers in Marketing → Segments. A segment exports as CSV, which you can upload as a customer list audience in your ad platform.

- Automated campaigns. In Marketing → Campaigns, turn on the automated emails and Web Push after the first order ( campaigns in CloudCart ). They bring the second order with no new ad spend.

How to build retargeting on Meta, Google and email around these audiences is in [the guide to remarketing for an online store](https://cloudcart.com/en/blog/ecommerce-retargeting). Abandoned cart sequences are in [the guide to abandoned carts](https://cloudcart.com/en/blog/abandoned-carts-online-store).

## Mistakes that eat your ad budget

- A budget set as a share of revenue, without margin. "5% of revenue" says nothing if your contribution margin is 15% or 50%. Start from target CPA.

- Too many ad sets with too little money. Five Meta ad sets with €60 each never collect enough events to learn. One ad set with €300 has a better chance.

- Low-margin products in your ads. A product with €5 of contribution margin cannot make money at a €15 CPA. Take it out of the ad feed.

> New store €1/month for the first 3 months on every plan The first three months of every plan cost €1 each, so almost all of a first €300 budget goes into ads. The pixel, the Google feed and abandoned cart reminders are in your store from day one. Create a store for €1 →

CloudCart, the ecommerce platform with 0% commission on sales, brings the Google and Meta feeds, the pixels, abandoned carts and revenue by source into one admin, in [Analytics](https://cloudcart.com/en/analytics). Plan prices are on [the pricing page](https://cloudcart.com/en/pricing) (billed annually, excluding VAT: Baby Pack €14, Starter Pack €33, CC Pro €83 and CC Master €249 a month). [Create a store for €1](https://cloudcart.com/en/offer/online-store-for-1-euro) and work out your target CPA before you spend the first euro on ads. Questions: support@cloudcart.com.

## Frequently asked questions

**How much should I spend on ads for my online store?**

Multiply the number of orders you want by your target cost per order (CPA). At a €15 target CPA and a goal of 66 orders a month, the budget is about €1,000. Target CPA is your contribution margin per order minus the profit you want from each order.

**What percentage of revenue should an ecommerce store spend on advertising?**

Ad spend as a share of the revenue it brings equals target CPA divided by average order value. At a €15 CPA and a €60 average order, that is 25%. There is no single right percentage, because it depends on margin: a store with a 15% margin has to spend a much smaller share than one with a 50% margin.

**How should I split my ad budget across channels?**

Start with the channel where customers already search for the product, usually Google Shopping from your feed, and add Meta and TikTok when the budget covers their minimum of events. A starting point is about 70% for new customers, 20% for retargeting and 10% for tests.

**What daily budget do I need for Facebook ads?**

Enough for one ad set to reach about 50 optimization events in 7 days, which is when Meta's learning phase ends. At a €15 CPA optimizing for purchases, that is about €750 a week. With a smaller budget, run one ad set or optimize for an earlier event such as add to cart.

**Can I advertise an online store with €300 a month?**

Yes, if the money goes into one channel where customers search, such as Google Shopping, with a small share for retargeting. At a €15 CPA, €300 brings about 20 orders. Meta prospecting and TikTok wait for a bigger budget because of Meta's learning phase and TikTok's minimum daily budget.

**Does VAT change my ad budget when I sell to other EU countries?**

Yes. Above €10,000 a year of distance sales to EU consumers you charge the VAT of the customer's country, so the same shelf price leaves a different margin in each market. At a €60 order, target CPA is €15 at 20% VAT and €13 at 25% VAT. Set a target per country or per store.
