Setting Up Keyword Targeting


Keyword targeting is enabled at the Flight and/or the Ad level. You can set them up with either UI or the API.


We recommend you do not use both Flight-level keyword targeting AND Ad-level keyword targeting. If both have keyword targeting, the ad will show only if it meets both criteria.

Flight Level with API

When creating flights via the Create Flight endpoint, include keywords under the Keywords parameter. You can also update keywords with the Update Flights endpoint.

Please refer to our Keyword Logic page for what the Keywords string should look like.

Below is a request to create a flight targeting the keywords of either "tacocat" or "potato cat":

  "Name":"Exploding Kittens",
  "GoalType": 1,
  "Keywords": "tacocat\npotato cat"

Flight Level with UI

  1. Click on the Keyword Targeting tab on the left of the Flight page
  2. Add Keywords to the box. Use our Keyword Logic instructions to learn how to write strings
  3. Save

Ad Level with API


Ad level keywords work differently than flight-level keywords. They use a simple match between keywords in the request and on the ad, so you cannot use operators like AND and OR.

When creating ads via the Create Ads endpoint, include keywords under the ActiveKeywords parameter. You can also update keywords with the Update Ad endpoint.

Below is a request to create an ad targeting the keywords of either "tacocat" or "potato cat":

  "ActiveKeywords":["tacocat","potato cat"]


For an ad to serve, both ad-level and flight-level targeting must be in agreement. For instance, if an ad is targeted with keyword "truck" and a flight is targeted with keyword "!truck", the ad will not serve even for a request that includes the keyword "truck".


There is a maximum of 20 ad keywords allowed per ad. This limit is set per network - to increase your network's limit, contact Kevel support.

Ad Level with UI

When creating or editing an Ad/Creative, you can add keywords in the Keyword Targeting box under Delivery Settings.

Exclusive Keyword Targeting - UI


As a prerequisite for exclusive keyword targeting, you may not use any other priorities in a channel that are set to level 1. Level 1 is the highest priority available, and any other flights that are served at this level can interfere with exclusive keyword placements.

Exclusive Keyword Targeting refers to flights/ads that will show above any other ad for a given keyword. You may want to do this for reasons like:

  1. In-house ad around a particular topic
  2. Advertiser wants to win all ads for a specific keyword

To set up Exclusive Keyword Targeting:

  1. Create a priority in your channel called "Keywords," and set this priority's level to "1."
  2. In your ad tags, create the keyword placements you want to be exclusive.
  3. Set the flight of exclusive keyword ads to the keyword priority. Set the goal as Even or a Percentage Goal.
  4. Enter the keywords you want to target to the flight, and then click Save.

The keyword placements will now be exclusive.

Exclusive Keyword Targeting - API

  1. Create a priority using the Create Priority endpoint in your channel. For Required parameters use:
    a. Name = Keywords
    b. ChannelID = The id of the channel you want to use. Can be accessed via the Channel Endpoints
    c. Weight = 1
    d. SelectionAlgorithm = 0

  2. Create a flight with the Create Flight endpoint and (alongside other targeting you may have):
    a. Set PriorityId = the ID of the Keywords priority you just created
    b. GoalType = 2
    c. Impressions = 100
    d. Include the keywords under the keywords field

E-mail Keyword Targeting

Since Kevel's tags for email newsletters do not contain any javascript, a different method must be used to endow email ad placements with keywords.

A Kevel email ad placement looks like this:

<a href="https://e-{networkId}">
<img border="0" src="https://e-{networkId}" /></a>

Keywords can be added as a query on the end of the tag src URL like so:

<a href="https://e-{networkId}">
<img border="0" src="https://e-{networkId},truck"