Bid Modifiers

Maximize ad revenue through premium bidding

Bid modifiers allow retailers and other publishers to sell sponsored listings and other placements with dynamic rates based on keywords, sites, segments, and zones. Bid modifiers are expressed as multipliers or a fixed price relative to a Flight's base bid, so if an advertiser wants to increase their bid for a certain placement or search term, they can easily through adding bid modifiers to a Flight. Plus, you can drive efficiency by configuring multiple bids within a single Flight.

Bid modifiers are expressed as multipliers or a fixed price relative to a Flight's base bid. Here's a hypothetical example: Big Cashew Co. (a snack food brand) is willing to pay a base bid of $1 per click on its sponsored listing ad shown to shoppers searching for "snacks". Using the bid multiplier functionality, Big Cashew Co. could augment that base bid to say: "if my sponsored listing will appear in the first slot, I'm willing to pay 3 times my base bid (or a $3 CPC) to be more competitive in this premium placement."

How to configure bid modifiers using the Management API

First specify a base bid for a Flight using the Price field. Then use the BidModifiers field to define bid modifiers as multipliers (eg 1.5x) or a fixed price (eg $5.00) corresponding to matched targeting criteria.

"BidModifiers": [
    { // When decision request matches keyword 'snacks' AND zone ID 25454, multiply Flight (or Ad if set) price by 2
        "Match": {"Keyword": "snacks", "Zone": 25454},
        "Multiplier": 2
    },
    { // When request matches zone ID 4565, multiply Flight (or Ad if set) price by 1.5  
        "Match": {"Zone": 4565},  
        "Multiplier": 1.5  
    },  
    { // When request matches site ID 3423, multiply Flight (or Ad if set) price by 1.2
        "Match": {"Site": 3423},
        "Multiplier": 1.2
    },  
    { // When request matches keyword 'healthy snacks', override Flight (or Ad if set) price to 5  
        "Match": {"Keyword": "healthy snacks"},  
        "Price": 5  
    },  
    { // When the request's category is 'Grocery', multiply Flight (or Ad if set) price by 1.5
        "Match": {"Category": {"Id": "Grocery"}},
        "Multiplier": 1.5
    }  
]

When a modifier's match corresponds to a specific Kevel entity type, the value for that match modifier is the ID of the entity. When an ID is not applicable, the string representation should be used. For keywords, only a single keyword string per match is supported. See the Create Flight API documentation for more details.

How to configure bid modifiers using the Ad Server UI

In the Ad Server UI, bid modifiers are set on the Flight editor screen in the Bid Modifiers panel. The steps are the same for every modifier type.

  1. Open the Flight. Select Bid Modifiers in the left sidebar. The panel is not shown for Flat-rate Flights.
  2. Add a modifier. Select Add Bid Modifier.
  3. Choose what to match. In the type menu, choose Keyword, Site, Zone, Segment, Search Term or Category, then pick or enter the value. The table below shows what you choose for each type.
  4. Set the bid. Choose Multiplier to express the modifier relative to the Flight's base price, or Price for a fixed price, and enter the value.
  5. Match more than one thing at once. Optional. Select Add Item to add another match to the same modifier. Matches in one modifier must all be true (AND logic). Separate modifiers are alternatives (OR logic).
  6. Save. Select Save Bid Modifiers.
TypeWhat you choose or enter
KeywordA keyword, entered as text. One keyword for each match
SiteA Site
ZoneA Zone
SegmentA Segment
Search TermA search term
CategoryA category from your category list. See How does a category bid modifier match?

A Category modifier looks like this.

The Bid Modifiers panel with a Category modifier: Milk chosen in the category picker and a multiplier of 1.5.

The screenshot below shows a setup equivalent to the API example above.

The Bid Modifiers panel in the Ad Server UI with keyword, zone and site modifiers

Does a Flight need to be targeted to a keyword to have a bid modifier applied to that keyword?

Bid modifiers are separate from Flight targeting. Furthermore, bid modifiers do not need to match Flight targeting. That is, a Flight does not need to target a given keyword in order to set a bid modifier on that keyword and the same applies to all targeting criteria that can be boosted.

Using keywords as an example, if no keywords are set on a Flight, it will be eligible to serve regardless of the keywords passed with the request. This means you can create a Flight without targeting keywords but add bid modifiers to it. If a certain keyword is passed in an ADR (ad decision request) that matches a bid modifier, the bid associated with that modifier will be used instead of the Flight's base price.

🚧

A caution on broadly targeted campaigns

When using limited or no specific targeting on Flights, the number of ads considered in decision requests may increase. This can result in increased latency and bid modifiers may not perform as intended: the highest modified bid may not be selected in scenarios where more than 1,000 ads are eligible to fill a single placement. For this reason, Kevel recommends including some keyword or other targeting criteria on all Flights.

How are winning bids seen in the ADR response?

