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!

Campaigns

Overview

A campaign is a collection of flights, which contain the advertiser's ads. Typically the flights in a campaign have a common theme, such as product or promotion.

For a full list of Campaign API endpoints, click here.

Campaign Page

You can visit the Campaigns tab by clicking the Campaigns button on the top left.

By default you will see only campaigns have not reached their End Date, whether they are OFF or ON.

Campaign Fields

Refer to our API documentation for more info about our Campaigns endpoints.

What
Description
API Field

Campaign Name

Friendly name of the campaign

Name

AdvertiserID

The ID of the advertiser the campaign is under. This ID can be found next to the Advertiser's name in the Advertiser tab

AdvertiserId

Salesperson

Salesperson tied to the campaign

SalespersonId

Active status

Whether campaign is live or not - in the UI this can be seen by the toggle button next to Campaign name

IsActive

Deletion status

Whether Campaign is deleted. You can delete in the UI by clicking the X button.

IsDeleted

Archive status

Whether Campaign is archived. API only.

IsArchived

Frequency Capping

Set Frequency Capping at the campaign level. API and Dashboard 1.0 only

FreqCap, FreqCapDuration, FreqCapType, DontAffectParentFreqCap

Budget Capping

Set budget/revenue caps at the campaign level. This is a Beta feature that will stop an ad from serving once a pre-specified budget is reached. Please see here for more information. You can set this at the daily level or lifetime value. Check 'unlimited' if you'd prefer to set limits elsewhere by metrics like end date, impression caps, etc. API and Dashboard 1.0 only

CapType (has to be Revenue, which is CapType = 4), DailyCapAmount, LifetimeCapAmount

Custom Fields

Used for the tracking of flights and campaigns in external systems. More info here. API only.

CustomFieldsJson

The salesperson must first be added to your Adzerk account as a user.

Creating/Editing a Campaign

If you create more than 500 flights in a campaign, the campaign will not be able to load in UI 1.0. Also, any flight filtering features in the campaign will not work.

Creating With UI:

  1. Go to the Campaigns tab --> click New Campaign
  2. Add the Advertiser and Campaign Friendly Name (Salesperson is optional)
  3. Save

Editing With UI:

  1. Go to the Campaigns tab --> click the pencil to the right of the campaign
  2. Edit and save

Note: you can not change the Advertiser.

Duplicating with UI

  1. Click the three dots on far right
  2. Click 'Duplicate Campaign'

When duplicating a campaign, you can duplicate up to 50 of the campaign's flights.

Creating With API:

Use the Campaign Management API's Create Campaigns endpoint.

For required fields:

AdvertiserID = The advertiser's ID
Name = What you want to name the campaign
StartDate = The start date for the campaign
Flights = Flights you want to create along with campaign creation, using properties from Create Flight endpoint. You can also just leave a blank array to create without flights

All other fields are optional.

Example:

campaign={
  "AdvertiserId":123,
  "Name":"Test",
  "flights":[],
  "StartDate":"5/1/2017"
}

Editing with the API

You'll want to use the Campaign Management API's Update Campaigns endpoint.

For required fields:

Id = The campaign's ID, which you will have received from the JSON response
AdvertiserID = The advertiser's ID
Name = What you named the campaign or want to change it to
StartDate = The start date for the campaign or what you want to change it to

All other fields are optional.

Example:

campaign={
  "Id":1234,
  "AdvertiserId":123,
  "Name":"Test",
  "StartDate":"5/1/2017",
  "Price":"10.00"
}

Campaign Revenue Summary

The Campaigns tab also lets you see imps/clicks/conversions/revenue.

Total impressions and revenue will be excluded if:

Flights are using Percentage goal types
Flights are using a CPC price without a Click goal
Flights are using a CPA price without a Conversion goal

If a campaign includes both flights where revenue can be calculated and flights where revenue cannot be calculated, the summary will contain the calculable revenue and include the message:

(not including any flights where expected revenue cannot be calculated)

Guide to Statuses

Statuses are based on the least healthiest component. For example, if one creative is in danger of not meeting its goal but all other creatives are healthy, the status for the flight and campaign will also be in danger.

If you mouseover the status bar of a campaign that includes non-percentage goal flights with end dates, we will display the percentage of impressions that have served to that goal.

