Facebook Ads Cost Calculator

CPM to cost a click to cost a conversion, with what a ten percent improvement in each is worth and what would have to be true to break even.

Live output

Enable JavaScript to customise; default output below.

Cost a thousand impressions. It rises with competition and through the fourth quarter.

This one belongs to the landing page rather than the ad, which is why it is the cheapest of the three to fix.

Live preview ad-cost.txt
Budget                                    $5,000.00

The chain
  impressions                             434,783 at a $11.50 CPM
  clicks                                  5,217 at 1.2% through
  conversions                             161.7 at 3.1% converting

What each one costs
  a thousand impressions                  $11.50
  a click                                 $0.9583
  a conversion                            $30.91
  which is                                the CPM divided by the click-through rate and the conversion rate

A ten percent improvement in each
  cheaper impressions                     $28.10 a conversion, 9.1% off
  better click-through                    $28.10 a conversion, 9.1% off
  better conversion rate                  $28.10 a conversion, 9.1% off
  which means                             the three levers are identical in the arithmetic, and different in how much room they have

Against what a conversion is worth
  order value                             $84.00
  gross margin                            55%, so $46.20 a conversion
  cost a conversion                       $30.91
  headroom                                $15.29 a conversion
  revenue                                 $13,586.09
  gross profit                            $7,472.35
  after the ad spend                      $2,472.35
  return on ad spend                      2.72×, against a break-even of 1.82×
  verdict                                 each conversion costs less than the margin it earns

What would have to be true to break even
  CPM of                                  $17.19
  or click-through of                     0.8%
  or conversion rate of                   2.07%

A conversion costs $30.91: a $11.50 CPM, divided by a 1.2% click-through
rate, divided by a 3.1% conversion rate. Ten percent off any one of them
takes the same 9.1% off the cost of a result.

Since the three are equal in the arithmetic, choose between them on
range rather than leverage. Creative moves click-through by a factor of
several across the same audience, landing pages move conversion rates by
two or three, and bidding moves the cost of impressions by tens of
percent. The account settings are the smallest of the three and they
absorb most of the attention.

CPM is a price set by an auction you are only one side of. It rises with
competition, through the fourth quarter, and as a campaign exhausts the
responsive part of its audience, so a plan built on a CPM measured in a
quiet month is a plan built on the best case.

Click-through rate is a creative measure and a relevance measure at
once. A high rate on an irrelevant audience produces cheap clicks that
do not convert, which is why the chain has to be read to the end rather
than stopped at the cost of a click.

The conversion rate here belongs to the landing page and the offer, not
to the ad. It is the cheapest of the three to test and the one most
often left alone, because it sits with a different team from the one
buying the media.

Cost benchmarks by industry are worth very little. The variance within
an industry is larger than the variance between industries, and your own
trend over the last few months answers more questions than any published
average.

Every figure here is an average, and averages hide the distribution.
Most campaigns have a small number of ads and audiences doing nearly all
the work; the blended cost a conversion tells you the campaign is fine
while half of it is not.

Output is valid and updates as you type.

Write out what a conversion costs and the argument about where to spend your attention mostly disappears:

cost a conversion = CPM / (1000 × click-through rate × conversion rate)

Three numbers, multiplied. A ten percent improvement in any of them takes the same 9.1 percent off the cost of a result. Cheaper impressions, better creative and a better landing page are interchangeable in the arithmetic.

What is not interchangeable is how much room each has. Across creative, click-through rates vary by a factor of five or ten. Landing pages move conversion rates by two or three. Bidding and placement move the cost of impressions by tens of percent, and that is the lever most accounts spend their time on.

How to use

  1. Put in the budget and the CPM you expect.
  2. Put in the click-through rate and the conversion rate. Use your own numbers from the last month rather than a published benchmark.
  3. Add the order value and gross margin to see the break-even cost and what would have to change to reach it.

Example

$5,000 at an $11.50 CPM, 1.2 percent through and 3.1 percent converting, on an $84 order at 55 percent margin:

