The CPC Illusion

Cost per Click is not the same as Cost per Visit

When I entered the advertising industry last year, I was determined to follow a simple rule: be honest. The ad industry has always carried a stigma of being dirty and dishonest. That’s why Code Sponsor followed Eric Holscher’s “Ethical Advertising” philosophy. Part of this to me meant that the advertisers only pay for clicks that not from bots, duplicate clicks and fraudulent attempts.

CPC (cost per click) has been the cornerstone of our business since day 1. In our 100% open source refactor of CodeFund, we are still only charging on a CPC basis. I had always considered this as a competitive advantage.

This is how our platform worked (based on the visitors interactions):

  1. The user clicks the ad on the publisher’s website
  2. The user is redirected to CodeFund
  3. CodeFund records the click, charges the advertiser, and allocates distributions for the publisher
  4. User is redirected to the advertiser’s website
  5. Advertiser tracks the user session on Google Analytics

I thought this was working great until…

What happens when your data doesn’t match my data?

Last week, I heard from several advertisers that the number of clicks we are reporting on the CodeFund platform did not match the number of visitors they are showing in Google Analytics. In fact, according to 2 different advertisers, they indicate that they are showing approximately 38% fewer visitors than what we are sending across.

Now remember, we are a CPC based company and charge per click. If we charge $1 per click and they are only getting 62% of the traffic, that means that we are actually charging around $1.61 per click.

calculated at symbolab.com

The problem that this creates for our advertisers is that our data can no longer be relied on, which means they can’t accurately budget their CPC in their ad spend.

Use a 3rd party to verify the data

After searching our code for any type of redirect failure, we decided to set up a 3rd party to track redirects. We set up a bit.ly account and added the final redirect URLs, then added them to CodeFund. This way, whenever a user clicks an ad, we will track it internally, and bit.ly can verify that the user was redirected to the advertiser’s website.

Here’s the flow:

  1. The user clicks the ad on the publisher’s website
  2. The user is redirected to CodeFund
  3. CodeFund records the click, charges the advertiser, and allocates distributions for the publisher
  4. User is redirected to bit.ly
  5. bit.ly tracks the visit
  6. User is redirected to the advertiser’s website
  7. Advertiser tracks the user session on Google Analytics

After tracking this data on both platforms, we found that the numbers were near identical. bit.ly data shows that our data is accurate.

What do you do when Google says you are wrong?

Now we are in a rough spot. For us to continue to have trust with our amazing advertisers, we need to provide accurate data. But for some reason, traffic we are sending is not appearing in Google Analytics.

We have contemplated many reasons why this could be the case.

  • Is Google Analytics is being blocked by user’s browsers?
  • Are clicks somehow being triggered by a browser extension behind the scenes
  • Could there be a bug in Google Analytics?

I am certain that there is not just one answer to the discrepancy. Nonetheless, we must provide true value to our advertisers or we cannot stay in business.

It’s time for a change.

Predictable advertising through CPM

CPM means Cost per “Mille,” or 1,000 impressions. Jack Bellmont, founder of DigitalMediaMetrics.com provides a in-depth list of advantages CPM has over CPC for both advertisers and publishers.

Here are a few of the benefits listed:

  • Guaranteed impressions to reach target audience
  • Control of cost and visibility
  • Easy to calculate
  • Publishers can easily calculate how much they will make based on traffic

CPM coming in June

We are actively working on a solution that will continue to provide high value to both our advertisers and publishers using the CPM model. This change will take place in the first half of June. Our goal has and always will be to help provide funding to the developer community through ethical advertising, and we believe these changes are critical in doing so.

We would like to thank our advertisers and publishers for their patience as we work all this out.

If you have any questions, please reach out to me at eric [at] codefund.io or join our slack channel (#codefund) at https://gitcoin.co/slack.