Frequency Caps

Buzz supports frequency caps at both Campaigns and Line Items. Within each frequency capping statement, Buzz can support multiple caps. For example, you may wish to cap ads at once per hour AND at 5 times per day. These multiple statements are stored in a JSON document within the respective object. A frequency_cap_type field determines the data used for capping, as described below.

Validation of Frequency Cap Consistency

When submitting a set of frequency caps for a single object, Buzz will perform an additional check to see if the entirety of the set is logical and does not contain any contradictory statements. For example, you cannot cap one ad per day and also cap two ads per hour. The frequency cap set will fail if either:

  • More than one cap in the same statement has the exact same duration. e.g.: [{"duration":3600,"impressions":2},{"duration":3600,"impressions":1}]
  • A cap in the same statement has a lesser duration with the same or greater impressions. e.g. [{"duration":3600,"impressions":1},{"duration":3500,"impressions":2}]

Validation at Line Item Level

When submitting frequency caps at the Line Item level, the caps will also be compared to the Campaign which owns the line item. The check will determine whether the Line Item contains any frequency caps with a lesser duration and the same or greater number of impressions. e.g.

  • Campaign frequency cap: [{"duration":3600,"impressions":1}]
  • Line Item cap: [{"duration":3500,"impressions":2}].

Line Items must also have the same frequency_cap_type as the Campaign, if it is set at the Campaign level.

Validation at Campaign Level

When changing existing frequency caps or adding new ones to an existing Campaign, the caps will also be compared to any Line Items which belong to that Campaign. The check will determine whether the Line Item contains any frequency caps with a lesser duration and the same or greater number of impressions. e.g.

  • Campaign frequency cap: [{"duration":3600,"impressions":1}]
  • Line Item cap: [{"duration":3500,"impressions":2}].

Campaigns must also have the same frequency_cap_type as all Line Items, if it is set at both levels.

JSON Structure

Key

Example value

Description

frequency_cap

[{"duration":3600,"impressions":2}, {"duration":86400","impressions":5}]

An list of sets, each in the format {"duration":<seconds>,"impressions":<impressions>}. Buzz sets a maximum number of frequency caps of 3 per object. Both duration and impressions fields must be present.

Example JSON

{"frequency_cap":
    [
    {"duration":3600,"impressions":2}
  ]
}

Frequency Cap Types

Beeswax supports flexible ways to use inbound auction data to frequency cap. Which method is used depends on the frequency_cap_type field defined at the Campaign and Line Item level. Important note: Not all types are supported by default and your account may need to be enabled for some of the more advanced types. Please reach out to your account manager or support for more details.

frequency_cap_type Value

Name

Description

0 (default)

Standard

Use the browser cookie OR the device ID to cap.

1

IP Address

Use the IP address of the end-user as included in the bid request. Ignore values where the final octet is truncated or where due to GDPR or other privacy regulation we do not have consent to use the full IP address.

2

Standard with Fallback

Use the browser cookie or device ID when present, then fall back to IP address when not present.

3

Customer ID with Fallback

Use an auction-provided customer ID when present, then fall back to the Standard option when customer ID is not present.