--- title: "Frequency Capping" slug: "frequency-capping" updated: 2026-07-28T20:29:08Z published: 2026-07-28T20:29:08Z canonical: "help.yahooinc.com/frequency-capping" --- > ## Documentation Index > Fetch the complete documentation index at: https://help.yahooinc.com/llms.txt > Use this file to discover all available pages before exploring further. # Frequency Capping Targeting Set a limit on how frequently an ad is displayed to a user within a specified time frame. The Yahoo DSP supports `FREQUENCY_CAPPING` targeting for lines serving display and video ads. ## Advertisers Frequency Capping ### Endpoint ```plaintext /traffic/advertisers/{id} ``` - Use the `GET` method to retrieve the target frequency capping configured for the specified advertiser. - Use the `POST/PUT` method to apply the target frequency capping targeting to a specified advertiser. ### Required and Supported Parameters The `targeting` resource is defined by the following `FREQUENCY_CAPPING` targeting type-specific fields. #### Advertiser Frequency Cap Object An Advertiser Frequency Cap object defines multi-layer frequency capping for the advertiser. The `AdvertiserFrequencyCap` can be used to set up to 3 layers of frequency capping. The following parameters can be used for both `userFrequencyCap` and `householdFrequencyCap`. | **Parameter** | **Description** | **Data Type** | **Create** | **Update** | | --- | --- | --- | --- | --- | | frequencyCapEnabled | Whether the frequency cap is active | Boolean | Optional | Optional | | frequencyCapValueMinute | Max impressions per user per minute | Integer | Optional | Optional | | frequencyCapValueHour | Max impressions per user per hour | Integer | Optional | Optional | | frequencyCapValueDay | Max impressions per user per day | Integer | Optional | Optional | | frequencyCapValueWeek | Max impressions per user per week | Integer | Optional | Optional | | frequencyCapValueMonth | Max impressions per user per month | Integer | Optional | Optional | | frequencyCapPeriodMultiHour | Length (in hours) of the custom multi-hour period | Integer | Optional | Optional | | frequencyCapValueMultiHour | Max impressions per user within the custom multi-hour period | Integer | Optional | Optional | | frequencyCapPacingType | Pacing for the cap; enum: EVEN or ASAP | String (enum) | Optional | Optional | | frequencyGroupIndex | Specifies the number of the frequency group that this frequency belongs to. Groups are defined at the advertiser level and values can range from 0 to 4, where 0 is for the default group or when the feature is disabled. The frequency group index defined for advertisers will be used by the frequency cap for their campaigns, packages and lines accordingly. **Note** - In order to use `frequencyGroupIndex`, enable `frequencyGroupEnabled` in the advertiser and have frequency groups created for advertisers. - Each line in a campaign can have a different frequency group if a specific frequency group is not assigned at the package or campaign level. - If a **frequency group is assigned at the campaign level**, all associated lines and packages will only be allowed to use that group. - If a frequency group is assigned at the package level, all associated lines will only be allowed to use that group. - If **no frequency groups are assigned at the campaign or package level**, multiple frequency groups can be assigned at the line level. | Integer | Optional | Optional | ### Add/Update Frequency Cap Targeting Add or update frequency capping controls for the specified advertiser. ```plaintext POST traffic/advertisers ``` ```plaintext PUT traffic/advertisers/{id} ``` #### Parameters The Advertiser ID is specified in the path of the URL. All other parameters are specified in the body of the `application/json` payload. #### Sample Request URL ```plaintext PUT https://dspapi.admanagerplus.yahoo.com/traffic/advertisers/{id} ``` #### Sample Request Body ```json {  "id": 1,  "name": "My Yahoo!!",  "status": "ACTIVE",  "landingPageUrl": "https://www.yahoo.com",  "iabCategoryId": 5,  "iabSecondaryCategoryId": 501,  "timezone": "Etc/GMT",  "currency": "USD",  "billingPrice": 20,  "isCrossdeviceOff": false,  "mdmId": "123",  "contact": {    "firstName": "Admin",    "lastName": "Yahoo",    "addressLine1": "Yahoo1",    "addressLine2": "701st Avenue",    "city": "Sunnyvale",    "region": "CA",    "country": "United States",    "telephone": "1234567890",    "email": "test@yahoo.com"  },  "userFrequencyCap": {    "frequencyCapEnabled": true,    "frequencyCapValueMinute": 0,    "frequencyCapValueHour": 0,    "frequencyCapValueDay": 5,    "frequencyCapValueWeek": 20,    "frequencyCapValueMonth": 50,    "frequencyCapPeriodMultiHour": 0,    "frequencyCapValueMultiHour": 0,    "frequencyCapPacingType": "EVEN"  } } ``` #### Sample Response ```json {  "response": {    "id": 1,    "name": "My Yahoo!!",    "status": "ACTIVE",    "landingPageUrl": "https://www.yahoo.com",    "iabCategoryId": 5,    "iabSecondaryCategoryId": 501,    "timezone": "Etc/GMT",    "currency": "USD",    "billingPrice": 20.0,    "isCrossdeviceOff": false,    "mdmId": "123",    "createdAt": "2026-03-05T19:10:10Z",    "updatedAt": "2026-06-30T20:22:05Z",    "contact": {      "firstName": "Admin",      "lastName": "Yahoo",      "addressLine1": "Yahoo1",      "addressLine2": "701st Avenue",      "city": "Sunnyvale",      "region": "CA",      "country": "United States",      "telephone": "1234567890",      "email": "test@yahoo.com"    },    "userFrequencyCap": {      "frequencyCapEnabled": true,      "frequencyCapValueMinute": 0,      "frequencyCapValueHour": 0,      "frequencyCapValueDay": 5,      "frequencyCapValueWeek": 20,      "frequencyCapValueMonth": 50,      "frequencyCapPeriodMultiHour": 0,      "frequencyCapValueMultiHour": 0,      "frequencyCapPacingType": "EVEN"    }  },  "errors": null,  "timeStamp": "2026-03-06T05:22:42Z" } ``` ## Frequency Capping Campaign Targeting ### Endpoint ```plaintext /traffic/campaigns/{id} ``` - Use the `GET` method to retrieve the target frequency capping configured for the specified campaign. - Use the `POST/PUT` method to apply the target frequency capping targeting to a specified campaign. ### Required and Supported Parameters The `targeting` resource is defined by the following `FREQUENCY_CAPPING` targeting type-specific fields. #### Campaign Frequency Cap Object A Campaign Frequency Cap object defines multi-layer frequency capping for the campaign. The `campaignFrequencyCap` can be used to set up to 3 layers of frequency capping. The following parameters can be used for both orderFrequencyCap and `householdFrequencyCap`. | **Parameter** | **Description** | **Data Type** | **Create** | **Update** | | --- | --- | --- | --- | --- | | frequencyCapValueMinute | Max impressions per user per minute | Integer | Optional | Optional | | frequencyCapValueHour | Max impressions per user per hour | Integer | Optional | Optional | | frequencyCapValueDay | Max impressions per user per day | Integer | Optional | Optional | | frequencyCapValueWeek | Max impressions per user per week | Integer | Optional | Optional | | frequencyCapValueMonth | Max impressions per user per month | Integer | Optional | Optional | | frequencyCapPeriodMultiHour | Length (in hours) of the custom multi-hour period | Integer | Optional | Optional | | frequencyCapValueMultiHour | Max impressions per user within the custom multi-hour period | Integer | Optional | Optional | | frequencyCapPacingType | Pacing for the cap; enum: EVEN or ASAP | String (enum) | Optional | Optional | | frequencyGroupIndex | Specifies the number of the frequency group that this frequency belongs to. Groups are defined at the advertiser level and values can range from 0 to 4, where 0 is for the default group or when the feature is disabled. The frequency group index defined for advertisers will be used by the frequency cap for their campaigns, packages and lines accordingly. **Note** - In order to use `frequencyGroupIndex`, enable `frequencyGroupEnabled` in the advertiser and have frequency groups created for advertisers. - Each line in a campaign can have a different frequency group if a specific frequency group is not assigned at the package or campaign level. - If a **frequency group is assigned at the campaign level**, all associated lines and packages will only be allowed to use that group. - If a frequency group is assigned at the package level, all associated lines will only be allowed to use that group. - If **no frequency groups are assigned at the campaign or package level**, multiple frequency groups can be assigned at the line level. | Integer | Optional | Optional | ### Add/Update Frequency Cap Targeting Add or update frequency capping controls for the specified campaign. ```plaintext POST traffic/campaigns/{id} ``` ```plaintext PUT traffic/campaigns/{id} ``` #### Parameters The campaign ID is specified in the path of the URL. All other parameters are specified in the body of the `application/json` payload. #### Sample Request URL ```plaintext PUT https://dspapi.admanagerplus.yahoo.com/traffic/campaigns/{id} ``` #### Sample Request Body ```json {    "id": 123,    "orderFrequencyCap": {        "frequencyCapValueMinute": 0,        "frequencyCapValueHour": 0,        "frequencyCapValueDay": 0,        "frequencyCapValueWeek": 10,        "frequencyCapValueMonth": 20,        "frequencyCapPeriodMultiHour": 6,        "frequencyCapValueMultiHour": 2,        "frequencyCapPacingType": "EVEN",        "frequencyGroupIndex": 1    } } ``` #### Sample Response ```json {    "response": {        "id": 123,     …        "orderFrequencyCap": {            "frequencyCapPacingType": "EVEN",            "frequencyCapPeriodMultiHour": 6,            "frequencyCapValueDay": 0,            "frequencyCapValueHour": 0,            "frequencyCapValueMinute": 0,            "frequencyCapValueMonth": 20,            "frequencyCapValueMultiHour": 2,            "frequencyCapValueWeek": 10,            "frequencyGroupIndex": 1,            "orderId": 123        },     …    "errors": null,    "timeStamp": "2026-07-27T21:49:28Z" } ``` ## Frequency Capping Package Targeting ### Endpoint ```plaintext /traffic/packages/{id} ``` - Use the `GET` method to retrieve the target frequency capping configured for the specified package. - Use the `POST/PUT` method to apply the target frequency capping targeting to a specified package. ### Required and Supported Parameters The `targeting` resource is defined by the following `FREQUENCY_CAPPING` targeting type-specific fields. #### Package Frequency Cap Object A Package Frequency Cap object defines multi-layer frequency capping for the package. The `userFrequencyCap` can be used to set up to 3 layers of frequency capping. The following parameters can be used for both userFrequencyCap and householdFrequencyCap. | **Parameter** | **Description** | **Data Type** | **Create** | **Update** | | --- | --- | --- | --- | --- | | frequencyCapValueMinute | Max impressions per user per minute | Integer | Optional | Optional | | frequencyCapValueHour | Max impressions per user per hour | Integer | Optional | Optional | | frequencyCapValueDay | Max impressions per user per day | Integer | Optional | Optional | | frequencyCapValueWeek | Max impressions per user per week | Integer | Optional | Optional | | frequencyCapValueMonth | Max impressions per user per month | Integer | Optional | Optional | | frequencyCapPeriodMultiHour | Length (in hours) of the custom multi-hour period | Integer | Optional | Optional | | frequencyCapValueMultiHour | Max impressions per user within the custom multi-hour period | Integer | Optional | Optional | | frequencyGroupIndex | Specifies the number of the frequency group that this frequency belongs to. Groups are defined at the advertiser level and values can range from 0 to 4, where 0 is for the default group or when the feature is disabled. The frequency group index defined for advertisers will be used by the frequency cap for their campaigns, packages and lines accordingly. **Note** - In order to use `frequencyGroupIndex`, enable `frequencyGroupEnabled` in the advertiser and have frequency groups created for advertisers. - Each line in a campaign can have a different frequency group if a specific frequency group is not assigned at the package or campaign level. - If a **frequency group is assigned at the campaign level**, all associated lines and packages will only be allowed to use that group. - If a frequency group is assigned at the package level, all associated lines will only be allowed to use that group. - If **no frequency groups are assigned at the campaign or package level**, multiple frequency groups can be assigned at the line level. | Integer | Optional | Optional | ### Add/Update Frequency Cap Targeting Add or update frequency capping controls for the specified package. ```plaintext PUT traffic/packages/{id} ``` #### Parameters The package ID is specified in the path of the URL. All other parameters are specified in the body of the `application/json` payload. #### Sample Request URL ```plaintext PUT https://dspapi.admanagerplus.yahoo.com/traffic/packages/{id} ``` #### Sample Request Body ```json {    "userFrequencyCap": {        "frequencyCapPeriodMultiHour": 0,        "frequencyCapValueDay": 10,        "frequencyCapValueHour": 5,        "frequencyCapValueMinute": 2,        "frequencyCapValueMonth": 0,        "frequencyCapValueMultiHour": 0,        "frequencyCapValueWeek": 0,        "frequencyGroupIndex": 1    } } ``` #### Sample Response ```json {    "response": {    …        "userFrequencyCap": {            "frequencyCapPeriodMultiHour": 0,            "frequencyCapValueDay": 10,            "frequencyCapValueHour": 5,            "frequencyCapValueMinute": 2,            "frequencyCapValueMonth": 0,            "frequencyCapValueMultiHour": 0,            "frequencyCapValueWeek": 0,            "frequencyGroupIndex": 1        }    },    "errors": null,    "timeStamp": "2026-07-27T21:54:49Z" } ``` ## Frequency Capping Line Targeting ### Endpoint ```plaintext /traffic/lines/{id}/targeting ``` - Use the `GET` method to retrieve the target frequency capping configured for the specified line. - Use the `POST` method to apply the target frequency capping targeting to a specified line. ### Required and Supported Parameters The `targeting` resource is defined by the following `FREQUENCY_CAPPING` targeting type-specific fields. | Parameter | Description | Data Type | Create | Update | | --- | --- | --- | --- | --- | | `hhFrequencyCapEnabled` | A value of false means the limit will be set by People/Device. A value of true means the limit will be set by Household. *Limit the frequency capping by Household is only for CTV lines.* | `boolean` | Optional | Optional | ### Line Frequency Cap Object A Line Frequency Cap object defines multi-layer frequency capping for the line. The `lineFrequencyCap` can be used to set up to 3 layers of frequency capping. | **Parameter** | **Description** | **Data Type** | **Create** | **Update** | | --- | --- | --- | --- | --- | | `frequencyCapValueMinute` | Specifies the number of impressions to serve per minute. The maximum allowed value is `5`. | `integer` | Optional | Optional | | `frequencyCapValueHour` | Specifies the number of impressions to serve per hour. The maximum allowed value is `10`. | `integer` | Optional | Optional | | `frequencyCapPeriodMultiHour` | Specifies the line frequency capping period. Supports 6 hours or 12 hours. Values - `6` - `12` | `integer` | Optional | Optional | | `frequencyCapValueMultiHour` | Specifies the maximum number of impressions to serve over 6 or 12 hours. This is required when `frequencyCapPeriodMultiHour` is specified. | `integer` | Optional | Optional | | `frequencyCapValueDay` | Specifies the number of impressions to serve per day. The maximum allowed value is `20`. | `integer` | Optional | Optional | | `frequencyCapValueWeek` | Specifies the number of impressions to serve per week. The maximum allowed value is `140`. | `integer` | Optional | Optional | | `frequencyCapValueMonth` | Specifies the number of impressions to serve per month. The maximum allowed value is `600`. | `integer` | Optional | Optional | | `frequencyGroupIndex` | Specifies the number of the frequency group that this frequency belongs to. Groups are defined at the advertiser level and values can range from 0 to 4, where 0 is for the default group or when the feature is disabled. The frequency group index defined for advertisers will be used by the frequency cap for their campaigns, packages and lines accordingly. **Note** - In order to use `frequencyGroupIndex`, enable `frequencyGroupEnabled` in the advertiser and have frequency groups created for advertisers. - Each line in a campaign can have a different frequency group if a specific frequency group is not assigned at the package or campaign level - If a **frequency group is assigned at the campaign level**, all associated lines and packages will only be allowed to use that group. - If a frequency group is assigned at the package level, all associated lines will only be allowed to use that group. - If **no frequency groups are assigned at the campaign or package level**, multiple frequency groups can be assigned at the line level. | `integer` | Optional | Optional | ## Add/Update Frequency Cap Targeting Add or update frequency capping controls for the specified line. ```plaintext POST traffic/lines/{id}/targeting/ ``` ### Parameters The line ID is specified in the path of the URL. All other parameters are specified in the body of the `application/json` payload. #### Sample Request URL ```plaintext POST https://dspapi.admanagerplus.yahoo.com/traffic/lines/{id}/targeting/ ``` #### Sample Request Body ```json { "hhFrequencyCapEnabled": false,   "lineFrequencyCap": {       "frequencyCapValueMinute": 0,       "frequencyCapValueHour": 0,       "frequencyCapPeriodMultiHour": 0,       "frequencyCapValueMultiHour": 0,       "frequencyCapValueDay": 5,       "frequencyCapValueWeek": 6,       "frequencyCapValueMonth": 7,       "frequencyGroupIndex": 0   },   "types": [       {           "name": "FREQUENCY_CAPPING",           "isTargeted": true       }   ] } ``` #### Sample Response ```json {  "response": {   "hhFrequencyCapEnabled": false,    "lineFrequencyCap": {      "frequencyCapValueMinute": 0,      "frequencyCapValueHour": 0,      "frequencyCapValueDay": 5,      "frequencyCapValueWeek": 6,      "frequencyCapValueMonth": 7,      "frequencyCapPeriodMultiHour": 0,      "frequencyCapValueMultiHour": 0,      "frequencyGroupIndex": 0,      "lineId": 123456    },    "types": [      {        "isTargeted": true,        "name": "FREQUENCY_CAPPING"      }    ]  },  "errors": null,  "timeStamp": "2025-09-19T21:35:37.599Z" } ```