The chain
  impressions                             434,783 at a $11.50 CPM
  clicks                                  5,217 at 1.2% through
  conversions                             161.7 at 3.1% converting

What each one costs
  a thousand impressions                  $11.50
  a click                                 $0.9583
  a conversion                            $30.91

A ten percent improvement in each
  cheaper impressions                     $28.10 a conversion, 9.1% off
  better click-through                    $28.10 a conversion, 9.1% off
  better conversion rate                  $28.10 a conversion, 9.1% off

Against what a conversion is worth
  gross margin                            55%, so $46.20 a conversion
  cost a conversion                        $30.91
  headroom                                $15.29 a conversion
  gross profit                            $7,472.35
  after the ad spend                      $2,472.35
  return on ad spend                      2.72×, against a break-even of 1.82×

What would have to be true to break even
  CPM of                                  $17.19
  or click-through of                     0.8%
  or conversion rate of                   2.07%

That last block is the useful one. It says how much room there is before the campaign stops working, in the units you actually measure.

Pitfalls

Cost a click is not the goal. A high click-through rate on the wrong audience produces cheap clicks that do not convert. Read the chain to the end, every time.

CPM is a price, not a choice. You are one side of an auction. It rises with competition, through the fourth quarter, and as a campaign exhausts the responsive part of its audience, so a plan built on a quiet month’s CPM is a plan built on the best case.

The conversion rate belongs to the landing page. It is the cheapest of the three to test and the one most often ignored, because it sits with a different team from the one buying the media.

Industry benchmarks are nearly useless. The variance within an industry is larger than the variance between industries. Your own last three months answer more questions than any published average.

Every number here is an average. Most campaigns have a handful of ads and audiences doing nearly all the work. A blended cost a conversion says the campaign is fine while half of it is not.

Break-even on gross margin is not break-even on profit. If fulfilment, payment fees and returns are material, use contribution margin instead. The break-even cost falls and some campaigns that looked comfortable stop looking comfortable.

A first conversion is not the whole value. Where repeat purchase is real and measured, a higher acquisition cost can be correct. Measured, not assumed.

Compatibility

Arithmetic in the browser: nothing is uploaded and nothing is stored.

The chain runs forward from the budget, and the unit costs are derived from it rather than entered separately, which is why they are always consistent: cost a click is the CPM over a thousand click-throughs, and cost a conversion is that over the conversion rate. The test suite asserts both identities and the equivalence of the three levers to nine decimal places, since that equivalence is the tool’s central claim.

Cost a click is printed to four places because it is frequently under a dollar and the third place changes the conclusion at volume.

The break-even section only appears when an order value is given, and it solves for each of the three inputs in turn rather than presenting a single required improvement, because which one you can move is a fact about your business rather than about the arithmetic.

Frequently asked questions

Which should I work on first?
Whichever has the most room. In practice that is creative, because click-through rates differ by multiples across ads for the same product, while bidding adjustments move the cost of impressions by percentages.
What is a normal CPM?
Low single digits to the high twenties, depending on country, placement, audience and season, which is a range wide enough to make the average meaningless. Use your own account’s figure and expect it to rise in the fourth quarter.
Why is my cost a conversion higher than the platform reports?
Because the platform reports the conversions it attributed to itself, and this divides your budget by the conversions you actually got. The gap between the two is the size of the attribution question.
Should I optimise for clicks or conversions?
Conversions, whenever there is enough volume for the delivery system to learn from. Optimising for clicks buys clicks, and the cheapest clicks are rarely the ones that convert.
How do I improve the conversion rate?
Match the landing page to the ad’s promise, cut the steps before checkout, and make the price and the shipping cost visible early. It is the cheapest of the three levers to test, and the results generalise to every other channel.
Weekly drops

New tools, when there are new tools

One email when something worth using ships. No schedule to fill, so no filler.

Your address goes nowhere else, and one click unsubscribes.