Google Campaign Manager Campaigns API

Manage advertising campaigns. Campaigns serve as top-level organizational containers that group ads, placements, and creatives under a single advertiser with shared start and end dates, budgets, and targeting configurations.

Documentation

Specifications

Schemas & Data

📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/google-campaign-manager/refs/heads/main/json-schema/google-campaign-manager-campaign-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/google-campaign-manager/refs/heads/main/json-schema/google-campaign-manager-ad-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/google-campaign-manager/refs/heads/main/json-schema/google-campaign-manager-placement-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/google-campaign-manager/refs/heads/main/json-schema/google-campaign-manager-report-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/google-campaign-manager/refs/heads/main/json-schema/google-campaign-manager-report-criteria-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/google-campaign-manager/refs/heads/main/json-schema/google-campaign-manager-report-reach-criteria-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/google-campaign-manager/refs/heads/main/json-schema/google-campaign-manager-report-path-to-conversion-criteria-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/google-campaign-manager/refs/heads/main/json-schema/google-campaign-manager-report-cross-dimension-reach-criteria-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/google-campaign-manager/refs/heads/main/json-schema/google-campaign-manager-report-floodlight-criteria-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/google-campaign-manager/refs/heads/main/json-schema/google-campaign-manager-report-cross-media-reach-criteria-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/google-campaign-manager/refs/heads/main/json-schema/google-campaign-manager-report-schedule-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/google-campaign-manager/refs/heads/main/json-schema/google-campaign-manager-report-delivery-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/google-campaign-manager/refs/heads/main/json-schema/google-campaign-manager-recipient-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/google-campaign-manager/refs/heads/main/json-schema/google-campaign-manager-file-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/google-campaign-manager/refs/heads/main/json-schema/google-campaign-manager-size-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/google-campaign-manager/refs/heads/main/json-schema/google-campaign-manager-date-range-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/google-campaign-manager/refs/heads/main/json-schema/google-campaign-manager-sorted-dimension-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/google-campaign-manager/refs/heads/main/json-schema/google-campaign-manager-activities-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/google-campaign-manager/refs/heads/main/json-schema/google-campaign-manager-custom-rich-media-events-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/google-campaign-manager/refs/heads/main/json-schema/google-campaign-manager-dimension-value-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/google-campaign-manager/refs/heads/main/json-schema/google-campaign-manager-last-modified-info-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/google-campaign-manager/refs/heads/main/json-schema/google-campaign-manager-audience-segment-group-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/google-campaign-manager/refs/heads/main/json-schema/google-campaign-manager-audience-segment-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/google-campaign-manager/refs/heads/main/json-schema/google-campaign-manager-event-tag-override-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/google-campaign-manager/refs/heads/main/json-schema/google-campaign-manager-click-through-url-suffix-properties-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/google-campaign-manager/refs/heads/main/json-schema/google-campaign-manager-default-click-through-event-tag-properties-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/google-campaign-manager/refs/heads/main/json-schema/google-campaign-manager-click-through-url-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/google-campaign-manager/refs/heads/main/json-schema/google-campaign-manager-creative-optimization-configuration-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/google-campaign-manager/refs/heads/main/json-schema/google-campaign-manager-optimization-activity-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/google-campaign-manager/refs/heads/main/json-schema/google-campaign-manager-ad-blocking-configuration-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/google-campaign-manager/refs/heads/main/json-schema/google-campaign-manager-measurement-partner-link-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/google-campaign-manager/refs/heads/main/json-schema/google-campaign-manager-measurement-partner-wrapping-data-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/google-campaign-manager/refs/heads/main/json-schema/google-campaign-manager-conversion-domain-override-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/google-campaign-manager/refs/heads/main/json-schema/google-campaign-manager-placement-assignment-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/google-campaign-manager/refs/heads/main/json-schema/google-campaign-manager-creative-rotation-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/google-campaign-manager/refs/heads/main/json-schema/google-campaign-manager-creative-assignment-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/google-campaign-manager/refs/heads/main/json-schema/google-campaign-manager-delivery-schedule-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/google-campaign-manager/refs/heads/main/json-schema/google-campaign-manager-frequency-cap-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/google-campaign-manager/refs/heads/main/json-schema/google-campaign-manager-geo-targeting-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/google-campaign-manager/refs/heads/main/json-schema/google-campaign-manager-country-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/google-campaign-manager/refs/heads/main/json-schema/google-campaign-manager-region-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/google-campaign-manager/refs/heads/main/json-schema/google-campaign-manager-city-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/google-campaign-manager/refs/heads/main/json-schema/google-campaign-manager-metro-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/google-campaign-manager/refs/heads/main/json-schema/google-campaign-manager-postal-code-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/google-campaign-manager/refs/heads/main/json-schema/google-campaign-manager-technology-targeting-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/google-campaign-manager/refs/heads/main/json-schema/google-campaign-manager-browser-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/google-campaign-manager/refs/heads/main/json-schema/google-campaign-manager-platform-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/google-campaign-manager/refs/heads/main/json-schema/google-campaign-manager-operating-system-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/google-campaign-manager/refs/heads/main/json-schema/google-campaign-manager-operating-system-version-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/google-campaign-manager/refs/heads/main/json-schema/google-campaign-manager-mobile-carrier-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/google-campaign-manager/refs/heads/main/json-schema/google-campaign-manager-connection-type-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/google-campaign-manager/refs/heads/main/json-schema/google-campaign-manager-day-part-targeting-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/google-campaign-manager/refs/heads/main/json-schema/google-campaign-manager-pricing-schedule-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/google-campaign-manager/refs/heads/main/json-schema/google-campaign-manager-pricing-schedule-pricing-period-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/google-campaign-manager/refs/heads/main/json-schema/google-campaign-manager-video-settings-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/google-campaign-manager/refs/heads/main/json-schema/google-campaign-manager-lookback-configuration-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/google-campaign-manager/refs/heads/main/json-schema/google-campaign-manager-tag-setting-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/google-campaign-manager/refs/heads/main/json-schema/google-campaign-manager-placement-tag-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/google-campaign-manager/refs/heads/main/json-schema/google-campaign-manager-campaigns-list-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/google-campaign-manager/refs/heads/main/json-schema/google-campaign-manager-ads-list-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/google-campaign-manager/refs/heads/main/json-schema/google-campaign-manager-placements-list-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/google-campaign-manager/refs/heads/main/json-schema/google-campaign-manager-placements-generate-tags-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/google-campaign-manager/refs/heads/main/json-schema/google-campaign-manager-reports-list-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/google-campaign-manager/refs/heads/main/json-schema/google-campaign-manager-error-schema.json

