> ## Documentation Index
> Fetch the complete documentation index at: https://developers.criteo.com/llms.txt
> Use this file to discover all available pages before exploring further.

# /2025-10/marketing-solutions/ad-sets

> Create the specified ad set



## OpenAPI

````yaml https://api.criteo.com/2025-10/marketingsolutions/open-api-specifications.json post /2025-10/marketing-solutions/ad-sets
openapi: 3.0.1
info:
  title: Criteo API
  description: Criteo API - MarketingSolutions
  version: 2025-10
servers:
  - url: https://api.criteo.com
security:
  - oauth: []
tags:
  - name: Advertiser
  - name: Analytics
  - name: Audience
  - name: Campaign
  - name: Creative
  - name: Gateway
  - name: Reco
paths:
  /2025-10/marketing-solutions/ad-sets:
    post:
      tags:
        - Campaign
      summary: /2025-10/marketing-solutions/ad-sets
      description: Create the specified ad set
      operationId: CreateAdSet
      requestBody:
        description: the ad sets to create
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateAdSetV24Q3Request'
        required: true
        x-bodyName: adSet
      responses:
        '201':
          description: The ad set that has been created and errors / warnings
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseReadAdSetV24Q3'
      security:
        - oauth:
            - MarketingSolutions_Campaign_Manage
