Tempio

POAS calculator

Profit on ad spend divides the gross profit a campaign produced by what the campaign cost. It is return on ad spend with the cost of goods taken out first, which sounds like a small adjustment and is the difference between a number that describes a business and one that describes a platform's revenue attribution.

POAS calculator

your currency
your currency
%
Profit on ad spend
1.52×
Return on ad spend
4×
Gross profit after ad spend
12,480your currency
  1. Gross profit on the attributed revenue is that revenue multiplied by the gross margin.
  2. Profit on ad spend is that gross profit divided by the ad spend.
  3. Return on ad spend divides the revenue itself by the same spend, for comparison.
  4. Gross profit after ad spend is that figure minus the ad spend.

What each field is asking for

Attributed revenue is the platform's own figure for the campaign, inside the account's attribution window. It carries every caveat that applies to any attributed number: two platforms can claim the same order, and a window change alters the figure without anything changing in the account.

Ad spend is what the campaign cost over the same period, in the same currency. Nothing here converts.

Gross margin is required on this page rather than optional, because without it there is no profit figure and the page is just a return calculator. Use the margin of what this campaign sold: product cost, inbound freight, outbound shipping, payment fees, packaging — everything that varies with the order — and nothing that is fixed.

Why the margin has to come first

A revenue return treats every unit of revenue as equivalent. The business does not. A campaign returning four units of revenue at a 60 per cent margin produces 2.4 units of gross profit per unit of media; the same return at a 20 per cent margin produces 0.8 and loses money. In a return report the two are the same campaign.

This is not an edge case. It is the ordinary situation in any business with more than one product, and it produces a specific, repeatable failure: budget moves toward the campaigns with the highest reported return, which are frequently the ones selling the cheapest, thinnest-margin products, because those are the easiest things to sell. The account optimises itself into a worse mix while every dashboard improves.

Applying the margin before the division removes the failure entirely. The number that comes out is already in units of gross profit, so a campaign ranking by this figure is a ranking by what the business keeps.

The amount beside the ratio

The third output is gross profit after the media: revenue times margin, minus spend. It is the line that decides arguments, because it has a size.

Ratios hide scale in both directions. A campaign whose spend was cut in half reports a better profit on ad spend and a smaller business behind it. A campaign that doubled both spend and profit reports an unchanged ratio and twice the money. Neither fact is visible in the ratio, and both are obvious the moment an amount sits next to it.

The most common version of this argument happens when an account grows. Spending into a wider audience lowers the ratio and raises the total, which is usually the correct trade and always the one that has to be defended, because the ratio is the number in the weekly report and the amount is not.

Where this number is still wrong

Applying a margin fixes the revenue-quality problem. It fixes none of the attribution problems, and it is worth being explicit about which ones remain.

It is still attributed. The revenue is whatever the platform claimed inside its own window, and the same order can appear in two platforms' figures.

It still counts demand it did not create. Branded search and retargeting harvest people who had already decided. Their gross profit is real; the causal claim underneath it is not.

It has no memory. A campaign that acquires customers who buy for three years and one that acquires one-time buyers can produce identical profit on ad spend in the month they ran.

It ignores every fixed cost. Gross profit is not profit. Rent, salaries, software and tax sit below this line, which is why a figure of 1 is break-even on the media rather than break-even for the business.

It inherits the margin's accuracy. A margin that has not been recalculated since freight prices moved produces a confident number built on a stale one.

It treats one period as the whole story. A campaign is measured over the days it ran, and the orders it caused do not all arrive inside them. A short window understates a considered purchase and a long one lets a slow month borrow from a fast one, and neither distortion is visible in the figure itself.

What to do with the answer

Set the threshold from what the business needs rather than from the metric. Work out what share of gross profit has to survive the media to cover the fixed costs and leave the return the owner wants, and the ratio that implies is the campaign's floor.

Then rank campaigns on this figure rather than on revenue return, and expect the ranking to change. The campaigns that fall are usually the ones selling cheap, high-volume products that looked efficient because revenue is easy to produce there. The campaigns that rise are usually the ones selling the things the business actually makes money on.

Then work the inputs, in order of what moves furthest. Margin is often the largest and slowest lever — pricing, packaging, freight, supplier terms — and each point of it raises this number for every campaign at once. Order value moves it directly through the same arithmetic. Only after those has the auction earned any attention, and by then the threshold you are bidding against is the one this page produced rather than a benchmark from a business you have never seen.

Questions

More free tools

Put frontier AI to work on every ad account you run.

Tempio connects your ad accounts into one workspace and hands your own AI the numbers and the tools. Every change it writes is a draft until you approve it, or until a rule you wrote does.

Request early access
  • Read and draft by default. Approve is a separate permission you grant.