How to read your result
A ROAS that looks healthy can still be a loss
Return on ad spend divides the revenue the platform claims by what you paid the platform. Both halves are true, and neither is the money you keep. Five things sit between the two, and for a UK seller the first is the largest.
- VAT is inside the revenueWhen your shop sends a sale to Meta or TikTok, it usually sends what the customer paid. At the standard rate of 20 per cent, one pound in every six of that is VAT, which belongs to HMRC. A 3.0x ROAS on VAT inclusive revenue is 2.5x on the money that is yours. Answer the VAT question and the calculator takes it off before anything else.
- Returns come back outA refunded order stays in the ads account. If eight orders in a hundred come back, eight per cent of the reported revenue never arrived, while the delivery and the card fee on those orders were still paid. Fashion sellers feel this most.
- Delivery and card fees are per orderPacking, postage and payment fees do not show up in a gross margin worked out on the product alone. On a small basket they can take a large share of what is left, and they are why a low order value needs a higher ROAS than the same margin on a big one.
- Discounts, if the revenue is before themMost shops send the price after the code. If yours sends the full price, the discount is still inside the reported figure and has to come out.
- Fees and creative are costs tooA campaign can pay for its own ads and still lose money once a management fee and the cost of making the adverts are counted. So the calculator draws two break even lines: one on ad spend, and one on every cost. The verdict uses the second.
- Profit on ad spend sits beside ROASProfit on ad spend, often shortened to POAS, divides what is left after VAT, returns, product, delivery and card fees by the ad spend. Above 1.0 the ads pay for themselves. It answers the question ROAS is usually mistaken for.
None of that is a criticism of the platforms. Reported ROAS is a good way to compare one advert with another inside the same account. It is not the number to take into a conversation about whether the channel is worth funding, and the gap between those two uses is where most disagreements between marketing and finance begin.
What the platform's own ROAS can and cannot tell you
A platform counts the sales it can claim within its attribution window, which includes some people who would have bought anyway, and misses some it did cause. The direction is not fixed. Across 640 Meta experiments, Haus found Meta under counted its incremental effect by 15 per cent on average on 7 day click attribution for direct to consumer sales, while Advantage+ campaigns looked better in the report than in the tests, compared with manual ones (Haus). Retargeting tends to claim sales that were coming anyway; awareness campaigns tend to be under counted.
That is why "Sales the ads caused", under Fine tune, is a setting rather than a fixed discount. It starts at the platform's own figure. Move it down if most of your spend is retargeting, or up if you have a test that says the platform under counts. The only way to know your own figure is a holdout test: pause the ads for a matched part of your audience and measure the difference.
Turning a brand's ad results into your next pitch
Brands judge paid social on cost per sale and profit, so a creator who can show those numbers for a post is easier to book again. Work out what to charge with the UGC rate calculator, and show your organic reach with the Instagram engagement rate calculator.
When the number comes back badly
A poor result is usually one of four things, and they can be told apart in an afternoon. Work through them in this order, because fixing them in the wrong order wastes the most money.
First, check whether the sums can work at all
Look at the break even ROAS on ad spend. If it is above what your campaigns have ever reached, the channel cannot pay for itself at your current prices however good the adverts are. That is a pricing, product or delivery cost conversation rather than a media one, and it is a common reason a brand decides paid social does not work.
Then find where in the funnel it breaks
A high cost per thousand impressions with few clicks points at the targeting or the opening seconds of the advert. Cheap clicks with an expensive cost per sale mean the adverts work and the landing page is leaking. An expensive cost per sale with healthy click and conversion rates usually points at the offer or the price.
Then the creative
In the accounts we run, the advert itself moves results more than any audience setting. That means a library rather than one advert: several ideas in rotation, refreshed before they tire, and made to look at home on the platform rather than polished.
And separate prospecting from retargeting before you judge anything
Cold and warm audiences behave nothing alike. A healthy blended figure can hide a retargeting campaign doing all the work while prospecting quietly loses money. Put them on separate rows of the campaign table before you cut a budget, or you may cut the wrong one.
How we worked it out
Reading your ads export into the campaign table
The campaign table, under "Campaign by campaign" in Fine tune, reads a CSV file exported from Meta Ads Manager, TikTok Ads Manager or LinkedIn Campaign Manager. It looks for the header row, matches the columns by the names those tools use, adds up rows that share a campaign name (a daily breakdown, for example) and keeps the ten largest by spend, with anything beyond nine summed into one row.
From Meta Ads Manager
Open the campaigns view for the dates you want, make sure the columns include amount spent, purchases and purchases conversion value, then export the table as a CSV file. Since March 2026 Meta counts only link clicks for click attribution, with likes, shares and saves moved to a separate engage through count, as PPC Land reported. A month either side of that change may show fewer purchases for the same real sales.
From TikTok Ads Manager
Export the campaign list as a CSV file with cost, clicks and your purchase or complete payment columns. If the file has a value column, the table uses it; if it only has a ROAS column, the revenue is worked out from ROAS and cost.
From LinkedIn Campaign Manager
Export campaign performance as a CSV file. LinkedIn exports usually carry leads and conversions rather than revenue, so switch the calculator to lead generation first: the table then values each row from your close rate and first sale.
What it will not read
Excel files, pivot tables and exports with the figures in columns per day. Save the export as CSV first. If a column is not recognised, the table says which ones it found, and every cell can be typed over.
Methodology, and what this calculator cannot know
The margin stack. Reported revenue has any discount still inside it taken off, then VAT at the rate you choose (the VAT inside a VAT inclusive price is the price times the rate divided by one plus the rate), then refunded orders. Your gross margin is applied to what is left. Delivery and the fixed card fee are charged on every order, returned or not, and the card percentage on what the customer paid. What remains is the contribution before marketing.
The typical costs. So that a verdict appears straight away, the margin, returns and delivery start at typical figures for what you sell, set by our team as starting points rather than taken from a survey: they are shown on the result and under "Costs and margin", ready to replace with your own. The card fee starts at 1.5 per cent and 20p a payment, the rate Stripe publishes for standard UK cards (checked October 2026).
The two break even lines. On ad spend: the reported revenue that leaves a contribution equal to the ad spend, expressed as a ROAS you can compare with your dashboard. On all costs: the same, but the contribution must also cover your fees and creative, which do not grow with spend, so this line falls as spend rises. The verdict uses the second line.
The impact setting. Revenue and orders are multiplied by the factor you choose before the stack is worked out. The default is 1.0, the platform's own count. The 1.15 option follows the Haus average for Meta on 7 day click attribution (Haus); the 0.8 and 0.6 options are our judgement for retargeting heavy accounts, not a published figure.
The ranges. The Meta cost range was widened to take in the Great Britain medians published by Superads for July 2025 to July 2026: about 17.38 per thousand impressions, currency not stated (Superads, CPM), and about 1.18 pounds a click (Superads, CPC). Every other platform range, the typical ROAS, the industry adjustments and the conversion rate bands are our own working figures from the accounts we run. They are indicative, labelled as such on the result, and not a survey.
The campaign table. Each row goes through the same stack. Where a row has revenue but no order count, orders are estimated from your average order value. Fees and creative are shared by spend. The CSV reader looks for the header in the first twenty lines, matches column names against a list held in this page, sums rows with the same name and keeps ten rows.
How it was checked. A worked example was checked by hand, edge values (no spend, no margin, a margin of 100 per cent, every sale losing money before advertising) were tested, and sample exports in the shapes of the three ads managers were read into the table.
What it cannot know. Your repeat purchase rate, your seasonality, sales the platform did not see, or whether the revenue you entered is tracked revenue or money in the bank. Treat the result as a way to decide, not as an account.
Nothing here is transmitted. The calculation and the CSV import both run in your browser. There is no sign up, and nothing reaches us unless you ask us to email you the result.
Questions people ask
Does ROAS include VAT?
Usually, yes. Meta and TikTok record the purchase value your shop sends them, and most UK shops send the price the customer paid, VAT included. At the standard rate one sixth of that figure is VAT, so the ROAS in the dashboard is a fifth higher than the return on money you keep. Answer yes to "Does that sales figure include VAT?" and the calculator takes it off.
What is a good ROAS for UK social media ads?
The one above your break even, and that depends on your margin, your VAT, your returns and your costs per order far more than on any industry average. At a 55 per cent margin with VAT, 8 per cent returns, 3.95 delivery and normal card fees on a 62 pound order, the worked example needs about 2.9x on ad spend alone and more once fees are counted. Work out your own line first and judge the result against it.
What is the difference between ROI, ROAS and POAS?
ROAS is revenue divided by ad spend. POAS, profit on ad spend, divides what is left after VAT, returns, product, delivery and card fees by the ad spend, so 1.0 is the point where the ads pay for themselves. ROI takes every cost off, including fees and creative, and expresses what is left as a percentage of everything you put in. ROAS compares adverts; ROI decides whether the channel deserves the budget.
How do I calculate break even ROAS?
Divide the price the customer pays by what you keep from it after VAT, returns, the product, delivery and card fees. With no VAT, returns or per order costs that comes down to one divided by your margin: 1.67x at 60 per cent, 2.5x at 40 per cent. Every cost you add raises it, which is why the calculator works it out from the whole stack. The second line, on all costs, also spreads your fees and creative over the ad spend.
Why do Shopify and Meta show different sales?
They count different things. Your shop counts orders placed, by whatever route. Meta counts orders it can link to someone who clicked or saw an advert within its attribution window, which can include sales another channel or no channel caused, and can miss sales where tracking was blocked. Neither is wrong; they answer different questions. Since March 2026 Meta also counts only link clicks for click attribution (PPC Land), so compare months either side of that with care.
Should I trust the ROAS the platform reports?
To compare adverts with each other, yes. As a measure of what the channel caused, only with care, and the error runs both ways. Haus's 640 Meta experiments found Meta under counted its incremental sales by 15 per cent on average on 7 day click attribution for direct to consumer brands (Haus), while retargeting often claims sales that would have happened anyway. "Sales the ads caused", under Fine tune, lets you set your own view, and starts at the platform's figure.
Can I import my Meta, TikTok or LinkedIn report?
Yes, as a CSV file. Open "Campaign by campaign" under Fine tune, then drop the file there or choose it from your device. The page reads the file in your browser, finds the header row, matches columns such as amount spent, cost, total spent, purchases and conversion value, and fills up to ten rows. Nothing is uploaded, and every cell can be corrected by hand.
What is the most I should pay for a customer?
What you keep from one order after VAT, returns, the product, delivery and card fees. Pay more than that on ad spend and each sale costs you money, however good the ROAS looks. The calculator shows it as the most you can pay per customer, and the cost you are actually paying, on ad spend and again with fees and creative.
Should agency fees and creative costs count?
Yes, and leaving them out is the most common way a losing campaign looks profitable. That is why there are two break even lines and why the verdict uses the one on all costs. A campaign that clears the first line but not the second is paying for its media and not for the people and adverts behind it.
How is lead generation measured differently?
Through the cost per lead and the share of leads that become customers. If a lead costs 25 pounds, one in ten becomes a customer and a first sale is worth 800 pounds, the revenue per pound of ad spend is 800 times 0.10 divided by 25, which is 3.2x, before VAT and margin are taken off. Choose lead generation under "Sales or leads" in Fine tune and the calculator does this for you. Counting leads rather than customers flatters every campaign.
Why is my ROAS falling month on month?
Four usual causes: the same people seeing the adverts too often, adverts losing their novelty, more advertisers bidding in your category, and tracking losing sales the campaign did produce, including changes such as Meta's attribution rules in March 2026. Check the cost figures before cutting budget, because three of those can be fixed and the fourth is a measurement problem.
Is anything sent to you when I use this calculator?
No. The figures and any CSV file you add stay in your browser. Nothing is sent unless you ask us to email you the result, and the copy link and print options both work on your device.
Who built this
If you would rather watch than read
Travel, food and influencer content from our founders, and the channel where the long form work lives.
The agency channel. UGC (user generated content) examples, client work and finished campaign videos.










