Submit a new creative.

Scopes

You will need authorization for the https://www.googleapis.com/auth/adexchange.buyer scope to make a valid call.

If unset, the scope for this method defaults to https://www.googleapis.com/auth/adexchange.buyer. You can set the scope for this method like this: adexchangebuyer1d4 --scope <scope> creatives insert ...

Required Request Value

The request value is a data-structure with various fields. Each field may be a simple scalar or another data-structure. In the latter case it is advised to set the field-cursor to the data-structure's field to specify values more concisely.

For example, a structure like this:

Creative:
  html-snippet: string
  account-id: integer
  ad-choices-destination-url: string
  ad-technology-providers:
    detected-provider-ids: [string]
    has-unidentified-provider: boolean
  advertiser-id: [string]
  advertiser-name: string
  agency-id: string
  api-upload-timestamp: string
  attribute: [integer]
  buyer-creative-id: string
  click-through-url: [string]
  creative-status-identity-type: string
  deals-status: string
  detected-domains: [string]
  filtering-reasons:
    date: string
  height: integer
  impression-tracking-url: [string]
  kind: string
  languages: [string]
  native-ad:
    advertiser: string
    app-icon:
      height: integer
      url: string
      width: integer
    body: string
    call-to-action: string
    click-link-url: string
    click-tracking-url: string
    headline: string
    image:
      height: integer
      url: string
      width: integer
    impression-tracking-url: [string]
    logo:
      height: integer
      url: string
      width: integer
    price: string
    star-rating: number
    video-url: string
  open-auction-status: string
  product-categories: [integer]
  restricted-categories: [integer]
  sensitive-categories: [integer]
  vendor-type: [integer]
  version: integer
  video-url: string
  video-vast-xml: string
  width: integer