Other Resources

OpenAPI Specification

google-campaign-manager-campaigns-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Google Campaign Manager Campaign Manager 360 Ads Campaigns API
  description: The Campaign Manager 360 API (formerly DoubleClick Campaign Manager) provides programmatic access to manage digital advertising campaigns, ads, placements, and reports. Use this API to automate trafficking workflows, create and manage campaign structures, configure ad placements across publisher sites, and generate comprehensive reporting data for campaign performance analysis. The API supports the full campaign lifecycle from creation through reporting and optimization.
  version: v4
  contact:
    name: Google Campaign Manager 360 API Support
    url: https://support.google.com/campaignmanager
  termsOfService: https://developers.google.com/terms
servers:
- url: https://dfareporting.googleapis.com/dfareporting/v4
  description: Campaign Manager 360 API Production Server
security:
- OAuth2:
  - https://www.googleapis.com/auth/dfareporting
  - https://www.googleapis.com/auth/dfatrafficking
tags:
- name: Campaigns
  description: Manage advertising campaigns. Campaigns serve as top-level organizational containers that group ads, placements, and creatives under a single advertiser with shared start and end dates, budgets, and targeting configurations.
paths:
  /userprofiles/{profileId}/campaigns:
    get:
      operationId: listCampaigns
      summary: Google Campaign Manager List Campaigns
      description: Retrieves a list of campaigns, possibly filtered. Results are returned in descending order by last modified time. Use query parameters to filter by advertiser, archive status, search string, or specific campaign IDs.
      tags:
      - Campaigns
      security:
      - OAuth2:
        - https://www.googleapis.com/auth/dfatrafficking
      parameters:
      - $ref: '#/components/parameters/ProfileId'
      - name: advertiserIds
        in: query
        required: false
        description: Select only campaigns that belong to these advertisers.
        schema:
          type: array
          items:
            type: string
        style: form
        explode: true
      - name: ids
        in: query
        required: false
        description: Select only campaigns with these IDs.
        schema:
          type: array
          items:
            type: string
        style: form
        explode: true
      - name: searchString
        in: query
        required: false
        description: Search string for filtering results. Matches against campaign name and ID fields.
        schema:
          type: string
      - name: archived
        in: query
        required: false
        description: Select only archived campaigns. Default is false.
        schema:
          type: boolean
          default: false
      - name: sortField
        in: query
        required: false
        description: Field by which to sort the list.
        schema:
          type: string
          enum:
          - ID
          - NAME
          default: ID
      - name: sortOrder
        in: query
        required: false
        description: Order of sorted results.
        schema:
          type: string
          enum:
          - ASCENDING
          - DESCENDING
          default: ASCENDING
      - $ref: '#/components/parameters/MaxResults'
      - $ref: '#/components/parameters/PageToken'
      responses:
        '200':
          description: List of campaigns.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CampaignsListResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      operationId: insertCampaign
      summary: Google Campaign Manager Create a Campaign
      description: Inserts a new campaign. The campaign is created under the specified advertiser with the provided configuration. Required fields include name, advertiserId, startDate, and endDate.
      tags:
      - Campaigns
      parameters:
      - $ref: '#/components/parameters/ProfileId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Campaign'
            example:
              name: Q1 2026 Brand Awareness Campaign
              advertiserId: '12345678'
              startDate: '2026-01-01'
              endDate: '2026-03-31'
              defaultLandingPageId: '98765432'
      responses:
        '200':
          description: Created campaign.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Campaign'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /userprofiles/{profileId}/campaigns/{campaignId}:
    get:
      operationId: getCampaign
      summary: Google Campaign Manager Get a Campaign
      description: Gets one campaign by ID.
      tags:
      - Campaigns
      security:
      - OAuth2:
        - https://www.googleapis.com/auth/dfatrafficking
      parameters:
      - $ref: '#/components/parameters/ProfileId'
      - $ref: '#/components/parameters/CampaignId'
      responses:
        '200':
          description: Campaign details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Campaign'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    put:
      operationId: updateCampaign
      summary: Google Campaign Manager Update a Campaign
      description: Updates an existing campaign. All writable fields must be provided in the request body; unset writable fields will be reset to their default values.
      tags:
      - Campaigns
      parameters:
      - $ref: '#/components/parameters/ProfileId'
      - $ref: '#/components/parameters/CampaignId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Campaign'
      responses:
        '200':
          description: Updated campaign.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Campaign'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    patch:
      operationId: patchCampaign
      summary: Google Campaign Manager Patch a Campaign
      description: Updates an existing campaign. This method supports patch semantics; only the fields specified in the request body are modified.
      tags:
      - Campaigns
      parameters:
      - $ref: '#/components/parameters/ProfileId'
      - $ref: '#/components/parameters/CampaignId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Campaign'
      responses:
        '200':
          description: Patched campaign.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Campaign'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    AudienceSegment:
      type: object
      description: An audience segment for targeting.
      properties:
        id:
          type: string
          description: ID of this audience segment.
          example: abc123
        name:
          type: string
          description: Name of this audience segment.
          example: Example Title
        allocation:
          type: integer
          description: Weight allocated to this segment. Must be between 1 and 1000.
          minimum: 1
          maximum: 1000
          example: 10
    CreativeOptimizationConfiguration:
      type: object
      description: Creative optimization configuration.
      properties:
        id:
          type: string
          description: ID of this creative optimization configuration.
          example: abc123
        name:
          type: string
          description: Name of this creative optimization configuration.
          example: Example Title
        optimizationActivitys:
          type: array
          description: List of optimization activities associated with this configuration.
          items:
            $ref: '#/components/schemas/OptimizationActivity'
          example: []
        optimizationModel:
          type: string
          description: Optimization model for this configuration.
          enum:
          - CLICK
          - POST_CLICK
          - POST_IMPRESSION
          - POST_CLICK_AND_IMPRESSION
          - VIDEO_COMPLETION
          example: CLICK
    Error:
      type: object
      description: Standard Google API error response.
      properties:
        error:
          type: object
          properties:
            code:
              type: integer
              description: HTTP status code.
            message:
              type: string
              description: Human-readable error message.
            status:
              type: string
              description: Error status string.
            errors:
              type: array
              items:
                type: object
                properties:
                  message:
                    type: string
                  domain:
                    type: string
                  reason:
                    type: string
          example: example_value
    OptimizationActivity:
      type: object
      description: An optimization activity for creative optimization.
      properties:
        floodlightActivityId:
          type: string
          description: Floodlight activity ID of this optimization activity.
          example: '500123'
        floodlightActivityIdDimensionValue:
          $ref: '#/components/schemas/DimensionValue'
        weight:
          type: integer
          description: Weight associated with this optimization.
          example: 10
    AdBlockingConfiguration:
      type: object
      description: Ad blocking configuration for a campaign.
      properties:
        enabled:
          type: boolean
          description: Whether this campaign has enabled ad blocking. When true, ad blocking is enabled for the campaign and a default ad can be served for blocked ads.
          example: true
        overrideClickThroughUrl:
          type: string
          format: uri
          description: Override click-through URL for blocked ads.
          example: https://www.example.com
    DefaultClickThroughEventTagProperties:
      type: object
      description: Default click-through event tag properties.
      properties:
        defaultClickThroughEventTagId:
          type: string
          description: ID of the default click-through event tag.
          example: '500123'
        overrideInheritedEventTag:
          type: boolean
          description: Whether to override the inherited event tag.
          example: true
    LastModifiedInfo:
      type: object
      description: Modification timestamp information.
      properties:
        time:
          type: string
          description: Timestamp of the last change in milliseconds since epoch.
          example: example_value
    CampaignsListResponse:
      type: object
      description: Campaign list response.
      properties:
        campaigns:
          type: array
          items:
            $ref: '#/components/schemas/Campaign'
          example: []
        nextPageToken:
          type: string
          description: Pagination token to be used in a subsequent request to retrieve the next page.
          example: example_value
        kind:
          type: string
          readOnly: true
          default: dfareporting#campaignsListResponse
          example: example_value
    MeasurementPartnerLink:
      type: object
      description: Measurement partner integration link.
      properties:
        measurementPartner:
          type: string
          description: Measurement partner used for tag wrapping.
          enum:
          - NONE
          - INTEGRAL_AD_SCIENCE
          - DOUBLE_VERIFY
          example: NONE
        linkStatus:
          type: string
          description: The status of the link.
          enum:
          - MEASUREMENT_PARTNER_LINK_STATUS_UNSPECIFIED
          - MEASUREMENT_PARTNER_LINK_ACTIVE
          - MEASUREMENT_PARTNER_LINK_INACTIVE
          example: MEASUREMENT_PARTNER_LINK_STATUS_UNSPECIFIED
        partnerCampaignId:
          type: string
          description: Partner campaign ID for the link.
          example: '500123'
    Campaign:
      type: object
      description: A Campaign Manager 360 campaign. Campaigns are the top-level organizational unit for advertising activities, grouping ads, placements, and creatives under a single advertiser with shared configuration, date ranges, and targeting.
      required:
      - name
      - advertiserId
      - startDate
      - endDate
      properties:
        id:
          type: string
          description: Campaign ID. This is a read-only, auto-generated field.
          readOnly: true
          example: abc123
        accountId:
          type: string
          description: Account ID of this campaign.
          readOnly: true
          example: '500123'
        subaccountId:
          type: string
          description: Subaccount ID of this campaign.
          readOnly: true
          example: '500123'
        advertiserId:
          type: string
          description: Advertiser ID of this campaign. Required on insert.
          example: '500123'
        advertiserGroupId:
          type: string
          description: Advertiser group ID of the associated advertiser.
          example: '500123'
        name:
          type: string
          description: Name of this campaign. Must be fewer than 512 characters and unique among campaigns of the same advertiser.
          maxLength: 512
          example: Example Title
        archived:
          type: boolean
          description: Whether this campaign has been archived.
          default: false
          example: true
        startDate:
          type: string
          format: date
          description: Start date of this campaign. The date format is YYYY-MM-DD.
          example: '2026-01-15'
        endDate:
          type: string
          format: date
          description: End date of this campaign. Must be on or after the start date. The date format is YYYY-MM-DD.
          example: '2026-01-15'
        comment:
          type: string
          description: Arbitrary comments about this campaign. Must be fewer than 256 characters.
          maxLength: 256
          example: example_value
        billingInvoiceCode:
          type: string
          description: Billing invoice code included in the invoices.
          example: example_value
        defaultLandingPageId:
          type: string
          description: Default landing page ID for this campaign.
          example: '500123'
        externalId:
          type: string
          description: External ID for this campaign.
          example: '500123'
        audienceSegmentGroups:
          type: array
          description: Audience segment groups assigned to this campaign. Maximum of 300 segment groups.
          maxItems: 300
          items:
            $ref: '#/components/schemas/AudienceSegmentGroup'
          example: []
        eventTagOverrides:
          type: array
          description: Event tag overrides for this campaign.
          items:
            $ref: '#/components/schemas/EventTagOverride'
          example: []
        clickThroughUrlSuffixProperties:
          $ref: '#/components/schemas/ClickThroughUrlSuffixProperties'
        defaultClickThroughEventTagProperties:
          $ref: '#/components/schemas/DefaultClickThroughEventTagProperties'
        creativeGroupIds:
          type: array
          description: List of creative group IDs assigned to this campaign.
          items:
            type: string
          example: []
        creativeOptimizationConfiguration:
          $ref: '#/components/schemas/CreativeOptimizationConfiguration'
        additionalCreativeOptimizationConfigurations:
          type: array
          description: Additional creative optimization configurations.
          items:
            $ref: '#/components/schemas/CreativeOptimizationConfiguration'
          example: []
        adBlockingConfiguration:
          $ref: '#/components/schemas/AdBlockingConfiguration'
        measurementPartnerLink:
          $ref: '#/components/schemas/MeasurementPartnerLink'
        euPoliticalAdsDeclaration:
          type: string
          description: EU political advertising declaration for this campaign.
          enum:
          - EU_POLITICAL_ADS_DECLARATION_UNSPECIFIED
          - EU_POLITICAL_ADS_DECLARATION_NOT_POLITICAL
          - EU_POLITICAL_ADS_DECLARATION_POLITICAL
          example: EU_POLITICAL_ADS_DECLARATION_UNSPECIFIED
        kind:
          type: string
          description: Identifies what kind of resource this is. Value is always dfareporting#campaign.
          readOnly: true
          default: dfareporting#campaign
          example: example_value
        createInfo:
          $ref: '#/components/schemas/LastModifiedInfo'
          readOnly: true
        lastModifiedInfo:
          $ref: '#/components/schemas/LastModifiedInfo'
          readOnly: true
        idDimensionValue:
          $ref: '#/components/schemas/DimensionValue'
          readOnly: true
        advertiserIdDimensionValue:
          $ref: '#/components/schemas/DimensionValue'
          readOnly: true
    DimensionValue:
      type: object
      description: A dimension value used for filtering and reporting.
      properties:
        dimensionName:
          type: string
          description: The name of the dimension.
          example: example_value
        value:
          type: string
          description: The value of the dimension.
          example: example_value
        id:
          type: string
          description: The ID associated with the value.
          example: abc123
        matchType:
          type: string
          description: Match type for filtering.
          enum:
          - EXACT
          - BEGINS_WITH
          - CONTAINS
          - WILDCARD_EXPRESSION
          example: EXACT
        etag:
          type: string
          readOnly: true
          example: example_value
        kind:
          type: string
          readOnly: true
          default: dfareporting#dimensionValue
          example: example_value
    EventTagOverride:
      type: object
      description: Event tag override configuration.
      properties:
        id:
          type: string
          description: ID of the event tag that is overridden.
          example: abc123
        enabled:
          type: boolean
          description: Whether this override is enabled.
          example: true
    AudienceSegmentGroup:
      type: object
      description: Audience segment group for targeting.
      properties:
        id:
          type: string
          description: ID of this audience segment group.
          example: abc123
        name:
          type: string
          description: Name of this audience segment group.
          example: Example Title
        audienceSegments:
          type: array
          description: Audience segments assigned to this group.
          items:
            $ref: '#/components/schemas/AudienceSegment'
          example: []
    ClickThroughUrlSuffixProperties:
      type: object
      description: Click-through URL suffix properties.
      properties:
        clickThroughUrlSuffix:
          type: string
          description: Click-through URL suffix to apply to all ads in this entity's scope.
          example: https://www.example.com
        overrideInheritedSuffix:
          type: boolean
          description: Whether this entity should override the inherited suffix with its own defined suffix.
          example: true
  responses:
    Forbidden:
      description: Insufficient permissions for the requested operation.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Unauthorized:
      description: Authentication required or invalid credentials.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    NotFound:
      description: The requested resource was not found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    BadRequest:
      description: Invalid request parameters or malformed request body.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  parameters:
    CampaignId:
      name: campaignId
      in: path
      required: true
      description: Campaign ID.
      schema:
        type: string
        pattern: ^\d+$
      example: '12345678'
    PageToken:
      name: pageToken
      in: query
      required: false
      description: Value of the nextPageToken from the previous result page.
      schema:
        type: string
    MaxResults:
      name: maxResults
      in: query
      required: false
      description: Maximum number of results to return. Default is 1000.
      schema:
        type: integer
        minimum: 0
        maximum: 1000
        default: 1000
    ProfileId:
      name: profileId
      in: path
      required: true
      description: The Campaign Manager 360 user profile ID. Each user has a profile for each account they have access to.
      schema:
        type: string
        pattern: ^\d+$
      example: '123456'
  securitySchemes:
    OAuth2:
      type: oauth2
      description: OAuth 2.0 authentication for accessing Campaign Manager 360 resources. Requires appropriate scopes for trafficking or reporting operations.
      flows:
        authorizationCode:
          authorizationUrl: https://accounts.google.com/o/oauth2/v2/auth
          tokenUrl: https://oauth2.googleapis.com/token
          scopes:
            https://www.googleapis.com/auth/dfareporting: View and manage DoubleClick for Advertisers reports
            https://www.googleapis.com/auth/dfatrafficking: View and manage your DoubleClick Campaign Manager's (DCM) display ad campaigns
externalDocs:
  description: Campaign Manager 360 API Documentation
  url: https://developers.google.com/doubleclick-advertisers/rest/v4