The Adzerk Developer Hub

Welcome to the Adzerk developer hub. You'll find comprehensive guides and documentation to help you start working with Adzerk as quickly as possible, as well as support if you get stuck. Let's jump right in!

Auctions / eCPM Optimization


Auctions are a delivery method with the goal of generating the most revenue for each ad impression.

This is different from lottery, in which the system looks at the eligible ads and chooses a winner at random.

Whether an ad will compete in an auction is determined by its priority. There are additional settings on auction priorities (such as floor price etc.) that determine auction behavior.

For Auctions, when choosing what ad "wins" the placement request, Adzerk:

  1. Filters everything down to all eligible ads
  2. Calculates eCPM (aka how much each ad will make you on average for ever 1K impressions).
    This is taken directly from the CPM rate of the ad, a bid from a third-party RTB provider, or by performing a calculation to determine the eCPM from CPC or CPA rates.
  3. Picks the ad with the highest eCPM.

This ensures you are making the most money for each ad impression.

When Auction is Used

The Auction selection method is most effective when:

  • You have multiple advertisers with different bids
  • You've set the expectation that bid amount will impact volume (versus guaranteeing a certain number of impressions/clicks)
  • You are charging on CPC or CPA (versus straight CPM or flat fee)
  • Your inventory is competing against RTB inventory

What Is eCPM?

Adzerk uses effective Cost-Per-Mille (thousand impressions), or eCPM, to calculate the value of each ad in auction.

eCPM is defined as the historical revenue of an ad per 1000 impressions. It is calculated as:

eCPM = (Total Revenue / Impressions) * 1000

If your flights use a CPM rate, the eCPM is the same as CPM because each impression generates the same amount of revenue:


CPM = $5.00
Impressions = 9000

You can calculate: 

Revenue = (CPM / 1000) * Impressions
        = (5.00 / 1000) * 9000
        = $45.00

Then we will use the total revenue to calculate eCPM:

eCPM = (Revenue / Impressions) * 1000
     = (45.00 / 9000) * 1000
     = $5.00

However, if you are charging on a cost-per-click (CPC) or cost-per-action (CPA) basis, revenue is not derived from impressions and these numbers will be normalized into eCPM for an auction:


CPC: $5.00
Impressions = 9000
Clicks = 420

We will use clicks to calculate the total revenue:

Revenue = CPC * Clicks
        = 5.00 * 420
        = $2100.00 

Then we will use total revenue to calculate eCPM:

eCPM = (Revenue / Impressions) * 1000
     = (2100.00 / 9000) * 1000) 
     = $0.2330

To calculate eCPM for CPA flights, use the calculations above but substitute "conversions" for "clicks".

Normalizing revenue into eCPM is useful for two auction situations:

  • It enables CPC and CPA flights to compete against each other and against CPM flights
  • It allows CPC and CPA flights that generate the most revenue to win the auction (instead of competing using their price).

Just because an advertiser is paying a higher CPC doesn't mean they'll generate the most revenue. In the scenario below, the $1.00 CPC bidder actually makes 150% more than the $2.00 bidder because their click-through-rate (CTR) is so much higher:

CTR (per 1000 impressions)
















Flat rate flights can also compete in auctions, but their eCPMs cannot be calculated. Instead, a fixed eCPM must be used.

How Adzerk Calculates eCPM For Auctions

If a flight has eCPM Optimization settings enabled, Adzerk will calculate an eCPM for the ads in the flight approximately every thirty minutes. (You can define the historical time period for the optimization and the default eCPM for this calculation using the eCPM Optimization settings).

To calculate the eCPM, we use the:

  • Total revenue from the time period specified for the calculation
  • The number of impressions the ad has served during the time period

We then multiply this eCPM by the multiplier value (if applicable).

If the calculated eCPM exceeds the max eCPM from the flight settings, will we use the max eCPM as the final eCPM for the auction. (Also, if the calculated eCPM is lower than the min CPM, we will use that instead.) Otherwise, we will use the calculated eCPM.

If a flight is still in burn-in mode, we will use the default eCPM specified on the flight.

Auctions / eCPM Optimization