The clearPrice in the decision response will be the final modified bid amount if a multiplier has been applied. Additional details on the targeting that was matched and the bid modifier can be found in the extended explainer response.

What selection methods are compatible with bid modifiers?

Both Lottery and Auction are supported. The Flight must have a non-flat rate type.

Auction and lottery selections differ in how the "winning" ad is selected. In an auction priority, the winner is the ad with the highest bid. In a lottery priority, the winner is selected with a probability proportional to the balancing weight assigned to the ad by Kevel's balancing systems. In all cases, the bid modifiers are applied between the filtering and selection phases, and the revenue associated with the impression/click/conversion is updated accordingly. Therefore, in a lottery priority bid modifiers only directly affect the revenue associated with the event; there is no change in the selection behavior for a lottery priority with or without bid modifiers.

Using bid modifiers with a lottery selection method is one way to increase yield for higher value settings. Although it doesn't impact competition it's a way to charge your advertisers more if certain criteria match. For example, if you sell campaigns on a CPM basis and advertisers are otherwise indifferent to where their ads show, you can charge more for impressions that occur on premium sites.

How do multiple bid modifiers interact with each other?

When multiple bid modifiers match a single ad decision request, the highest matching bid across all match types will be used.

If I set bids on specific targeting dimensions, then do I also need to set a price on the Flight?

Yes, price continues to be a required field on Flights. The Flight price is treated as a floor price if none of the other targeting criteria apply.

How do bid modifiers interact with Autobid/Target ROAS settings?

Autobid can be used in combination with bid modifiers. The highest bid modifier price is used as the ceiling for bids further adjusted by autobid functionality. This raises the ceiling from the Flight's price to whatever the highest bid is after any boosting is applied. This is the order of operations used to determine the final bid:

  1. Flight base price (or Ad base price when Ad has a price override set)
  2. Highest matched bid modifier price (#1 * multiplier OR fixed price from multiplier)
  3. Target ROAS adjustment using #2

How are bid modifiers reflected in event logs?

These fields capture information about modified bids in event logs:

  • BidModifier: the bid modifier that was applied (not present if no bid modifier was matched)
  • ModifiedPrice: the price after the bid modifier was applied, but before tROAS (target ROAS) optimization (that's the OptimizedPrice). If no bid modifier was applied this will be the same as the Price.

What is the limit on the number of bid modifiers per flight?

Up to 2,500 bid modifiers can be applied to a Flight.

Can bids be modified to go up and down?

Yes. Modifiers can range from 0-10x. Modifiers less than 1 will have the effect of reducing ads' base bid up to the point of a $0 bid.

Can I choose between setting a fixed price bid or a multiplier?

Yes. Bid modifiers can be expressed as either a multiplier or fixed price amount.

How does this cross over with paying more for a premium position?

Premium positions in Kevel are best represented by a Zone. Zones can be used with bid modifiers, so if an advertiser is willing to pay more for premium position, they can increase their bid for that Zone.

On what dimensions can an ad be boosted?

Bid modifiers can be set on Keywords, Sites, Zones, Segments, Search Terms, and Categories.

Can multipliers be set at the Ad level?

Bid modifiers can be set at the Flight level only. The modifiers are separate from keyword and other targeting set on the Ad or Flight; the two operate independently. If an Ad has a price set, the Ad's price will be used as the base to be modified (either multiplied or overridden by a fixed price set on a bid modifier).

What values are accepted for keyword modifiers? Can logic be used?

The match value for keyword type bid modifiers must be a string which will be interpreted exactly as entered, and no AND/OR/NOT logic is interpreted from these values. Multiple keywords can be added as separate modifier entries.

How does a category bid modifier match?

A category modifier changes the bid when the category the request sends in placements[].category equals the modifier's category. See Send a category in decision requests. Kevel trims spaces from the start and end of both values and compares the whole value exactly, including capitalization. A parent category does not match its children, so a modifier for Grocery does not apply to a request for Grocery > Dairy. A request with no category matches no category modifier.

In the Management API, Category is an object with an Id, not a bare string:

{ // When the request's category is 'Grocery', multiply Flight (or Ad if set) price by 1.5
    "Match": {"Category": {"Id": "Grocery"}},
    "Multiplier": 1.5
}

You can combine Category with other match types in one Match. The modifier applies when every match in it is true.

A category modifier never makes an Ad eligible. It changes the bid of an Ad that is already eligible on the request. An Ad that includes categories is eligible only on those, so a modifier for any other category has no effect on it. An Ad with no include rules is eligible on every category it does not exclude, so a modifier applies wherever the category matches and the Ad is not excluded. See How category targeting matches Ads.

Only one bid modifier applies to a request. When a category modifier and another modifier both match, the one that gives the highest price applies, so a keyword modifier can outrank a category modifier.

Category bid modifiers are available when category targeting is enabled for your network. In the Ad Server UI, Category then appears in the type menu of the Bid Modifiers panel. If you do not see it, contact your Kevel representative.