components:
  schemas:
    CreateAdSetV24Q3Request:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/CreateAdSetV24Q3Resource'
      description: Data model for an input resources
    ResponseReadAdSetV24Q3:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/ReadModelReadAdSetV24Q3'
        errors:
          type: array
          items:
            $ref: '#/components/schemas/CommonProblem'
          nullable: true
          readOnly: true
        warnings:
          type: array
          items:
            $ref: '#/components/schemas/CommonProblem'
          nullable: true
          readOnly: true
      description: output resource
    CreateAdSetV24Q3Resource:
      type: object
      properties:
        attributes:
          $ref: '#/components/schemas/CreateAdSetV24Q3'
        type:
          type: string
          description: Canonical type name of the entity
          example: AdSet
      description: Data model for a Resource
    ReadModelReadAdSetV24Q3:
      type: object
      properties:
        attributes:
          $ref: '#/components/schemas/ReadAdSetV24Q3'
        id:
          type: string
          description: Id of the entity
          nullable: true
          readOnly: true
        type:
          type: string
          nullable: true
          readOnly: true
          example: ReadAdSetV24Q3
      description: read model data for resources
      nullable: true
    CommonProblem:
      type: object
      properties:
        code:
          type: string
          description: A machine-readable error code, expressed as a string value.
          nullable: true
        detail:
          type: string
          description: >-
            A human-readable explanation specific to this occurrence of the
            problem
          nullable: true
        instance:
          type: string
          description: A URI that identifies the specific occurrence of the problem.
          nullable: true
        source:
          type: object
          additionalProperties:
            type: string
          description: >-
            A machine-readable structure to reference to the exact location(s)
            causing the error(s)
          nullable: true
        stackTrace:
          type: string
          nullable: true
        title:
          type: string
          description: A short human-readable description of the problem type
          nullable: true
        traceId:
          type: string
          description: The request correlation ID this problem comes from.
          nullable: true
        traceIdentifier:
          type: string
          description: >-
            The request correlation ID this problem comes from. (deprecated, use
            traceId instead)
          nullable: true
        type:
          enum:
            - unknown
            - access-control
            - authentication
            - authorization
            - availability
            - deprecation
            - quota
            - validation
          type: string
          description: The problem's category.
          nullable: true
      description: Common problem object.
    CreateAdSetV24Q3:
      required:
        - bidding
        - campaignId
        - datasetId
        - mediaType
        - name
        - objective
        - schedule
        - targeting
        - trackingCode
      type: object
      properties:
        attributionConfiguration:
          $ref: '#/components/schemas/CreateAdSetAttributionConfigurationV24Q3'
        bidding:
          $ref: '#/components/schemas/CreateAdSetBiddingV24Q3'
        budget:
          $ref: '#/components/schemas/CreateAdSetBudgetV24Q3'
        campaignId:
          type: string
          description: Campaign id this ad set belongs to
          nullable: true
        datasetId:
          type: string
          description: Dataset id of this ad set
        mediaType:
          enum:
            - display
            - video
          type: string
          description: Media type for the ad set
        name:
          type: string
          description: Name of the ad set
          nullable: true
        objective:
          enum:
            - customAction
            - clicks
            - conversions
            - displays
            - appPromotion
            - revenue
            - storeConversions
            - value
            - reach
            - visits
            - videoViews
          type: string
          description: Objective of the ad set
        schedule:
          $ref: '#/components/schemas/CreateAdSetScheduleV24Q3'
        targeting:
          $ref: '#/components/schemas/CreateAdSetTargetingV24Q3'
        trackingCode:
          type: string
          description: The click tracking code associated to this Ad Set.
          nullable: true
      description: ad set create model
      example:
        name: test adset
        datasetId: '108002'
        campaignId: '358313'
        objective: conversions
        schedule:
          startDate: '2026-04-04T16:21:06.3809615+02:00'
          endDate: '2026-04-13T16:21:06.3809642+02:00'
        bidding:
          costController: dailyBudget
        targeting:
          deliveryLimitations:
            environments:
              - web
            devices:
              - desktop
            operatingSystems:
              - android
          geoLocation:
            countries:
              operand: in
              values:
                - FR
                - IT
          frequencyCapping:
            frequency: daily
            maximumImpressions: 1000
        budget:
          budgetStrategy: capped
          budgetRenewal: weekly
          budgetDeliverySmoothing: standard
          budgetDeliveryWeek: mondayToSunday
          budgetAmount: 1000
        trackingCode: Test123
        mediaType: display
        attributionConfiguration:
          attributionMethod: criteoAttribution
    ReadAdSetV24Q3:
      type: object
      properties:
        advertiserId:
          type: string
          nullable: true
        attributionConfiguration:
          $ref: '#/components/schemas/ReadAdSetAttributionConfigurationV24Q3'
        bidding:
          $ref: '#/components/schemas/ReadAdSetBiddingV24Q3'
        budget:
          $ref: '#/components/schemas/ReadAdSetBudgetV24Q3'
        campaignId:
          type: string
          nullable: true
        datasetId:
          type: string
          nullable: true
        destinationEnvironment:
          enum:
            - undefined
            - web
            - app
          type: string
          nullable: true
        mediaType:
          enum:
            - display
            - video
          type: string
          nullable: true
        name:
          type: string
          nullable: true
        objective:
          enum:
            - customAction
            - clicks
            - conversions
            - displays
            - appPromotion
            - revenue
            - storeConversions
            - value
            - reach
            - visits
            - videoViews
          type: string
          nullable: true
        schedule:
          $ref: '#/components/schemas/ReadAdSetScheduleV24Q3'
        targeting:
          $ref: '#/components/schemas/AdSetTargetingV24Q3'
        videoChannel:
          enum:
            - olv
            - ctv
          type: string
          nullable: true
      description: ad set read model
      nullable: true
    CreateAdSetAttributionConfigurationV24Q3:
      type: object
      properties:
        attributionMethod:
          enum:
            - unknown
            - criteoAttribution
            - googleAnalyticsLastClick
            - googleAnalyticsDataDriven
            - lastClick
            - postClick
          type: string
          description: The attribution method.
        lookbackWindow:
          enum:
            - unknown
            - 30M
            - 24H
            - 7D
            - 30D
          type: string
          description: >-
            The lookback window. Optional, should be specified only for
            attribution methods PostClick and LastClick.
          nullable: true
      description: Create model for an ad set's attribution configuration.
    CreateAdSetBiddingV24Q3:
      required:
        - costController
      type: object
      properties:
        bidAmount:
          type: number
          description: >-
            Decimal value target relating to the `bidStrategy` specified. May be
            `null` for strategies that do not require a target value. At most 4
            decimals are supported. Additional decimals are rounded.
          format: double
          nullable: true
        costController:
          enum:
            - COS
            - maxCPC
            - CPI
            - CPM
            - CPO
            - CPSV
            - CPV
            - dailyBudget
            - targetCPM
          type: string
          description: How spend is controlled
      description: ad set bidding create model
    CreateAdSetBudgetV24Q3:
      required:
        - budgetStrategy
      type: object
      properties:
        budgetAmount:
          type: number
          format: double
          nullable: true
        budgetDeliverySmoothing:
          enum:
            - accelerated
            - standard
          type: string
        budgetDeliveryWeek:
          enum:
            - undefined
            - mondayToSunday
            - tuesdayToMonday
            - wednesdayToTuesday
            - thursdayToWednesday
            - fridayToThursday
            - saturdayToFriday
            - sundayToSaturday
          type: string
        budgetRenewal:
          enum:
            - undefined
            - daily
            - monthly
            - lifetime
            - weekly
          type: string
        budgetStrategy:
          enum:
            - capped
            - uncapped
          type: string
      description: ad set budget create model
    CreateAdSetScheduleV24Q3:
      required:
        - startDate
      type: object
      properties:
        endDate:
          type: string
          format: date-time
          nullable: true
        startDate:
          type: string
          format: date-time
      description: ad set schedule create model
    CreateAdSetTargetingV24Q3:
      required:
        - frequencyCapping
      type: object
      properties:
        deliveryLimitations:
          $ref: '#/components/schemas/AdSetDeliveryLimitationsV24Q3'
        frequencyCapping:
          $ref: '#/components/schemas/AdSetFrequencyCappingV24Q3'
        geoLocation:
          $ref: '#/components/schemas/CreateAdSetGeoLocationV24Q3'
      description: Targeting configuration of the ad set
    ReadAdSetAttributionConfigurationV24Q3:
      type: object
      properties:
        attributionMethod:
          enum:
            - unknown
            - criteoAttribution
            - googleAnalyticsLastClick
            - googleAnalyticsDataDriven
            - lastClick
            - postClick
          type: string
          description: The attribution method.
          nullable: true
        lookbackWindow:
          enum:
            - unknown
            - 30M
            - 24H
            - 7D
            - 30D
          type: string
          description: >-
            The lookback window. Optional, should be specified only for
            attribution methods PostClick and LastClick.
          nullable: true
      description: Read model for an ad set's attribution configuration.
      nullable: true
    ReadAdSetBiddingV24Q3:
      type: object
      properties:
        bidAmount:
          type: number
          description: >-
            Decimal value target relating to the `adSetObjective` specified. May
            be `null` for objectives that do not require a target value. At most
            4 decimals are supported. Additional decimals are rounded.
          format: double
          nullable: true
        costController:
          enum:
            - COS
            - maxCPC
            - CPI
            - CPM
            - CPO
            - CPSV
            - CPV
            - dailyBudget
            - targetCPM
          type: string
          description: How spend is controlled
          nullable: true
      description: ad set bidding read model
      nullable: true
    ReadAdSetBudgetV24Q3:
      type: object
      properties:
        budgetAmount:
          type: number
          format: double
          nullable: true
        budgetDeliverySmoothing:
          enum:
            - accelerated
            - standard
          type: string
          nullable: true
        budgetDeliveryWeek:
          enum:
            - undefined
            - mondayToSunday
            - tuesdayToMonday
            - wednesdayToTuesday
            - thursdayToWednesday
            - fridayToThursday
            - saturdayToFriday
            - sundayToSaturday
          type: string
          nullable: true
        budgetRenewal:
          enum:
            - undefined
            - daily
            - monthly
            - lifetime
            - weekly
          type: string
          nullable: true
        budgetStrategy:
          enum:
            - capped
            - uncapped
          type: string
          nullable: true
      description: ad set budget read model
      nullable: true
    ReadAdSetScheduleV24Q3:
      type: object
      properties:
        activationStatus:
          enum:
            - 'on'
            - 'off'
          type: string
          nullable: true
        deliveryStatus:
          enum:
            - draft
            - inactive
            - live
            - notLive
            - pausing
            - paused
            - scheduled
            - ended
            - notDelivering
            - archived
          type: string
          nullable: true
        endDate:
          $ref: '#/components/schemas/NillableDateTime'
        startDate:
          $ref: '#/components/schemas/NillableDateTime'
      description: ad set schedule read model
      nullable: true
    AdSetTargetingV24Q3:
      type: object
      properties:
        deliveryLimitations:
          $ref: '#/components/schemas/AdSetDeliveryLimitationsV24Q3'
        frequencyCapping:
          type: object
          properties:
            value:
              $ref: '#/components/schemas/AdSetFrequencyCappingV24Q3'
          nullable: true
        geoLocation:
          $ref: '#/components/schemas/AdSetGeoLocationV24Q3'
      description: ad set targeting model
      nullable: true
    AdSetDeliveryLimitationsV24Q3:
      type: object
      properties:
        devices:
          type: array
          items:
            enum:
              - other
              - desktop
              - mobile
              - tablet
            type: string
          nullable: true
        environments:
          type: array
          items:
            enum:
              - web
              - inApp
            type: string
          nullable: true
        operatingSystems:
          type: array
          items:
            enum:
              - android
              - ios
              - unknown
            type: string
          nullable: true
      description: ad set delivery limitations model
      nullable: true
    AdSetFrequencyCappingV24Q3:
      type: object
      properties:
        frequency:
          enum:
            - hourly
            - daily
            - lifetime
            - advanced
          type: string
          nullable: true
        maximumImpressions:
          type: integer
          format: int32
          nullable: true
      description: ad set frequency capping model
      nullable: true
    CreateAdSetGeoLocationV24Q3:
      type: object
      properties:
        countries:
          $ref: '#/components/schemas/AdSetTargetingRuleV24Q3'
        subdivisions:
          $ref: '#/components/schemas/AdSetTargetingRuleV24Q3'
        zipCodes:
          $ref: '#/components/schemas/AdSetTargetingRuleV24Q3'
      description: Geolocation configuration of the ad set
    NillableDateTime:
      type: object
      properties:
        value:
          type: string
          format: date-time
          nullable: true
      description: >-
        structure that encapsulates an object that have valid business null
        values. If the structure is provided (i.e. not null), then the value in
        it, even null, is provided.
      nullable: true
    AdSetGeoLocationV24Q3:
      type: object
      properties:
        countries:
          $ref: '#/components/schemas/NillableAdSetTargetingRuleV24Q3'
        subdivisions:
          $ref: '#/components/schemas/NillableAdSetTargetingRuleV24Q3'
        zipCodes:
          $ref: '#/components/schemas/NillableAdSetTargetingRuleV24Q3'
      description: ad set geolocation model
      nullable: true
    AdSetTargetingRuleV24Q3:
      type: object
      properties:
        operand:
          enum:
            - undefined
            - in
            - notIn
          type: string
        values:
          type: array
          items:
            type: string
          nullable: true
      description: ad set targeting rule model
    NillableAdSetTargetingRuleV24Q3:
      type: object
      properties:
        value:
          type: object
          allOf:
            - $ref: '#/components/schemas/AdSetTargetingRuleV24Q3'
          nullable: true
      description: >-
        structure that encapsulates an object that have valid business null
        values. If the structure is provided (i.e. not null), then the value in
        it, even null, is provided.
      nullable: true
  securitySchemes:
    oauth:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://api.criteo.com/oauth2/token
          scopes: {}
        authorizationCode:
          authorizationUrl: https://api.criteo.com/oauth2
          tokenUrl: https://api.criteo.com/oauth2/token
          scopes: {}

````