can be set completely with the following arguments which are assumed to be executed in the given order. Note how the cursor position is adjusted to the respective structures, allowing simple field names to be used most of the time.

  • -r . html-snippet=gubergren
    • The HTML snippet that displays the ad when inserted in the web page. If set, videoURL, videoVastXML, and nativeAd should not be set.
  • account-id=84
    • Account id.
  • ad-choices-destination-url=dolor
    • The link to the Ad Preferences page. This is only supported for native ads.
  • ad-technology-providers detected-provider-ids=lorem
    • The detected ad technology provider IDs for this creative. See https://storage.googleapis.com/adx-rtb-dictionaries/providers.csv for mapping of provider ID to provided name, a privacy policy URL, and a list of domains which can be attributed to the provider. If this creative contains provider IDs that are outside of those listed in the BidRequest.adslot.consented_providers_settings.consented_providers field on the Authorized Buyers Real-Time Bidding protocol or the BidRequest.user.ext.consented_providers_settings.consented_providers field on the OpenRTB protocol, a bid submitted for a European Economic Area (EEA) user with this creative is not compliant with the GDPR policies as mentioned in the "Third-party Ad Technology Vendors" section of Authorized Buyers Program Guidelines.
    • Each invocation of this argument appends the given value to the array.
  • has-unidentified-provider=false

    • Whether the creative contains an unidentified ad technology provider. If true, a bid submitted for a European Economic Area (EEA) user with this creative is not compliant with the GDPR policies as mentioned in the "Third-party Ad Technology Vendors" section of Authorized Buyers Program Guidelines.
  • .. advertiser-id=sed

    • Detected advertiser id, if any. Read-only. This field should not be set in requests.
    • Each invocation of this argument appends the given value to the array.
  • advertiser-name=duo
    • The name of the company being advertised in the creative. A list of advertisers is provided in the advertisers.txt file.
  • agency-id=sed
    • The agency id for this creative.
  • api-upload-timestamp=no
    • The last upload timestamp of this creative if it was uploaded via API. Read-only. The value of this field is generated, and will be ignored for uploads. (formatted RFC 3339 timestamp).
  • attribute=86
    • List of buyer selectable attributes for the ads that may be shown from this snippet. Each attribute is represented by an integer as defined in buyer-declarable-creative-attributes.txt.
    • Each invocation of this argument appends the given value to the array.
  • buyer-creative-id=kasd
    • A buyer-specific id identifying the creative in this ad.
  • click-through-url=et
    • The set of destination urls for the snippet.
    • Each invocation of this argument appends the given value to the array.
  • creative-status-identity-type=sed
    • Creative status identity type that the creative item applies to. Ad Exchange real-time bidding is migrating to the sizeless creative verification. Originally, Ad Exchange assigned creative verification status to a unique combination of a buyer creative ID and creative dimensions. Post-migration, a single verification status will be assigned at the buyer creative ID level. This field allows to distinguish whether a given creative status applies to a unique combination of a buyer creative ID and creative dimensions, or to a buyer creative ID as a whole.
  • deals-status=et
    • Top-level deals status. Read-only. This field should not be set in requests. If disapproved, an entry for auctionType=DIRECT_DEALS (or ALL) in servingRestrictions will also exist. Note that this may be nuanced with other contextual restrictions, in which case it may be preferable to read from servingRestrictions directly.
  • detected-domains=et
    • Detected domains for this creative. Read-only. This field should not be set in requests.
    • Each invocation of this argument appends the given value to the array.
  • filtering-reasons date=vero

    • The date in ISO 8601 format for the data. The data is collected from 00:00:00 to 23:59:59 in PST.
  • .. height=70

    • Ad height.
  • impression-tracking-url=sed
    • The set of urls to be called to record an impression.
    • Each invocation of this argument appends the given value to the array.
  • kind=duo
    • Resource type.
  • languages=dolore
    • Detected languages for this creative. Read-only. This field should not be set in requests.
    • Each invocation of this argument appends the given value to the array.
  • native-ad advertiser=et
    • No description provided.
  • app-icon height=73
    • No description provided.
  • url=amet.
    • No description provided.
  • width=5

    • No description provided.
  • .. body=diam

    • A long description of the ad.
  • call-to-action=dolor
    • A label for the button that the user is supposed to click.
  • click-link-url=et
    • The URL that the browser/SDK will load when the user clicks the ad.
  • click-tracking-url=et
    • The URL to use for click tracking.
  • headline=sadipscing
    • A short title for the ad.
  • image height=86
    • No description provided.
  • url=dolor
    • No description provided.
  • width=81

    • No description provided.
  • .. impression-tracking-url=vero

    • The URLs are called when the impression is rendered.
    • Each invocation of this argument appends the given value to the array.
  • logo height=25
    • No description provided.
  • url=invidunt
    • No description provided.
  • width=36

    • No description provided.
  • .. price=vero

    • The price of the promoted app including the currency info.
  • star-rating=0.4523282032393763
    • The app rating in the app store. Must be in the range [0-5].
  • video-url=diam

    • The URL of the XML VAST for a native ad. Note this is a separate field from resource.video_url.
  • .. open-auction-status=no

    • Top-level open auction status. Read-only. This field should not be set in requests. If disapproved, an entry for auctionType=OPEN_AUCTION (or ALL) in servingRestrictions will also exist. Note that this may be nuanced with other contextual restrictions, in which case it may be preferable to read from ServingRestrictions directly.
  • product-categories=1
    • Detected product categories, if any. Each category is represented by an integer as defined in ad-product-categories.txt. Read-only. This field should not be set in requests.
    • Each invocation of this argument appends the given value to the array.
  • restricted-categories=78
    • All restricted categories for the ads that may be shown from this snippet. Each category is represented by an integer as defined in the ad-restricted-categories.txt.
    • Each invocation of this argument appends the given value to the array.
  • sensitive-categories=42
    • Detected sensitive categories, if any. Each category is represented by an integer as defined in ad-sensitive-categories.txt. Read-only. This field should not be set in requests.
    • Each invocation of this argument appends the given value to the array.
  • vendor-type=55
    • List of vendor types for the ads that may be shown from this snippet. Each vendor type is represented by an integer as defined in vendors.txt.
    • Each invocation of this argument appends the given value to the array.
  • version=73
    • The version for this creative. Read-only. This field should not be set in requests.
  • video-url=et
    • The URL to fetch a video ad. If set, HTMLSnippet, videoVastXML, and nativeAd should not be set. Note, this is different from resource.native_ad.video_url above.
  • video-vast-xml=erat
    • The contents of a VAST document for a video ad. This document should conform to the VAST 2.0 or 3.0 standard. If set, HTMLSnippet, videoURL, and nativeAd and should not be set.
  • width=5
    • Ad width.

About Cursors

The cursor position is key to comfortably set complex nested structures. The following rules apply:

  • The cursor position is always set relative to the current one, unless the field name starts with the . character. Fields can be nested such as in -r f.s.o .
  • The cursor position is set relative to the top-level structure if it starts with ., e.g. -r .s.s
  • You can also set nested fields without setting the cursor explicitly. For example, to set a value relative to the current cursor position, you would specify -r struct.sub_struct=bar.
  • You can move the cursor one level up by using ... Each additional . moves it up one additional level. E.g. ... would go three levels up.

Optional Output Flags

The method's return value a JSON encoded structure, which will be written to standard output by default.

  • -o out
    • out specifies the destination to which to write the server's result to. It will be a JSON-encoded structure. The destination may be - to indicate standard output, or a filepath that is to contain the received bytes. If unset, it defaults to standard output.

Optional General Properties

The following properties can configure any call, and are not specific to this method.

  • -p alt=string

    • Data format for the response.
  • -p fields=string

    • Selector specifying which fields to include in a partial response.
  • -p key=string

    • API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
  • -p oauth-token=string

    • OAuth 2.0 token for the current user.
  • -p pretty-print=boolean

    • Returns response with indentations and line breaks.
  • -p quota-user=string

    • An opaque string that represents a user for quota purposes. Must not exceed 40 characters.
  • -p user-ip=string

    • Deprecated. Please use quotaUser instead.