Ad Set Example
The following is an example of the JSON data structure of an Ad Set. Additional details about the individual attributes of Ad Sets can be found below.Example Ad Set
Ad Set Attributes
nameThe Ad Set name, set by the advertiser.
destinationEnvironmentRead-only. The environment that an ad click will lead a user to.
objectiveThe intended optimization for the Ad Set. Can be
customAction, clicks, conversions, displays, appPromotion, revenue, storeConversions, value, reach, visits or videoViews (only when mediaType is set to Video)
mediaTypeThe type of media the ad set will deliver on. Can be
Display or Video
datasetIdData Set Id associated with the specified advertiser ID. See Datasets for how to find datasets associated to advertisers.
campaignIdId of the marketing campaign associated to the ad set. See Search for Campaigns for how to search for campaigns.
Ad Set Schedule
schedule.startDateISO 8601 format. It must always be earlier than the
schedule.endDate. It’s a mandatory parameter of the Schedule object. This condition applies only if an endDate is defined.
schedule.endDateISO 8601 format.
null by default. (null is a valid value.)
schedule.activationStatusCan be
on or off. off by default. Set by the advertiser, this represents the intent to deliver ads. See Start and Stop Ad Sets for how to change this value.
schedule.deliveryStatusCan be
draft, inactive, live, notLive, pausing, paused, scheduled, ended, notDelivering, or archived. The initial value for a newly created Ad Set is draft. This is a computed value and is read-only.
Ad Set Bidding
bidding.bidAmountDecimal value target relating to the
objective specified. May be null for strategies that do not require a target value.
bidding.costControllerHow spend is controlled and optimized. Can be
COS (Cost of Sale), MaxCPC (Cost per Click), CPI (Cost per Install), CPM (Cost per Mille), CPO (Cost per Order), CPSV (Cost per Site Visit), CPV (Cost per View), targetCPM or dailyBudget.
Ad Set Targeting
targeting.frequencyCapping.maximumImpressionsInteger value. The maximum impressions allowed for the specified
frequencyCapping.frequency.
targeting.frequencyCapping.frequencyThe period by which the maximum impression limit is calculated. Can be
hourly, daily, or lifetime. advanced is available for special Criteo-configured setups, but cannot be selected or set manually.
targeting.geoLocation.countriesContains an array of
values, two letter country codes, ISO-3166 format. Also specifies an operand which can be in or notIn depending on the desired behavior for the values.
targeting.geoLocation.subdivisionsContains an array of
values, geographical subdivisions following ISO-3166 format. Also specifies an operand which can be in or notIn depending on the desired behavior for the values.
targeting.geoLocation.zipCodesContains an array of
values, zip codes. Also specifies an operand which can be in or notIn depending on the desired behavior for the values.
targeting.deliveryLimitations.devicesList of device types that the Ad Set should target. Can contain
desktop, tablet, mobile and other.
targeting.deliveryLimitations.operatingSystemsList of operating systems that the Ad Set should target. Can contain
android, ios, and other.
targeting.deliveryLimitations.environmentsList of display environments that the Ad Set should target. Can contain
inApp and web.
Ad Set Budget
budget.budgetStrategyWhether budget is capped or not. Can be
capped or uncapped. Currently read-only.
budget.budgetRenewalThe cadence of budget reneweal. Can be
daily, weekly,monthly, lifetime, or undefined. Currently read-only.
budget.budgetDeliverySmoothingThe pace at which budget can be spent. Can be
accelerated or standard. Currently read-only.
budget.budgetDeliveryWeekThe seven day period for budget delivery. Can be
mondayToSunday, tuesdayToMonday, wednesdayToTuesday, thursdayToWednesday, fridayToThursday, saturdayToFriday, or sundayToSaturday. Currently read-only.
budget.budgetAmountA decimal value showing the remaining budget value for Ad Sets with
Capped budget strategies. For uncapped budgets, the value will be null.
Ad Set Attribution Configuration
attributionConfiguration.attributionMethod
The attribution method that defines how sales will be attributed to the marketing campaign. Can be CriteoAttribution, GoogleAnalyticsLastClick, GoogleAnalyticsDataDriven, LastClick, PostClick.
attributionConfiguration.lookbackWindow
The lookback window specifies the time frame during which purchases are attributed to an ad interaction. Can be 30M (Same Session), 24H, 7D, 30D. It is filled when the PostClick or LastClick attribution method is selected, or else it should not be filled, and would return an error.
Searching Ad Sets
Retrieving Ad Sets by Filtering
Ad Sets can be retrieved by specifying filters to apply to the set of all Ad Sets in your portfolio. Current available filters areadSetIds (which allows you to specify a list of Ad Set IDs to retrieve), campaignIds (which allows you retrieve Ad Sets belonging to a list of Campaigns) and advertiserIds (which allows you retrieve Ad Sets belonging to a list of Advertisers).
For example, to retrieve two existing Ad Sets in your portfolio, filter by adSetIds:
Sample Response
Retrieving All Ad Sets
When no filters are specified in the JSON payload, all Ad Sets in your portfolio will be returned, as in the example below:Retrieving One Specific Ad Set
You can also fetch the details for a single Ad Set using a GET request: The responsedata will be a single object containing the Ad Set details.
Sample Response
Create an Ad Set
A new ad set can be created for a specific advertiser by making a POST call to the ad set endpoint. The request body should specify the type (Adset) and the ad set attributes.
For example, the following call would create a new Ad Set targeting lookalike audiences:
Ad Set General Info
At the creation, additional attributes are required:trackingCodeRequired. Click URL parameters. Query string syntax without ”?” (eg. utm_source=criteo&utm_medium=display&utm_campaign=mycampaign)
Update Ad Sets
The fields of one or more Ad Sets can be updated by making aPATCH call to the Ad Sets endpoint. The payload should be an array of partial or whole Ad Sets, each specifying the fields to be modified.
For example, the following call would update the name, startDate, endDate, bidAmount and frequency capping settings of an existing Ad Set:
The bid amount value supports a maximum of 4 decimal digits. If more digits are provided, the amount will be rounded.
data. These will contain only two parameters, type and id.
Sample Response
Update AdSet Audience
Use this endpoint if you want to link an Audience to an AdSet. Both need to exist beforehand.Link and Audience, not an Audience SegmentAudiences are made out of Audience Segments, and only Audiences can be linked to AdSets.If you have created an Audience Segment and would like to link it to an existing AdSet, first include it within an Audience, and later use that Audience with this endpoint.
Start an Ad Set
One or more Ad Sets can be set to start delivery by making aPOST call to the Start Ad Sets endpoint shown below. The payload should be an array of Ad Sets, specifying their type and id:
Sample Response
Stop an Ad Set
Similarly, one or more Ad Sets can be set to stop delivery by making aPOST call to the Stop Ad Sets endpoint shown below. The payload should be an array of Ad Sets, specifying their type and id:
Sample Response
Partial Success / Partial Failure
Each Ad Set update is processed individually and can succeed or fail without impacting other updates in the same payload. As a result, those Ad Set updates processed successfully will be returned in thedata array of the response, while Ad Sets updates that have failed will return as an entry in the errors array of the response.
For instance, for this payload which intends to update two Ad Sets:
Sample Response
Error
instanceThe instance field for validation errors will specify the index of the related update, beginning with index 0. For the example above, @data/1 refers to the second requested update in the request’s data array.Validation Errors and Warnings
In addition to general API errors , you may encounter validation errors when updating an Ad Set or attempting to start and stop delivery. Below is a list of error codes for Ad Set validation and a more detailed description of their meaning. Ad Set Retrieval Validation Warnings:cannot-expose-specific-adsetsThe configuration of the Ad Set prevents the retrieval via this API endpoint. Ad Set Creation Validation Errors:
campaign--ad-set-creation-check--invalid-dataThe Ad Set has invalid configuration or is missing required information.
campaign--ad-set-creation-check--invalid-geolocationThe geolocation is invalid.
campaign--ad-set-creation-check--invalid-os-env-configurationThe configurations of Operating Systems and Environment are invalid.
campaign--ad-set-creation-check--start-date-not-validThe start date must be before the end date.
campaign--ad-set-creation-check--end-date-not-validThe end date must be after the start date.
campaign--ad-set-creation-check--invalid-bid-amountThe bid amount value is invalid: either it’s an adaptive cost controller and it must be null, or it’s not the valid interval of values.
campaign--ad-set-creation-check--frequency-cappings-not-validThe frequency capping configuration is not valid.
campaign--ad-set-creation-check--invalid-dataset-idThe data set ID is invalid or not associated to your account. See Datasets for how to find ad sets associated to your account.
campaign--ad-set-creation-check--invalid-audience-configurationThe Ad Set has invalid audience or audience with missing parameters. See Create an Ad Set for how to configure Ad Set Audience.
campaign--ad-set-creation-check--no-audience-configThe Ad Set has no audience configured. See Create an Ad Set for how to configure Ad Set Audience.
campaign--ad-set-creation-check--multiple-audience-configsThe Ad Set has multiple audiences configured. Only one audience can be configured per Ad Set. See Create an Ad Set for how to configure Ad Set Audience.
campaign--ad-set-creation-check--invalid-audience-idThe Ad set has invalid audience ID(s). To create this Ad Set, get in touch with our support team for assistance.
campaign--ad-set-creation-check--invalid-spend-strategyThe Ad Set is configured with an invalid spend strategy. To create this Ad Set, get in touch with our support team for assistance.
campaign--ad-set-creation-check--invalid-bidding-configurationThe bidding configuration is not valid with the selected MediaType.
campaign--ad-set-creation-check--invalid-attribution-configuration
The Ad Set has an invalid attribution configuration set up.
- Attribution Method should not be null or unknown
- Lookback window should not be unknown, and it should only be defined for Attribution Methods:
PostClickandLastClick - When Google Analytics is not configured, it is not possible to select as attribution method:
GoogleAnalyticsLastClick,GoogleAnalyticsDataDriven - If defined, the lookback window for an Optimum Ad Set must be
30D
campaign--ad-set-update-check--ad-set-invalid-geolocationThe geolocation is invalid.
campaign--ad-set-update-check--ad-set-is-archivedThis Ad Set is archived and thus can’t be started.
campaign--ad-set-update-check--ad-set-invalid-os-env-configurationThe configurations of Operating Systems and Environment are invalid.
campaign--ad-set-update-check--ad-set-not-activableThis Ad Set is currently activated. Your change would impact negatively its eligibility to be active, so it has been prevented.
campaign--ad-set-update-check--name-is-nullAn Ad Set cannot have an empty name.
campaign--ad-set-update-check--start-date-is-nullIt’s impossible to set an empty start date (though some old Ad Sets could have a null start date).
campaign--ad-set-update-check--start-date-not-validThe start date must be before the end date.
campaign--ad-set-update-check--end-date-not-validThe end date must be after the start date.
campaign--ad-set-update-check--invalid-bid-amountThe bid amount value is invalid: either it’s an adaptive cost controller and it must be null, or it’s not the valid interval of values.
campaign--ad-set-update-check--frequency-cappings-not-validThe frequency capping configuration is not valid.
campaign--ad-set-update-check--too-many-entitiesThere are too many ad sets to be updated. A maximum of 50 ad sets can be updated per single request Ad Set Start and Stop Validation Errors:
campaign--ad-set-start-check--cannot-activate-archived-ad-setThis Ad Set is archived and thus can’t be started.
campaign--ad-set-start-check--active-ad-sets-limit-reachedThis Ad Set cannot be started because you reached the limit on the number of simultaneoulsy activated Ad Sets.
campaign--ad-set-start-check--ad-set-with-custom-settingsThis Ad Set has some advanced settings and can’t be launched directly through the platform. To launch this Ad Set, get in touch with our support team.
campaign--ad-set-start-check--data-set-is-in-creative-ab-testThis Ad Set is configured with a creative A/B test and can’t be launched directly through the platform. To launch this Ad Set, get in touch with our support team.
campaign--ad-set-start-check--ad-set-is-in-ab-testThis Ad Set is configured with an A/B test and can’t be launched directly through the platform. To launch this Ad Set, get in touch with our support team.
campaign--ad-set-start-check--ad-set-with-revenue-optimizerThis Ad Set is configured with Optimize Revenue. It needs to be switched to Optimize conversions for at least 2 weeks. To edit and launch this Ad Set, get in touch with our support team.
campaign--ad-set-start-check--payment-billing-status-declinedWe noticed incorrect information in your billing details or payment information. Please get in touch with our support team to update your details.
campaign--ad-set-start-check--payment-billing-status-no-detailsThere’s no payment & billing information attached to this account. Go to payments & billing to add your information.
campaign--ad-set-start-check--ad-set-requiring-data-sharingYour Ad Set can’t be launched because data sharing isn’t activated on your account. Please contact your Criteo representative to activate this feature.
campaign--ad-set-start-check--payment-billing-status-no-payment-methodThere’s no payment method attached to this account. Go to payments & billing to add your payment details.
campaign--ad-set-start-check--advertiser-financial-statuses-not-okThere are some unpaid invoices. Go to payments & billing to remit your payments as soon as possible or add a new payment method. If the issue persists, get in touch with our support team.
campaign--ad-set-start-check--terms-and-conditions-not-acceptedYou need to accept our Terms & Conditions to launch this Ad Set. To do so, get in touch with our support team.
campaign--ad-set-start-check--ad-set-has-no-remaining-budgetThis Ad Set won’t run until you add budget to it. Go to Budgets to increase your budget.
campaign--ad-set-start-check--no-inventory-placements-for-ad-setThis Ad Set needs at least one ad placement to get started. Go to Creatives to edit your ad placements.
campaign--ad-set-start-check--not-enough-transaction-tag-hitsWe advise you to check your transaction tags in Events Tracking before launching your Ad Set.
campaign--ad-set-start-check--no-active-catalog-feedAs you’re not using the auto-import feature, we need to resync your catalog to build dynamic ads. Go to Product catalog to start syncing.
campaign--ad-set-start-check--no-design-set-found-for-banner-typesThis Ad Set needs at least one ad to get started. Go to Creatives to add one.
campaign--ad-set-start-check--cannot-activate-ad-set-without-revenueYou didn’t specify any cost controller (bid or target KPI) amount for this Ad Set. Add a value for your bid or your target. If the error persists, get in touch with our support team.
campaign--ad-set-start-check--context-zero-no-geoloc-filterExtensive targeting is enabled on your Ad Set. Reaching too many people could lead to bad performance results. Go to your Ad Set settings to narrow your targeting, by restricting the geolocation to 1 or 2 countries for example. If the error persists, get in touch with our support team.
campaign--ad-set-start-check--context-zero-wrong-configurationThe audience of your Ad Set is too broad. Check its configuration or get in touch with your account strategist for assistance.
campaign--ad-set-start-check--desktop-device-not-supported-for-app-installYour Ad Set is missing some required information. Please get in touch with our support team.
campaign--ad-set-start-check--data-set-logo-required-for-app-installYour Ad Set is missing some required information. Please get in touch with our support team.
campaign--ad-set-start-check--parallel-click-tracking-incorrectly-set-upParallel click tracking is not configured correctly.
campaign--ad-set-start-check--ad-set-has-missing-attribution-urlYour Ad Set is missing an attribution URL.
campaign--ad-set-start-check--crp-ad-set-should-not-have-smoothing-budgetYour CRP Ad Set should not employ budget smoothing.
campaign--ad-set-start-check--misconfigured-ad-setThis Ad Set has invalid configuration or missing parameters. To launch this Ad Set, get in touch with our support team for assistance.
campaign--ad-set-start-check--ad-set-requiring-an-audienceThis Ad Set is not linked to an audience. Check the section Update Ad Set Audience.
campaign--ad-set-update-check--invalid-attribution-configuration
This Ad Set has an invalid attribution configuration set up:
- Attribution Method should not be null or unknown
- Lookback window should not be unknown, and it should only be defined for Attribution Methods:
PostClickandLastClick - When Google Analytics is not configured, it is not possible to select as attribution method:
GoogleAnalyticsLastClick,GoogleAnalyticsDataDriven - If defined, the lookback window for an Optimum Ad Set must be
30D