Google Campaign Manager Campaign Manager Sites API
The Campaign Manager Sites API from Google Campaign Manager — 2 operation(s) for campaign manager sites.
The Campaign Manager Sites API from Google Campaign Manager — 2 operation(s) for campaign manager sites.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/google-campaign-manager:google-campaign-manager-sites-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Campaign Manager 360 Sites API
version: v5
description: Generated from Google's published Discovery document for Campaign Manager 360 API (dfareporting v5, revision 20261107). 5 operation(s).
contact:
name: Google
url: https://developers.google.com/
termsOfService: https://developers.google.com/terms
servers:
- url: https://dfareporting.googleapis.com
tags:
- name: Sites
paths:
/dfareporting/v5/userprofiles/{userprofilesId}/sites:
get:
operationId: dfareporting.sites.list
summary: List sites
description: Retrieves a list of sites, possibly filtered. This method supports paging.
parameters:
- name: userprofilesId
in: path
required: true
description: Resource name segment (userprofilesId).
schema:
type: string
- name: acceptsInStreamVideoPlacements
in: query
required: false
description: This search filter is no longer supported and will have no effect on the results returned.
schema:
type: boolean
- name: acceptsInterstitialPlacements
in: query
required: false
description: This search filter is no longer supported and will have no effect on the results returned.
schema:
type: boolean
- name: acceptsPublisherPaidPlacements
in: query
required: false
description: Select only sites that accept publisher paid placements.
schema:
type: boolean
- name: adWordsSite
in: query
required: false
description: Select only AdWords sites.
schema:
type: boolean
- name: approved
in: query
required: false
description: Select only approved sites.
schema:
type: boolean
- name: campaignIds
in: query
required: false
description: Select only sites with these campaign IDs.
schema:
type: array
items:
format: int64
type: string
- name: directorySiteIds
in: query
required: false
description: Select only sites with these directory site IDs.
schema:
type: array
items:
type: string
format: int64
- name: ids
in: query
required: false
description: Select only sites with these IDs.
schema:
type: array
items:
type: string
format: int64
- name: maxResults
in: query
required: false
description: Maximum number of results to return.
schema:
format: int32
type: integer
default: '1000'
- name: pageToken
in: query
required: false
description: Value of the nextPageToken from the previous result page.
schema:
type: string
- name: searchString
in: query
required: false
description: Allows searching for objects by name, ID or keyName. Wildcards (*) are allowed. For example, "site*2015" will return objects with names like "site June 2015", "site April 2015", or simply "site 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "site" will match objects with name "my site", "site 2015", or simply "site".
schema:
type: string
- name: sortField
in: query
required: false
description: Field by which to sort the list.
schema:
default: ID
enum:
- ID
- NAME
type: string
- name: sortOrder
in: query
required: false
description: Order of sorted results.
schema:
type: string
default: ASCENDING
enum:
- ASCENDING
- DESCENDING
- name: subaccountId
in: query
required: false
description: Select only sites with this subaccount ID.
schema:
format: int64
type: string
- name: unmappedSite
in: query
required: false
description: Select only sites that have not been mapped to a directory site.
schema:
type: boolean
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/SitesListResponse'
4XX:
content:
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcError'
description: 'Client error (google.rpc.Status: INVALID_ARGUMENT, PERMISSION_DENIED, NOT_FOUND ...)'
default:
content:
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcError'
description: Error response (google.rpc.Status)
security:
- oauth2:
- https://www.googleapis.com/auth/dfatrafficking
- apiKey: []
tags:
- Sites
post:
operationId: dfareporting.sites.insert
summary: Insert sites
description: Inserts a new site.
parameters:
- name: userprofilesId
in: path
required: true
description: Resource name segment (userprofilesId).
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Site'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/Site'
4XX:
content:
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcError'
description: 'Client error (google.rpc.Status: INVALID_ARGUMENT, PERMISSION_DENIED, NOT_FOUND ...)'
default:
content:
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcError'
description: Error response (google.rpc.Status)
security:
- oauth2:
- https://www.googleapis.com/auth/dfatrafficking
- apiKey: []
tags:
- Sites
put:
operationId: dfareporting.sites.update
summary: Update sites
description: Updates an existing site.
parameters:
- name: userprofilesId
in: path
required: true
description: Resource name segment (userprofilesId).
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Site'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/Site'
4XX:
content:
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcError'
description: 'Client error (google.rpc.Status: INVALID_ARGUMENT, PERMISSION_DENIED, NOT_FOUND ...)'
default:
content:
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcError'
description: Error response (google.rpc.Status)
security:
- oauth2:
- https://www.googleapis.com/auth/dfatrafficking
- apiKey: []
tags:
- Sites
patch:
operationId: dfareporting.sites.patch
summary: Patch sites
description: Updates an existing site. This method supports patch semantics.
parameters:
- name: userprofilesId
in: path
required: true
description: Resource name segment (userprofilesId).
schema:
type: string
- name: id
in: query
required: true
description: Required. Site ID.
schema:
format: int64
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Site'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/Site'
4XX:
content:
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcError'
description: 'Client error (google.rpc.Status: INVALID_ARGUMENT, PERMISSION_DENIED, NOT_FOUND ...)'
default:
content:
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcError'
description: Error response (google.rpc.Status)
security:
- oauth2:
- https://www.googleapis.com/auth/dfatrafficking
- apiKey: []
tags:
- Sites
/dfareporting/v5/userprofiles/{userprofilesId}/sites/{sitesId}:
get:
operationId: dfareporting.sites.get
summary: Get sites
description: Gets one site by ID.
parameters:
- name: userprofilesId
in: path
required: true
description: Resource name segment (userprofilesId).
schema:
type: string
- name: sitesId
in: path
required: true
description: Resource name segment (sitesId).
schema:
type: string
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/Site'
4XX:
content:
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcError'
description: 'Client error (google.rpc.Status: INVALID_ARGUMENT, PERMISSION_DENIED, NOT_FOUND ...)'
default:
content:
application/json:
schema:
$ref: '#/components/schemas/GoogleRpcError'
description: Error response (google.rpc.Status)
security:
- oauth2:
- https://www.googleapis.com/auth/dfatrafficking
- apiKey: []
tags:
- Sites
components:
schemas:
VideoOffset:
description: Video Offset
properties:
offsetPercentage:
type: integer
format: int32
description: Duration, as a percentage of video duration. Do not set when offsetSeconds is set. Acceptable values are 0 to 100, inclusive.
offsetSeconds:
description: Duration, in seconds. Do not set when offsetPercentage is set. Acceptable values are 0 to 86399, inclusive.
type: integer
format: int32
type: object
Site:
description: Contains properties of a site.
type: object
properties:
directorySiteId:
format: int64
type: string
description: Directory site associated with this site. This is a required field that is read-only after insertion.
approved:
type: boolean
description: Whether this site is approved.
kind:
type: string
description: 'Identifies what kind of resource this is. Value: the fixed string "dfareporting#site".'
id:
description: ID of this site. This is a read-only, auto-generated field.
format: int64
type: string
videoSettings:
$ref: '#/components/schemas/SiteVideoSettings'
description: Default video settings for new placements created under this site. This value will be used to populate the placements.videoSettings field, when no value is specified for the new placement.
idDimensionValue:
$ref: '#/components/schemas/DimensionValue'
description: Dimension value for the ID of this site. This is a read-only, auto-generated field.
directorySiteIdDimensionValue:
$ref: '#/components/schemas/DimensionValue'
description: Dimension value for the ID of the directory site. This is a read-only, auto-generated field.
keyName:
type: string
description: Key name of this site. This is a read-only, auto-generated field.
siteContacts:
description: Site contacts.
items:
$ref: '#/components/schemas/SiteContact'
type: array
name:
type: string
description: Name of this site.This is a required field. Must be less than 128 characters long. If this site is under a subaccount, the name must be unique among sites of the same subaccount. Otherwise, this site is a top-level site, and the name must be unique among top-level sites of the same account.
adServingPlatformId:
type: string
description: 'Optional. Ad serving platform ID to identify the ad serving platform used by the site. Measurement partners can use this field to add ad-server specific macros. If set, this value acts as the default during placement creation. Possible values are: * `1`, Adelphic * `2`, Adform * `3`, Adobe * `4`, Amobee * `5`, Basis (Centro) * `6`, Beeswax * `7`, Amazon * `8`, DV360 (DBM) * `9`, Innovid * `10`, MediaMath * `11`, Roku OneView DSP * `12`, TabMo Hawk * `13`, The Trade Desk * `14`, Xandr Invest DSP * `15`, Yahoo DSP * `16`, Zeta Global * `17`, Scaleout * `18`, Bidtellect * `19`, Unicorn * `20`, Teads * `21`, Quantcast * `22`, Cognitiv * `23`, AdTheorent * `24`, DeepIntent * `25`, Pulsepoint'
format: int64
subaccountId:
format: int64
description: Subaccount ID of this site. This is a read-only field that can be left blank.
type: string
siteSettings:
$ref: '#/components/schemas/SiteSettings'
description: Site-wide settings.
accountId:
type: string
description: Account ID of this site. This is a read-only field that can be left blank.
format: int64
ObaIcon:
properties:
iconClickTrackingUrl:
description: URL to track click when an OBA icon is clicked.
type: string
yPosition:
type: string
description: OBA icon y coordinate position. Accepted values are top or bottom.
resourceUrl:
description: OBA icon resource URL. Campaign Manager only supports image and JavaScript icons. Learn more
type: string
size:
$ref: '#/components/schemas/Size'
description: OBA icon size.
program:
description: Identifies the industry initiative that the icon supports. For example, AdChoices.
type: string
xPosition:
description: OBA icon x coordinate position. Accepted values are left or right.
type: string
iconClickThroughUrl:
description: URL to redirect to when an OBA icon is clicked.
type: string
iconViewTrackingUrl:
description: URL to track view when an OBA icon is clicked.
type: string
type: object
description: Online Behavioral Advertiser icon.
Size:
description: Represents the dimensions of ads, placements, creatives, or creative assets.
type: object
properties:
height:
type: integer
description: Height of this size. Acceptable values are 0 to 32767, inclusive.
format: int32
id:
format: int64
type: string
description: ID of this size. This is a read-only, auto-generated field.
iab:
type: boolean
description: IAB standard size. This is a read-only, auto-generated field.
kind:
description: 'Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".'
type: string
width:
format: int32
type: integer
description: Width of this size. Acceptable values are 0 to 32767, inclusive.
SiteSettings:
description: Site Settings
properties:
activeViewOptOut:
description: Whether active view creatives are disabled for this site.
type: boolean
vpaidAdapterChoiceTemplate:
type: string
enum:
- DEFAULT
- FLASH
- HTML5
- BOTH
description: 'Default VPAID adapter setting for new placements created under this site. This value will be used to populate the placements.vpaidAdapterChoice field, when no value is specified for the new placement. Controls which VPAID format the measurement adapter will use for in-stream video creatives assigned to the placement. The publisher''s specifications will typically determine this setting. For VPAID creatives, the adapter format will match the VPAID format (HTML5 VPAID creatives use the HTML5 adapter). *Note:* Flash is no longer supported. This field now defaults to HTML5 when the following values are provided: FLASH, BOTH.'
disableNewCookie:
type: boolean
description: Whether new cookies are disabled for this site.
videoActiveViewOptOutTemplate:
type: boolean
description: Whether Verification and ActiveView for in-stream video creatives are disabled by default for new placements created under this site. This value will be used to populate the placement.videoActiveViewOptOut field, when no value is specified for the new placement.
adBlockingOptOut:
description: Whether this site opts out of ad blocking. When true, ad blocking is disabled for all placements under the site, regardless of the individual placement settings. When false, the campaign and placement settings take effect.
type: boolean
tagSetting:
$ref: '#/components/schemas/TagSetting'
description: Configuration settings for dynamic and image floodlight tags.
type: object
SiteSkippableSetting:
type: object
description: Skippable Settings
properties:
progressOffset:
$ref: '#/components/schemas/VideoOffset'
description: Amount of time to play videos served to this site template before counting a view. Applicable when skippable is true.
skipOffset:
$ref: '#/components/schemas/VideoOffset'
description: Amount of time to play videos served to this site before the skip button should appear. Applicable when skippable is true.
kind:
type: string
description: 'Identifies what kind of resource this is. Value: the fixed string "dfareporting#siteSkippableSetting".'
skippable:
type: boolean
description: Whether the user can skip creatives served to this site. This will act as default for new placements created under this site.
SitesListResponse:
properties:
sites:
items:
$ref: '#/components/schemas/Site'
type: array
description: Site collection.
kind:
type: string
description: 'Identifies what kind of resource this is. Value: the fixed string "dfareporting#sitesListResponse".'
nextPageToken:
description: Pagination token to be used for the next list operation.
type: string
type: object
description: Site List Response
TagSetting:
description: Tag Settings
properties:
additionalKeyValues:
type: string
description: Additional key-values to be included in tags. Each key-value pair must be of the form key=value, and pairs must be separated by a semicolon (;). Keys and values must not contain commas. For example, id=2;color=red is a valid value for this field.
includeUnescapedlpurlMacro:
description: Optional. Indicates that the unescapedlpurl macro should be included in the tag for the static landing page. New placements will default to the value set on their site.
type: boolean
includeClickTracking:
type: boolean
description: Whether click-tracking string should be included in the tags.
includeClickThroughUrls:
description: Whether static landing page URLs should be included in the tags. New placements will default to the value set on their site.
type: boolean
keywordOption:
description: Option specifying how keywords are embedded in ad tags. This setting can be used to specify whether keyword placeholders are inserted in placement tags for this site. Publishers can then add keywords to those placeholders.
type: string
enum:
- PLACEHOLDER_WITH_LIST_OF_KEYWORDS
- IGNORE
- GENERATE_SEPARATE_TAG_FOR_EACH_KEYWORD
type: object
SiteVideoSettings:
properties:
companionSettings:
$ref: '#/components/schemas/SiteCompanionSetting'
description: Settings for the companion creatives of video creatives served to this site.
transcodeSettings:
$ref: '#/components/schemas/SiteTranscodeSetting'
description: Settings for the transcodes of video creatives served to this site. This will act as default for new placements created under this site.
obaSettings:
$ref: '#/components/schemas/ObaIcon'
description: Settings for the OBA icon of video creatives served to this site. This will act as default for new placements created under this site.
publisherSpecificationId:
format: int64
description: 'Publisher specification ID used to identify site-associated publisher requirements and automatically populate transcode settings. If publisher specification ID is specified, it will take precedence over transcode settings. Possible values are: * `1`, Hulu * `2`, NBC * `3`, CBS * `4`, CBS Desktop * `5`, Discovery * `6`, VEVO HD * `7`, VEVO Vertical * `8`, Fox * `9`, CW Network * `10`, Disney * `11`, IGN * `12`, NFL.com * `13`, Turner Broadcasting * `14`, Tubi on Fox * `15`, Hearst Corporation * `16`, Twitch Desktop * `17`, ABC * `18`, Univision * `19`, MLB.com * `20`, MLB.com Mobile * `21`, MLB.com OTT * `22`, Polsat * `23`, TVN * `24`, Mediaset * `25`, Antena 3 * `26`, Mediamond * `27`, Sky Italia * `28`, Tubi on CBS * `29`, Spotify * `30`, Paramount * `31`, Max'
type: string
kind:
type: string
description: 'Identifies what kind of resource this is. Value: the fixed string "dfareporting#siteVideoSettings".'
orientation:
type: string
enum:
- ANY
- LANDSCAPE
- PORTRAIT
description: Orientation of a site template used for video. This will act as default for new placements created under this site.
skippableSettings:
$ref: '#/components/schemas/SiteSkippableSetting'
description: Settings for the skippability of video creatives served to this site. This will act as default for new placements created under this site.
obaEnabled:
description: Whether OBA icons are enabled for this placement.
type: boolean
type: object
description: Video Settings
SiteCompanionSetting:
type: object
description: Companion Settings
properties:
imageOnly:
description: Whether to serve only static images as companions.
type: boolean
kind:
description: 'Identifies what kind of resource this is. Value: the fixed string "dfareporting#siteCompanionSetting".'
type: string
companionsDisabled:
type: boolean
description: Whether companions are disabled for this site template.
enabledSizes:
items:
$ref: '#/components/schemas/Size'
description: Allowlist of companion sizes to be served via this site template. Set this list to null or empty to serve all companion sizes.
type: array
SiteTranscodeSetting:
properties:
enabledVideoFormats:
items:
type: integer
format: int32
type: array
description: Allowlist of video formats to be served to this site template. Set this list to null or empty to serve all video formats.
kind:
description: 'Identifies what kind of resource this is. Value: the fixed string "dfareporting#siteTranscodeSetting".'
type: string
type: object
description: Transcode Settings
DimensionValue:
type: object
description: Represents a DimensionValue resource.
properties:
id:
type: string
description: The ID associated with the value if available.
value:
type: string
description: The value of the dimension.
dimensionName:
description: The name of the dimension.
type: string
matchType:
type: string
enum:
- EXACT
- BEGINS_WITH
- CONTAINS
- WILDCARD_EXPRESSION
description: Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
etag:
type: string
description: The eTag of this response for caching purposes.
kind:
description: The kind of resource this is, in this case dfareporting#dimensionValue.
type: string
GoogleRpcError:
type: object
description: The error envelope every Google API returns.
properties:
error:
type: object
properties:
code:
type: integer
message:
type: string
status:
type: string
details:
type: array
items:
type: object
SiteContact:
type: object
description: Site Contact
properties:
contactType:
type: string
enum:
- SALES_PERSON
- TRAFFICKER
description: Site contact type.
title:
description: Title or designation of this site contact.
type: string
lastName:
description: Last name of this site contact.
type: string
address:
type: string
description: Address of this site contact.
id:
type: string
description: ID of this site contact. This is a read-only, auto-generated field.
format: int64
email:
description: Email address of this site contact. This is a required field.
type: string
phone:
type: string
description: Primary phone number of this site contact.
firstName:
type: string
description: First name of this site contact.
securitySchemes:
apiKey:
type: apiKey
in: query
name: key
description: API key; accepted by methods that do not need user data.
oauth2:
type: oauth2
flows:
authorizationCode:
authorizationUrl: https://accounts.google.com/o/oauth2/auth
tokenUrl: https://oauth2.googleapis.com/token
scopes:
https://www.googleapis.com/auth/ddmconversions: Manage DoubleClick Digital Marketing conversions
https://www.googleapis.com/auth/dfatrafficking: View and manage your DoubleClick Campaign Manager's (DCM) display ad campaigns
https://www.googleapis.com/auth/dfareporting: View and manage DoubleClick for Advertisers reports
externalDocs:
url: https://developers.google.com/doubleclick-advertisers/
x-provenance:
method: harvested
publisher: Google
source: https://dfareporting.googleapis.com/$discovery/rest?version=v5
note: converted by discovery-to-openapi.py from Google's Discovery document (revision 20261107)