The orange "Borderline" status is set if the ratio of desired impressions to projected impressions is between 1 and 1.05.

The red "In Danger" status is set if the ratio is greater than 1.05.

Below are what the various status bar colors refer to:

The campaign, flight, or creative is set to disabled:

The flight is ready to serve, but the start date is in the future so it isn't serving:

This flight is serving and is projected to reach its goal by the end date:

The flight is serving, but is unlikely to reach its end goal. Consider expanding its goals or its targeting:

The flight is serving, but is projected not to reach its goal before the end date. Consider expanding its goals or its targeting:

This flight has met its goal and has finished serving, or it is currently serving without a goal or end date. The Served/Total column clarifies this:

The flight finished but did not meet its goal:

Blue - "The status of the campaign is not yet available" or "This flight has been disabled and is not serving" (scroll over to status bar in dashboard to see):

Budget Capping with API

You'll want to include the following fields in the Create Campaigns request:

CapType = 4
DailyCapAmount = the maximum daily revenue
And/or LifetimeCapAmount = the maximum lifetime revenue

Example:

campaign={
  "AdvertiserId":123,
  "Name":"Test",
  "flights":[],
  "StartDate":"5/1/2017",
  "CapType":4,
  "DailyCapAmount":5000,
  "LifetimeCapAmount":50000
}

Searching for a Campaign

With API:

You can use the Campaign Management's Search Campaigns endpoint to pull up data about a specific campaign use campaignName, which is the same as the name field when you create it.

The resulting response looks like this:

{"PageNumber":1,
"PageSize":10,
"TotalPages":1,
"TotalItems":2,
"Items":[{
    "Id":123,
    "Name":"Test Campaign",
    "StartDate":"\/Date(1293858000000-0500)\/",
    "EndDate":"\/Date(1325307600000-0500)\/",
    "IsActive":true,
    "Price":10.00,
    "AdvertiserId":1234,
    "Flights":null,
    "IsDeleted":false,
        "SalespersonId":1234,
        "IsArchived":null},

    {"Id":1234,
    "Name":"Test Campaign Two",
    "StartDate":"\/Date(1293858000000-0500)\/",
    "EndDate":"\/Date(1325307600000-0500)\/",
    "IsActive":true,
    "Price":10.00,
    "AdvertiserId":12345,
    "Flights":null,
    "IsDeleted":false,
        "SalespersonId":1234,
        "IsArchived":null
    }]
}

With UI:

  1. In Campaigns tab, put in the filters on the right

Wildcard characters are not respected by "Name Contains".

Also, Name Contains doesn't recognize straight quotes and apostrophes as smart quotes and vice versa. This is especially important if you are pasting campaign names into Name Contains from Word or Excel.

Archiving Campaigns

Archiving campaigns is in Beta. Ask your account manager to enable it for your account.

Archiving a campaign removes it from the list of campaigns in your account. This keeps your campaigns list tidy, displaying only the most relevant campaign.

An archived campaign will still be viewable from the list of campaigns under an advertiser. Its impressions will also be available in reporting. However, ads in archived campaigns are not eligible to served.

Archived campaigns are similar to expired campaigns, but there are several differences:

  • Expiring a campaign requires its flights to past their end date. A campaign can be archived even if its flights have no end dates, or if the end date hasn't been reached.
  • A campaign can be unarchived if it is not past its end date.

You can only unarchive campaigns if the campaign has no End Date, or it has not yet reached its End Date.

Archiving with API:

With the Update Campaigns endpoint, use the IsArchived = true property.

campaign={
  "Id":1234,
  "AdvertiserId":123,
  "Name":"Test",
  "StartDate":"5/1/2017",
  "IsArchived":true
}

Id, AdvertiserId, Name, and StartDate are required fields for the Update Campaigns request.

Unarchiving with API:

With the Update Campaigns endpoint, use the IsArchived = false property.

campaign={
  "Id":1234,
  "AdvertiserId":123,
  "Name":"Test",
  "StartDate":"5/1/2017",
  "IsArchived":false
}

Id, AdvertiserId, Name, and StartDate are required fields for the Update Campaigns request.

Campaigns


Suggested Edits are limited on API Reference Pages

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