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!

Impression/Click Tracking


Below explains how we track the impressions and clicks you see in the Reporting UI and API.

Impression Tracking - API Requests

When Adzerk's Ad Decision Engine provides a Response to your Decision API Request, it'll include a field called `ImpressionURL', such as:

  "adId": 111,
  "creativeId": 222,
  "flightId": 333,
  "campaignId": 444,
  "clickUrl": "",
  "impressionUrl": ""

This URL is unique to the ad, so if fired, it'll record that an impression happened for that particular ad.

In order to make it fire, you'll have to GET this URL endpoint. Alternatively, you coul
d place this impressionURL directly on the page, but we recommend GETting it to help combat reporting discrepancies that could happen because of ad blockers. More info here.

Impression Tracking - JS Ad Code

If using JavaScript ad code, Adzerk serves a tracking pixel called Veripixel at time of impression. It looks like this: <img width="0" height="0" src="http://e-<networkId>"

The random string of letters and numbers at the end prevents a user's browser from caching Veripixel.

Click Tracking

Adzerk tracks clicks with a click tracking URL. When a user clicks on an ad, this link records a click in our reporting server, and then redirects the user's browser to the creative's destination page. The URL looks like:

If you use the click tracking macro %URL% when setting up a JavaScript/HTML type creative, Adzerk automatically generates our tracking URL wherever the macro is placed in the creative.

In the Decision API Response, you'll see the click URL under the clickURL parameter.

  "adId": 111,
  "creativeId": 222,
  "flightId": 333,
  "campaignId": 444,
  "clickUrl": "",
  "impressionUrl": ""

You'll want to grab this URL and redirect the user to it if they click on the ad.

Adzerk registers a click whenever a user clicks on an ad with a unique impression. If a user clicks on the same ad multiple times without refreshing the page, we will not register new impressions, and therefore will not count the clicks after the initial click.

Pulling Impression Pixel

There are times when you may need to figure out what ad from your account is serving into a given placement. This information is stored in the impression pixel that is served along with your ads. You can use the developer console of your browser to access this information.

  1. First, right-click on the page with the ad, and then left-click "Inspect" or "Inspect Element" in the context menu.
  1. Next, click the element selector on the top left of the dev console, then click on the ad placement you want to identify.
  1. This will bring you to the div for this placement. Look at the bottom of the div in the code for an image source calling for e-<networkId> This is your impression pixel.
  1. Right-click on this pixel, then select "Edit as HTML" to copy and paste the pixel into a text editor. Then copy the impression shim by selecting everything between the "=" and the "&" signs in the impression pixel. This will leave you with a block of text encoded in base-64.

For most users, you can simply email this to Adzerk Support, and we can identify the flight for you.

For API users, you can decode the shim by using a base 64 decoder. This will generate a JSON object with various information about the impression that served. "fl" is the flight ID, which can be looked up in the API.

Modifying Revenue

Adzerk records revenue data for each click, but by default events do not have revenue associated with them.

To add or modify revenue for clicks or events, you can pass parameters to the end of the Adzerk's click tracking URLs or event tracking URLs:

  • override: replaces the revenue value of the click/event (e.g. appending &override=1.23 would set the revenue to $1.23)
  • additional: adds the specified value to the original revenue value of the click/event (e.g. appending &additional=1.23 would add $1.23 to the original revenue for the click/event)

Modifying Revenue for Clicks

Append the query parameters from above to the click tracking URL from the Decision API response (clickUrl). For example:

Sets a new value of $0.50 for the click.

Adds $1.00 to the revenue already stored on the click.

Modifying Revenue for Events

Since events have no revenue by default, overriding revenue on events adds new revenue.

Append the query parameters from above to the event tracking URL from the Decision API response (the url associated with the event id). For example:

Sets a new value of $0.50 for the event.

Sets a value of $1.00 for the event, or adds an additional $1.00 if the event has already had revenue set.

Flash Creative Click Tracking

ActionScript 3.0

To track clicks for ActionScript 3.0 Flash creatives you'll need to ensure the code for the SWF includes the following clickTAG:


click_btn.addEventListener(MouseEvent.MOUSE_UP, onClick);

function onClick(e:MouseEvent):void {
	var click_url:String = root.loaderInfo.parameters.clickTAG;
	if(click_url) {
		navigateToURL(new URLRequest(click_url), '_blank');

ActionScript 2.0

To track clicks for ActionScript 2.0 Flash creatives you'll need to ensure the code for the SWF includes the following clickTAG:

on (release) {
  if (clickTAG.substr(0,5) == "http:") {

(For more information about this, see this guide)

So long as this clickTAG is included in the Flash file, you can enter in the click URL of your choosing in the Edit Ad section.

Bot Filtering

Bot filtering refers to the automatic filtering-out of impressions from bots and spiders. A request from a detected bot or spider will be fulfilled, but the impression or subsequent clicks will not be logged in our reporting system.


Using ados.js ad requests

Nothing. Adzerk automatically filters impressions for bots

Making requests to the Decision API

Must set "enableBotFiltering": true in the Decision API Request after placements

Impression/Click Tracking

Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.