Campaigns¶
Abstract¶
The CampaignService provides methods for creating, updating, deleting and retrieving campaigns. You can also create an app install campaign if your goal is to generate app downloads.
Overview¶
A campaign organizes one or more ad groups together and has its own budget and targeting settings. Campaigns allow you to manage your ads based on your advertising goals and business strategy. A campaign can include ads that run both in mobile search as well as in native positions within content streams across the Yahoo Ad Tech network. You can control where your ads will run by configuring the channel attribute.
Note
Once a campaign is created and ready to serve, it takes 15-30 minutes to be served. If you un-pause an object, it typically takes 15-30 minutes to serve. Any change you make takes 15-30 minutes to be reflected in a campaign and served.
Fields¶
The Campaign object contains the following fields:
Name |
Description |
Type |
Add |
Update |
---|---|---|---|---|
|
The ID of the advertiser to retrieve. |
long |
Required |
Optional (Read-Only) |
|
The budget for your campaign in the currency provided in your billing settings. Using the |
BigDecimal |
Required |
Optional |
|
Type of budget. Value can be:
|
enum |
Required |
Optional |
|
The name of the campaign. Maximum limit is 255 characters. |
string |
Required |
Optional |
|
The supply channel on which the campaign will run. The available options are:
If channel is not set, default value will be |
enum |
Optional |
Optional |
|
The supply channel on which the campaign will run. The sub channel is only applicable when the channel is SEARCH. The available options are:
|
enum |
Optional |
Optional |
|
Bid modifiers allow you to increase or decrease your campaign bids. Allowed value: 0.1 to 2. |
double |
Required if subChannel is set. Default 0.3 |
Optional |
|
The ID of the campaign. |
long |
N/A |
Required |
|
The language of the targeted audience. By default, this is set to |
string |
Optional |
Read-only |
|
The objective of the campaign. Objective can only be set at the time of campaign creation and cannot be modified. Values can be:
|
enum |
Required. Default to VISIT_WEB |
Read-only |
|
The status of the campaign. Valid values are:
Campaigns can be created in an ACTIVE state. If a campaign is in a PAUSED state, specify valid start and end dates at the ad group level in order to activate it. |
enum |
Required |
Optional |
|
Applies only to SEARCH campaigns. Determines whether your campaign will run on the Yahoo partner network. This field accepts TRUE or FALSE and defaults to TRUE. For NATIVE campaigns this field must be set to TRUE. |
enum |
Optional |
Optional |
|
This field is required only for INSTALL_APP and REENGAGE_APP campaigns. It should be used to pass the App Store or Google Play Store app url, and cannot be updated once set. Note that for INSTALL_APP, tracking parameters and redirects should not be part of the defaultLandingUrl. These should be provided at the ad level through the ad landingUrl. |
string |
Optional |
Read-only |
|
This field is required only for INSTALL_APP campaigns. Use this field to specify the vendor you are using in order to track app install conversions. For a list of approved third-party tracking partners, refer to the data dictionary. |
enum |
Required (only for INSTALL_APP campaigns) |
Read-only |
|
This is an optional field for INSTALL_APP and REENGAGE_APP campaigns. It can be used to specify the desired locale of the app store, and will default to “en-us” if not specified. For a list of available locales, refer to the data dictionary. |
enum |
Optional |
Read-only |
|
Applies only to SEARCH campaigns. For the locations you target, the recommended and default value is DEFAULT, which means you will reach people either physically in your targeted locations or who have expressed interest in these locations. LOCATION_OF_PRESENCE means reaching only people physically in the targeted location, and LOCATION_OF_INTEREST means targeting only people who have expressed interest in the location. |
enum |
Optional |
Optional |
|
Applies only to SEARCH campaigns. Similar to advancedGeoPos but applies only to locations you exclude. Valid values are DEFAULT (the default) and LOCATION_OF_PRESENCE. |
enum |
Optional |
Optional |
|
The read-only effective status of the campaign based on the direct campaign status, accounts funds, campaign budget, and summarized ad group flight dates. Valid values are:
|
string |
N/A Read-only |
N/A Read-only |
|
The conversion rule IDs to associate to this campaign. Must be valid IDs of conversion rules created in an account. To remove IDs, simply pass an empty array. |
Array of longs |
Optional |
Optional |
|
The campaign conversion configuration. Details are provided below. |
json object |
Optional |
Optional |
|
Available values are:
When applied to a SEARCH campaign, this means that Native & Search will dynamically modify your bid in order to optimize for eCPC conversions. An ad group bid is still required and will define the initial bid that Native & Search will gradually optimize. You also need to have at least one conversion rule set up in order to leverage this strategy. When applied to a NATIVE campaign, this allows you to meet a CPC goal on average while getting more conversions by allowing your bids to be adjusted for individual impressions based on the likelihood of conversion. Note that there is no longer 30% guard-rail on ECPC. You can bid up to the extent that it feels necessary to win that auction.
This means that Native & Search will dynamically modify your bid in order to optimize for the install and specific in-app event conversion rule. You also need to have at least one conversion rule set up in order to leverage this strategy, and it must be also included in the corresponding campaign’s Conversion Rule IDs.
This means that Native & Search will dynamically modify your bid in order to optimize for conversions. An ad group bid is still required and will define the initial bid that Native & Search will gradually optimize. You also need to have at least one conversion rule set up in order to leverage this strategy, and it must be also included in the corresponding campaign’s Conversion Rule IDs.
This means Native & Search will optimize per your selected price type (that is, deliver clicks for CPC ads or impressions for CPM ads).
This means Native & Search bids in a way that tried to balance spending the entire campaign budget with achieving the lowest CPA possible (that is, maximizing the number of conversions driven by the budget). Best for advertisers who are CPA-sensitive and also want to hit spend goals.
|
enum |
optional |
optional |
|
Valid only for InstallApp campaigns. Values entered here should be a subset of the |
Array of longs |
Optional |
Optional |
|
This field allows you to deep link into your mobile app, targeting your product or users who have already installed your app. Available for |
enum |
Optional |
Optional |
Campaign conversion configuration contains the following fields:
Name |
Description |
Type |
Add |
Update |
---|---|---|---|---|
|
The post-click conversion lookback window in minutes. Valid only for VisitedWeb and PromoteBrand campaigns. Must be between 1 and 43200 (1 Minute and 30 Days). Default is 43200 (30 Days). |
int |
Optional |
Optional |
|
The post-view conversion lookback window in minutes. Valid only for VisitedWeb and PromoteBrand campaigns. Must be between 1 and 43200 (1 Minute and 30 Days). Default is 2880 (2 Days). Note that this is only available in the v3 Native & Search API. |
int |
Optional |
Optional |
|
The Conversion Counting setting for your campaign. Must be one of the following values:
Default is |
enum |
Optional |
Optional |
Endpoint¶
Resource URI
https://api.gemini.yahoo.com/v3/rest/campaign/
v3 Upgraded URL Attributes¶
Important
For the v3 Native Ad Platform API, Upgraded URL (UU) attributes are now supported for the Campaign object type.
The following table describes the supported UU attributes per the Ad object type in v3 Native Ad Platform API.
Object |
Landing Url |
Display Url |
Final Url |
Mobile Final Url |
TrackingUrl |
Custom Parameters |
Display Url Path1 |
Display Url Path2 |
---|---|---|---|---|---|---|---|---|
Ad |
dp |
dp |
yes |
yes |
yes |
yes |
yes |
yes |
Note
dp stands for deprecated in the above table.
Note
The landing page url is deprecated only for search. The Final url will be eligible in a native context. Native-only ads are not required to use the final URL and may continue to use the landing page url.
For more information on Upgraded URLs in v3, refer to Upgraded URLs.
Example Representations¶
Campaign
{
"id": 31364,
"status": "PAUSED",
"advertiserId": 87292,
"campaignName": "SampleCampaign",
"budget": 3000,
"language": "en",
"budgetType": "LIFETIME",
"channel": "SEARCH_AND_NATIVE",
"objective": "PROMOTE_BRAND",
"isPartnerNetwork": "TRUE",
"advancedGeoPos": "DEFAULT",
"advancedGeoNeg": "DEFAULT"
}
Campaign Array
[
{
"id": 31336,
"status": "ACTIVE",
"advertiserId": 87292,
"campaignName": "Campaign1",
"budget": 1100,
"language": "en",
"budgetType": "LIFETIME",
"channel": "SEARCH"
"objective": "VISIT_WEB",
"isPartnerNetwork": "TRUE",
"advancedGeoPos": "DEFAULT",
"advancedGeoNeg": "DEFAULT"
},
{
"id": 31337,
"status": "PAUSED",
"advertiserId": 87292,
"campaignName": "Campaign2",
"budget": 2000,
"language": "en",
"budgetType": "LIFETIME",
"channel": "NATIVE"
"objective": "PROMOTE_BRAND",
"isPartnerNetwork": "TRUE",
"advancedGeoPos": "DEFAULT",
"advancedGeoNeg": "DEFAULT"
}
]
Campaign Response
{
"errors": null,
"response": {
"id": 31364,
"status": "PAUSED",
"advertiserId": 87292,
"campaignName": "SampleCampaign",
"budget": 3000,
"language": "en",
"budgetType": "LIFETIME",
"channel": "SEARCH_AND_NATIVE"
"objective": "VISIT_WEB",
"isPartnerNetwork": "TRUE",
"advancedGeoPos": "DEFAULT",
"advancedGeoNeg": "DEFAULT"
}
}
Operations¶
Read specific campaign data
Method: To retrieve data for a specific campaign, make a GET call with the ID parameter.
Example: GET call to retrieve a campaign:
https://api.gemini.yahoo.com/v3/rest/campaign/31336
The response will be the campaign associated with the given ID:
{
"errors": null,
"response": {
"id": 31336,
"status": "PAUSED",
"advertiserId": 87292,
"campaignName": "SampleCampaign",
"budget": 100,
"language": "en",
"budgetType": "LIFETIME",
"channel": "SEARCH_AND_NATIVE",
"objective": "VISIT_WEB",
"isPartnerNetwork": "TRUE",
"advancedGeoPos": "DEFAULT",
"advancedGeoNeg": "DEFAULT"
}
}
Response: The campaign associated with the given ID.
Example: GET call with multiple IDs. Note that when you pass multiple IDs all other filters besides ID will be ignored:
https://api.gemini.yahoo.com/v3/rest/campaign/?id=30429&id=30430
Response: The campaigns associated with the given IDs:
{
"errors": null,
"response": [
{
"id": 30429,
"status": "PAUSED",
"advertiserId": 19426,
"campaignName": "Campaign1",
"budget": 100,
"language": "en",
"budgetType": "DAILY",
"channel": "SEARCH",
"objective": "VISIT_WEB",
"isPartnerNetwork": "TRUE",
"advancedGeoPos": "DEFAULT",
"advancedGeoNeg": "DEFAULT"
},
{
"id": 30430,
"status": "PAUSED",
"advertiserId": 19426,
"campaignName": "Campaign2",
"budget": 500,
"language": "en",
"budgetType": "DAILY",
"channel": "SEARCH",
"objective": "VISIT_WEB",
"isPartnerNetwork": "TRUE",
"advancedGeoPos": "DEFAULT",
"advancedGeoNeg": "DEFAULT"
}
]
}
Read data for filtered list of campaigns
Method: To retrieve data for a filtered list of campaigns, make a GET call using the following parameters:
Name |
Description |
Type |
---|---|---|
|
The ID of the advertiser to filter campaigns by. |
long |
|
The maximum number of rows to retrieve. |
int |
|
The start index or the first element to retrieve. |
int |
|
The status of the campaign to filter by. |
enum |
Important
advertiserId
parameter is a required query parameter for all filtered list GET calls.
Note
You can either: 1) pass filters (status=…. advertiserId=…. si=… mr=….) and get a paginated list of campaigns back or 2) pass specific campaign ids and get the specified entities with matching ids. If you pass specific campaign ids, they will trump and all filters will be ignored.
Example: GET call for a filtered list of campaigns:
https://api.gemini.yahoo.com/v3/rest/campaign/?advertiserId=87292&mr=2
{
"errors": null,
"response": [
{
"id": 31336,
"status": "PAUSED",
"advertiserId": 87292,
"campaignName": "MobileSearch",
"budget": 100,
"language": "en",
"budgetType": "LIFETIME",
"channel": "SEARCH",
"objective": "VISIT_WEB",
"isPartnerNetwork": "TRUE",
"advancedGeoPos": "DEFAULT",
"advancedGeoNeg": "DEFAULT"
},
{
"id": 31337,
"status": "ACTIVE",
"advertiserId": 87292,
"campaignName": "NativeAds",
"budget": 100,
"language": "en",
"budgetType": "LIFETIME",
"channel": "NATIVE",
"objective": "PROMOTE_BRAND",
"isPartnerNetwork": "TRUE",
"advancedGeoPos": "DEFAULT",
"advancedGeoNeg": "DEFAULT"
}
]
}
Response: The list of campaigns matching the given filter.
Update existing campaigns
Method: To update one or more existing campaigns, make a PUT call to the Campaign endpoint with one or more campaign objects. Specify the fields to update; note that id is the only required parameter, all other fields are optional. The result will be the list of updated campaigns. Partial update is supported; fields that are either not passed or passed as null will be ignored for the update. For example, in order to update the budget for a campaign:
PUT https://api.gemini.yahoo.com/v3/rest/campaign
Data passed
{
"id": 31336,
"budget":500
}
Example response
{
"errors": null,
"response": {
"id": 31336,
"status": "PAUSED",
"campaignName": "NativeAds",
"advertiserId": 87292,
"budget": 500,
"language": "en",
"budgetType": "LIFETIME",
"channel": "NATIVE",
"objective": "PROMOTE_BRAND",
"isPartnerNetwork": "TRUE",
"advancedGeoPos": "DEFAULT",
"advancedGeoNeg": "DEFAULT"
}
}
Create a new campaign
Method: To create a new campaign, make a POST call to the Campaign endpoint with the required fields. Batch create is supported; either a campaign or a campaign array can be passed. The response will be the newly created campaign, or a list of multiple new campaigns if an array is passed.
Example 1: Create a campaign that will run only on native content streams:
POST https://api.gemini.yahoo.com/v3/rest/campaign
Data passed
{
"status":"PAUSED",
"campaignName":"NativeAdsCampaign",
"budget": 3000,
"language": "en",
"budgetType": "LIFETIME",
"advertiserId": 87292,
"channel":"NATIVE",
"objective": "PROMOTE_BRAND",
"isPartnerNetwork": "TRUE",
"advancedGeoPos": "DEFAULT",
"advancedGeoNeg": "DEFAULT"
}
Example response
{
"errors": null,
"response": {
"id": 31466,
"status": "PAUSED",
"advertiserId": 87292,
"campaignName": "NativeAdsCampaign",
"budget": 3000,
"language": "en",
"budgetType": "LIFETIME",
"channel": "NATIVE",
"objective": "PROMOTE_BRAND",
"isPartnerNetwork": "TRUE,
"advancedGeoPos": "DEFAULT",
"advancedGeoNeg": "DEFAULT"
}
}
Example 2: Create multiple campaigns by passing in an array of campaigns:
POST https://api.gemini.yahoo.com/v3/rest/campaign
Data passed
[
{
"status": "PAUSED",
"campaignName": "MobileSearch1",
"budget": 100,
"language": "en",
"budgetType": "DAILY",
"advertiserId": 87292,
"channel": "SEARCH",
"objective": "VISIT_WEB",
"isPartnerNetwork": "TRUE",
"advancedGeoPos": "DEFAULT",
"advancedGeoNeg": "DEFAULT"
},
{
"status": "PAUSED",
"campaignName": "MobileSearch2",
"budget": 200,
"language": "en",
"budgetType": "LIFETIME",
"advertiserId": 87292,
"channel": "SEARCH",
"objective": "VISIT_WEB",
"isPartnerNetwork": "TRUE",
"advancedGeoPos": "DEFAULT",
"advancedGeoNeg": "DEFAULT"
}
]
Example response
{
"errors": null,
"response": [
{
"id": 31467,
"status": "PAUSED",
"advertiserId": 87292,
"campaignName": "MobileSearch1",
"budget": 100,
"language": "en",
"budgetType": "DAILY",
"channel": "SEARCH",
"objective": "VISIT_WEB",
"isPartnerNetwork": "TRUE",
"advancedGeoPos": "DEFAULT",
"advancedGeoNeg": "DEFAULT"
},
{
"id": 31468,
"status": "PAUSED",
"advertiserId": 87292,
"campaignName": "MobileSearch2",
"budget": 200,
"language": "en",
"budgetType": "LIFETIME",
"channel": "SEARCH",
"objective": "VISIT_WEB",
"isPartnerNetwork": "TRUE",
"advancedGeoPos": "DEFAULT",
"advancedGeoNeg": "DEFAULT"
}
]
}
Create an app install campaign
Method: To create an app install campaign, you will need to set the objective to INSTALL_APP, and to provide a link to your app in the defaultLandingUrl field. Note that tracking parameters and redirects should not be part of the defaultLandingUrl. These should be provided at the ad level through the ad landingUrl. Also note that trackingPartner
is required in the request, but will not be returned in the response. You can refer to the dictionary service for supported trackingPartner
values.
POST https://api.gemini.yahoo.com/v3/rest/campaign
Data passed
{
"budgetType": "DAILY",
"budget": 800,
"status": "ACTIVE",
"objective": "INSTALL_APP",
"advertiserId": 11610,
"campaignName": "Flickr Android app install campaign",
"defaultLandingUrl": "https://play.google.com/store/apps/details?id=com.yahoo.mobile.client.android.flickr",
"channel": "NATIVE",
"trackingPartner": "appsflyer",
"appLocale":"en-us"
}
Example response
{
"errors": null,
"timestamp": "2015-02-05 6:10:46",
"response": {
"language": "en",
"budget": 800,
"budgetType": "DAILY",
"id": 338558004,
"status": "ACTIVE",
"objective": "INSTALL_APP",
"campaignName": "Flickr Android app install campaign",
"advertiserId": 11610,
"isPartnerNetwork": "TRUE",
"defaultLandingUrl": "https://play.google.com/store/apps/details?id=com.yahoo.mobile.client.android.flickr",
"channel": "NATIVE",
"appLocale":"en-us"
}
}
Create a search retargeting campaign
Method: To create a search retargeting campaign that will run only on native content streams, make a POST call to the Campaign endpoint with the required fields. Batch create is supported; either a campaign or a campaign array can be passed. The response will be the newly created campaign, or a list of multiple new campaigns if an array is passed.
POST https://api.gemini.yahoo.com/v3/rest/campaign
Data passed
{
"status":"PAUSED",
"campaignName":"SearchRetargetingCampaign",
"budget": 300,
"language": "en",
"budgetType": "LIFETIME",
"advertiserId": 1530348,
"channel":"NATIVE",
"subChannel":"SRN_ONLY",
"objective": "VISIT_WEB"
}
Example response
{
"errors": null,
"response": {
"id": 31466,
"status": "PAUSED",
"advertiserId": 1530348,
"campaignName": "SearchRetargetingCampaign",
"budget": 300,
"language": "en",
"budgetType": "LIFETIME",
"channel": "NATIVE",
"channel":"NATIVE",
"subChannel":"SRN_ONLY",
"objective": "VISIT_WEB"
}
}
Important
Once you create a search retargeting campaign, it cannot be changed to non-search retargeting. That said, you can change a native campaign to search retargeting. Clone will only clone the campaign with its existing data. So if the campaign is search retargeting, the cloned campaign will be search retargeting. You cannot change the subChannel in clone. So search retargeting campaigns cannot be created through clone. biddingStrategy will be defaulted to OPT_ENHANCED_CPC. Currently, only the VISIT_WEB campaign objective is supported.
Create a re-engage app campaign
Method: To create an app install campaign, you will need to set the objective to REENGAGE_APP, and to provide a link to your app in the defaultLandingUrl field. Note that tracking parameters and redirects should not be part of the defaultLandingUrl. These should be provided at the ad level through the ad landingUrl. The landingUrl is where you insert the deep link to take the user to the section of their app. Also note that trackingPartner
is required in the request, but will not be returned in the response. You can refer to the dictionary service for supported trackingPartner
values.
POST https://api.gemini.yahoo.com/v3/rest/campaign
Data passed
{
"budgetType": "DAILY",
"budget": 800,
"status": "ACTIVE",
"objective": "REENGAGE_APP",
"advertiserId": 11610,
"campaignName": "Flickr Android app install campaign",
"defaultLandingUrl": "https://play.google.com/store/apps/details?id=com.yahoo.mobile.client.android.flickr",
"channel": "NATIVE",
"trackingPartner": "appsflyer",
"appLocale":"en-us"
}
Example response
{
"errors": null,
"timestamp": "2015-02-05 6:10:46",
"response": {
"language": "en",
"budget": 800,
"budgetType": "DAILY",
"id": 338558004,
"status": "ACTIVE",
"objective": "REENGAGE_APP",
"campaignName": "Flickr Android app install campaign",
"advertiserId": 11610,
"isPartnerNetwork": "TRUE",
"defaultLandingUrl": "https://play.google.com/store/apps/details?id=com.yahoo.mobile.client.android.flickr",
"channel": "NATIVE",
"appLocale":"en-us"
}
}
Delete a campaign
Method: To delete one or more campaigns, make a PUT call to the Campaign endpoint. The following parameters are required for the PUT call:
Field |
Description |
---|---|
|
The ID of the campaign to delete. |
|
The status of the campaign should be set to |
Note
In v2, the DELETE operation is supported for both single and multiple ids.
Example:
PUT https://api.gemini.yahoo.com/v3/rest/campaign
DELETE https://api.gemini.yahoo.com/v3/rest/campaign/{id}
DELETE https://api.gemini.yahoo.com/v3/rest/campaign?id=123&id=1234&...
Data passed
{
"id": 31336,
"status": "DELETED"
}
Example response
{
"errors": null,
"response": [
{
"id": 31336,
"status": "DELETED",
"advertiserId": 87292,
"campaignName": "MobileSearch1",
"budget": 100,
"language": "en",
"budgetType": "DAILY",
"channel": "SEARCH",
"objective": "VISIT_WEB",
"isPartnerNetwork": "TRUE",
"advancedGeoPos": "DEFAULT",
"advancedGeoNeg": "DEFAULT"
}
]
}
Create a mail-sponsored campaign
Method: To create a mail-sponsored campaign for a NATIVE channel, make a POST call to the Campaign endpoint with the required fields. Note that this only works with the MAIL_SPONSORED
campaign objective.
POST https://api.gemini.yahoo.com/v3/rest/campaign
Example representation
{
"errors": null,
"response": {
"id": 31364,
"status": "ACTIVE",
"advertiserId": 87292,
"campaignName": "Sample Mail Sponsored Campaign",
"budget": 3000,
"language": "en",
"budgetType": "LIFETIME",
"channel": "NATIVE"
"objective": "MAIL_SPONSORED",
"isPartnerNetwork": "FALSE",
"advancedGeoPos": "DEFAULT",
"advancedGeoNeg": "DEFAULT"
}
}
Create a campaign supporting deep links
Method: To create a campaign for a NATIVE channel that supports deep links, make a POST call to the Campaign endpoint with the required fields. Note that this only works with the VISIT_WEB, REENGAGE_APP, VISIT_OFFER
campaign objectives.
POST https://api.gemini.yahoo.com/v3/rest/campaign
Example representation
{
"id": 31364,
"status": "PAUSED",
"advertiserId": 87292,
"campaignName": "Sample Tumblr Campaign",
"budget": 3000,
"language": "en",
"budgetType": "LIFETIME",
"channel": "NATIVE",
"objective": "VISIT_WEB",
"isDeepLink": "TRUE",
"isPartnerNetwork": "TRUE"
}
Important
All the ads under this campaign deep link into your mobile app, targeting your product or users who have already installed your app.
Frequency Cap¶
You can define the number of times users can be exposed to your campaign in a given time period. Note that this only applies to PROMOTE_BRAND campaigns. For other campaign types, the frequency is managed and optimized by Native & Search.
Endpoint
Resource URI
https://api.gemini.yahoo.com/v3/rest/frequency
You can set frequency capping by making a POST call passing in the following fields:
Name |
Description |
Type |
Add |
Update |
---|---|---|---|---|
|
The unique identifier |
long |
NA |
Required |
|
The number of times a given user will be exposed to your campaign. |
int |
Required |
Optional |
|
The time interval for which the frequency cap is set. Currently this must be set to DAILY or WEEKLY. |
enum |
Required |
Optional (Read-Only) |
|
The advertiser id. |
long |
Required |
Optional (Read-Only) |
|
Must be set to CAMPAIGN. |
enum |
Required |
Optional (Read-Only) |
|
The ID of the parent campaign. |
long |
Required |
Optional (Read-Only) |
|
Valid values are ACTIVE, PAUSED and DELETED. Will default to ACTIVE if not provided. |
enum |
Optional |
Optional |
For example, to set frequency capping for a campaign:
PUT https://api.gemini.yahoo.com/v3/rest/frequency
Data passed
{
"value": 10,
"type": "DAILY",
"advertiserId": 11610,
"parentType": "CAMPAIGN",
"parentId": 332817035,
"id": 299239189394
}
Example response
{
"errors": null,
"timestamp": "2015-08-22 1:58:45",
"response": {
"type": "DAILY",
"id": 295617989759,
"status": "ACTIVE",
"parentId": 332817035,
"parentType": "CAMPAIGN",
"advertiserId": 11610,
"value": "10"
}
}
To delete frequency capping for a campaign:
PUT https://api.gemini.yahoo.com/v3/rest/frequency
Data passed
{
"id": 295617989759,
"status": "DELETED"
}
Example response
{
"errors": null,
"timestamp": "2015-08-22 2:08:50",
"response": {
"type": "DAILY",
"status": "DELETED",
"id": 295617989759,
"parentId": 332817035,
"parentType": "CAMPAIGN",
"advertiserId": 11610,
"value": "10"
}
}
Example Representations¶
Structured Snippet Extension
{
"type":"STRUCTURED_SNIPPET",
"header":"AMENITIES",
"values":["Free wi-fi", "Heated pool", "Rooftop bar"]
"advertiserId":1904022,
"createdDate":1480439284572,
"lastUpdateDate":1480439284600,
"status":"ON",
"parentSourceID":null,
"unsupportedFeatures":null,
"memberCount":1,
"referenceAdGroupCount":null,
"referenceCampaignCount":null,
"referenceCount":null,
"sourceID":null,
"sourceType":null,
"parentId":null,
"createdByUser":"srichara|1470432223",
"lastUpdatedByUser":"srichara|1470432223",
"parentType":null,
"id":10164000
}
Shared Relationship for Structured Snippet(shared at adGroup level)
{
"object":{
"header":"AMENITIES",
"values":["Free wi-fi", "Heated pool", "Rooftop bar"]
"advertiserId":1904022,
"createdDate":1480439284572,
"lastUpdateDate":1480439284600,
"status":"ON",
"parentSourceID":null,
"unsupportedFeatures":null,
"memberCount":1,
"referenceAdGroupCount":null,
"referenceCampaignCount":null,
"referenceCount":null,
"sourceID":null,
"sourceType":null,
"parentId":null,
"createdByUser":"srichara|1470432223",
"lastUpdatedByUser":"srichara|1470432223",
"parentType":null,
"id":10164000,
"type":"STRUCTURED_SNIPPET",
},
"advertiserId":1904022,
"status":"ON",
"deletedDate":null,
"adGroupId":343827178,
"sourceID":null,
"sourceType":null,
"campaignId":null,
"parentId":343827125,
"sharedObjectId":10164000,
"parentType":"ADGROUP",
"sharedObjectType":" STRUCTURED_SNIPPET",
"id":953002,
"priority":null
}