Skip to content

Calculating Success – Calculating ROI’s from CPM buys using CPC – Part 2

In my last post, Calculating Success – Figuring out ROI’s – Part 1 we covered a couple of things.

  1. Established a click cost as our basis for figuring out profitability
  2. Discussed the formula involved in calculating a EPC.

Now that we have an EPC we’re going to move on to figuring out how to get a CPC from a CPM cost. We know that CPM is the cost per 1000 people that see your ad. Typical CPM rates can range from 10 cents to 10-20$ CPM. Just depends on the site and how they value their traffic. Maybe after I do some posts on calculations and math I’ll get into media buying but not for now 🙂

In order to do this we need to get things in terms of clicks. To get things in terms of clicks we need to add another metric and that’s CTR. As discussed in the previous post CTR stands for Click Thru Rate. This is the % of people that click on an ad. Pretty simple right? I get asked a lot what a good CTR is. Of course there is about 100 factors that go into making that determination like placement on the page, how focused the site is to the ad, etc etc. If I’m just doing a Run of Network buy I typically like to get a .1-.2% at a minimum.

Here’s our formula to calculate clicks based on CTR.

Impressions * CTR / 100 = Clicks

lets put some numbers in here.

1000 * .2 / 100 =  2 clicks

If we get 1000 impressions and we have .2% click through rate that means we’re going to get 2 clicks per 1000 impressions. Does this make sense? Let’s use easier numbers. If we have 1000 impressions and 10% ctr that would be 100 clicks right? and 1% would be 10 clicks? So there for our number looks right at 2 clicks per 1000 impressions.

We’ll now be able to calculate our CPC since we have things in terms of clicks. Here’s the formula.

CPM / clicks = CPC

let’s assume we’re paying a 1$ CPM the math would look like this based on our previous 2 clicks.

1.00 / 2 = .50 cents

Make sense? Assuming we are direct linking to the offer from our media  buy all we need is an EPC better then .50 cents and we’re profitable.

We can then take it a reverse it. What if we knew our EPC to be profitable was 75 cents. And we knew our CPM can we find out what CTR we need to be profitable? Of course, we just work with backwards.

1.00 / c = .75

we then multiply both sides by c to get

1.00 = .75c

then we divide both sides by .75 and wind up with c or number of clicks being…

1.00 / .75 = 1.3 clicks  to be profitable

plug this back into to our first equation

1000 * ctr / 100 = 1.3

1000 * ctr = 130

130 / 1000 = .13

We only need a .13% ctr in order to make this campaign profitable if our EPC was hire.

Can you now see how that can really help? You can do some simple math based on what you know and find out really quick what kind of ctr you’d need on your ads, conversion rates or what you should pay for media. If you know that you can’t get better then a ctr of .1 and the typical epc of an offer is $1.00 then you know what you can pay for media and still be profitable.

Here’s two calculators for these equations

Number of clicks from based on CTR

CTR: %

CPC based on CPM and Number of clicks ( calcs busted cause I hate WP, it’s jacking my code. If anyone wants to send me a fix I’ll put it up)

CPM: $
CPC: $


  1. miketpowell miketpowell

    I like to simplify more then that. Such as “Impressions * CTR / 100 = Clicks” is way to much for me! I don’t want to multiple by 1000 then divide by 100! I just think “Take CTR and move the decimal over 1 spot to the right”. IE .2 ctr -> 2 clicks.

    This gives the formula I can do in my head pretty damn fast and easy, “(CPM price) / (CTR with decimal moved to the right 1) “.

    I also prefer eCPM because as we all know different ads will have different CTRs AND different EPCs. eCPM captures both of these metrics to give the true performance of an ad in a single number.

    Everyone that’s done this awhile has had the experience of making an ad that gets a great CTR but just kills the EPC at the same time.

    • Thanks for the response Mike. I do the same. Was just trying to take it slow for most people. 🙂

  2. Very good article. Good job making it basic.

  3. shilpa shilpa

    very informative article

Comments are closed.