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!

Priorities / Waterfall

Overview

Priorities determine what ads have precedence over others. For instance, you can set rules so that House Ads (internal promotions) only appear if there's no advertiser to fill the slot.

Priorities work like a waterfall: the Adzerk engine will attempt to fill any impressions that aren't captured by the highest priority with the next highest priority, and so on.

They are set at the Channels level. For most clients, this will be the default All Sites Channel.

Priorities are designated by a number: 1 is the highest priority while 100 is lowest.

Default Priorities

Adzerk automatically creates four common Priorities for you. You can add up to 96 additional priorities in a given Channel (100 total).

Name
Weight
Selection Method

Sponsorship

1

Lottery

Premium

5

Lottery

Networks

10

AdChain Ordered

House

20

Lottery

Priority Fields

Below are the fields related to a Priority you'll find in the UI and/or API.

Property

Priority Name

Friendly name for the priority

name
(string)

Channel

The Channel's ID, needed only for the API

ChannelId
(integer)

Weight

Determines if ads are prioritized over ads in other priorities (a lower number is prioritized over higher numbers, with 100 last). You can set this to any value not being used

Weight
(integer)

Selection Method

Choose which selector the ad engines use to select an ad from this priority. Defaults to Lottery (0 in API).

SelectionAlgorithm
(integer)

Optimize Priority for Keyword Serving
(optional)

Whether its optimized for responding to large number of keyword requests. Cannot be updated after creation

IsKeywordOptimized (boolean)

Enable Second Pricing
(optional)

Auctions only.

IsSecondPricing
(boolean)

Floor Price
(required)

Auctions only. It's the minimum bid needed to win the slot. Set to 0 if this doesn't matter to you.

FloorPrice
(float)

Remainder Percentage
(required)

Auctions and AdChain Optimized only. Refers to the percentage of impressions that ads with lower eCPMs will receive, which is used to give poor-perfoming ads a "second-chance". Set to 0 if this doesn't matter to you.

UI only

SelectionAlgorithm

This may only be set on creation, and this field cannot be updated. Values include:

0 = Lottery
1 = Auction
2 = Adchain Ordered
3 = Adchain Optimized
4 = Lottery with Outbid

The Remainder Percentage is used to artificially bump up ads that have lower eCPMs. For instance, if you put 5, that means 5% of impressions won't be optimized for max revenue, but will instead be used to give ads that once performed poorly a 2nd chance to get data.

Adding Priority - UI

To add a priority, follow the steps below.

  1. Inventory --> Channels
  2. Click on Priorities, which is to the far right
  3. Click Add a New Priority To This Channel in top left
  4. Fill in the required fields. If creating an Auction priority, there's more info here.
  5. Save

The Weight cannot be already used by another Priority. Also, once you save, the Selection Method cannot be updated.

Finding a Priority with UI

  1. Go to Inventory --> Channels
  2. Click on Priorities to the right of your Channel (you'll probably be using "All Sites"). You'll find the ID to the right of the name.

Creating a Priority with the API

Use the Create Priority endpoint. The call will look like:

priority={
  "Name":"High Priority",
  "ChannelId":1234,
  "Weight":2,
  "SelectionAlgorithm": 1
}