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!

Interest / Behavioral Targeting

Interest / Behavioral Targeting requires UserDB, a feature in the Business and Enterprise plans.

Check out our UserDB Interest Quickstart to see how to get this tested quickly

Overview

With Interest Targeting, you could let Advertisers target specific interest-based segments (and charge a premium for doing so). Such as:

Segment
Description

Sport Lovers

People who have engaged with sports content (either organic or paid ad)

Affluent Customers

People whose behavior indicates high income bracket (searches for expensive homes, etc)

Any custom segment you can build based on either user-given or behavior-based info

To help with terminology on this page:
(1) `Flight Categories' or categories = the interests you want to target. (2) interests = the UserDB name for a category

UserDB UserKeys

Adzerk saves a user's interests in UserDB, a data management platform for storing user-level data (more info here). All data is tied to a UserKey, which is the persistent key field in UserDB, and is located in the interests field in UserDB.

Creating Interest Categories

Interests (or Flight Categories) are created during the Flight creation process, or by pinging the Create Flight Categories endpoint .

Categories can have up to 10 characters

Add a User to an Interest Category

This happens in one of two ways:

Method

(1) Using behavioral ad tracking. Here, Adzerk adds users to Interest Segments based on what type of ad they interact with

(2) Pinging UserDB directly. Learn more here.

A user's record can collect up to 100 interests

Setting Up Behavioral Tracking - API

Many clients create Interest Segments by tying an Interest to a specific Flight and then, when a user clicks/converts on an Ad from that Flight, automatically updating the user's UserDB record to indicate he/she should be in that segment.

For instance, if you are showing ads for the NBA, if a user clicks on those ads, that user could be added to the "Sports Fan" interest category.

To do this, you need to first Create a Flight with Interest Tracking enabled and THEN map an Interest to it (using the Flight's ID from the Create Flight Response).

You do not have to enable behavioral tracking to create Interests. Instead, you could ping UserDB directly and add an Interest to a UserKey.

1. Create a Flight And Enable Tracking

You'll use the BehavioralTargeting object in the Create Flight or Update Flight endpoint to enable Interest Tracking.

Within that are two other objects: onClick and onConvert. These refer to whether you want to add an Interest to a user based on whether they clicked on the ad, or both clicked AND converted (ex: made a purchase).

Then, you'll want to mark the boolean field of storeCategoriesFromFlightAsInterest as true for onClick or onConvert.

For example, here's enabling it on click:

flight={
  "Name":"Nike Christmas Flight - iPhones",
  "StartDateISO":"2017-05-01T00:00:00.00.0000000",
  "EndDateISO":"2017-12-31T00:00:00.00.0000000",
  "CampaignId":1234,
  "PriorityId":1234,
  "GoalType": 1,
  "BehavioralTargeting": {
    "onClick": {
      "storeCategoriesFromFlightAsInterest": true
    }
  }
}

Here's enabling it on Conversion:

flight={
  "Name":"Nike Christmas Flight - iPhones",
  "StartDateISO":"2017-05-01T00:00:00.00.0000000",
  "EndDateISO":"2017-12-31T00:00:00.00.0000000",
  "CampaignId":1234,
  "PriorityId":1234,
  "GoalType": 1,
  "BehavioralTargeting": {
    "onConvert": {
      "storeCategoriesFromFlightAsInterest": true
    }
  }
}

2. Create and Map an Interest to a Flight

Once the Flight is created, store the id in the Response. This is the Flight's ID.

Then, you'll use the Create Flight Categories endpoint to add an Interest to the Flight. If the Interest isn't already created in Adzerk, it will create it.

You'll need to post the name property wrapped in a category object, like:

category={
  "Id":123456,
  "Name":"Sports"
}

id here is the Flight's ID. Pinging this endpoint will add the Interest to the Flight.

Setting Up Behavioral Tracking - UI

1. Adding Interests to Flight

  1. Navigate to the 'General Settings` in the Flight
  2. Under Categories, add in the Interests. When you add a category, the Interest is automatically created in the system
  3. You can add multiple ones. Do not separate with commas, just type in the Interest and press 'enter'
  4. Save

2. Enabling Interest Tracking

  1. In Flight settings, click on Behavioral Targeting on the left
  2. Choose Clicks or Converts under "Store this flight's categories as an interest for them"

Now, when someone clicks/converts on an ad in this Flight, in UserDB we'll store that they are interested in that category, which you can then use for targeting.

Note: checking clicks AND converts is the same thing as just clicking clicks

Viewing Interest Categories

You can pull Interest Categories either by Flight or Network with these Campaign Management API endpoints:

List Flight Categories
List Network Categories

How To Target An Interest Segment

An Interest Segment refers to all the users who are now associated with a specific Interest, either through behavioral click tracking or directly updating UserDB.

You can target this segment with either the UI or API. It requires the use of Custom Targeting, UserDB Reserved Keys, and Zerkel Queries.

UserDB Interest Category
Example Custom Targeting Query

Sport Lovers

$user.interests contains "Sport Lovers"

Affluent Customers

$user.interests contains "Affluent"

Here's an example Create Flight API request to set-up a Flight targeting the "Sport Lovers" interest:

flight={
  "CampaignId":1234,
  "PriorityId":1325,
  "Name":"Adidas - New Basketball Shoes",
  "StartDateISO":"2017-05-01T00:00:00.00.0000000",
  "GoalType": 1,
  "CustomTargeting":"$user.interests CONTAINS \"Sports Lovers\""
}

Make sure to use \ before quotation marks in strings to avoid the API request breaking

In this example, Adzerk's Ad Decision Engine will show an Ad from this Flight ONLY if the user's UserDB record shows them tied to the "Sports" interest.

Remember: for interest targeting to work, you will need to pass the UserKey in the user object's key field of the Decision API request. If you send the UserKey, Adzerk's Ad Decision Engine will cross-reference with UserDB when picking the right ad. If you do not send UserKeys, interest targeting will not work.

Reporting on Interests

Adzerk's reporting does not break down custom targeting. However, you could create Flights that target just one category, which will let you see the performance that way.