Creates a new campaign. Returns the newly created campaign if successful.

Scopes

You will need authorization for at least one of the following scopes to make a valid call:

  • https://www.googleapis.com/auth/display-video
  • https://www.googleapis.com/auth/display-video-mediaplanning

If unset, the scope for this method defaults to https://www.googleapis.com/auth/display-video. You can set the scope for this method like this: displayvideo1 --scope <scope> advertisers campaigns-create ...

Required Scalar Argument

  • <advertiser-id> (string)
    • Output only. The unique ID of the advertiser the campaign belongs to.

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:

Campaign:
  advertiser-id: string
  campaign-flight:
    planned-dates:
      end-date:
        day: integer
        month: integer
        year: integer
      start-date:
        day: integer
        month: integer
        year: integer
    planned-spend-amount-micros: string
  campaign-goal:
    campaign-goal-type: string
    performance-goal:
      performance-goal-amount-micros: string
      performance-goal-percentage-micros: string
      performance-goal-string: string
      performance-goal-type: string
  campaign-id: string
  display-name: string
  entity-status: string
  frequency-cap:
    max-impressions: integer
    time-unit: string
    time-unit-count: integer
    unlimited: boolean
  name: string
  update-time: string

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 . advertiser-id=magna
    • Output only. The unique ID of the advertiser the campaign belongs to.
  • campaign-flight.planned-dates.end-date day=90
    • Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.
  • month=46
    • Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
  • year=73

    • Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
  • ..start-date day=74

    • Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.
  • month=93
    • Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
  • year=21

    • Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
  • ... planned-spend-amount-micros=amet.

    • The amount the campaign is expected to spend for its given planned_dates. This will not limit serving, but will be used for tracking spend in the DV360 UI. The amount is in micros. Must be greater than or equal to 0. For example, 500000000 represents 500 standard units of the currency.
  • ..campaign-goal campaign-goal-type=takimata

    • Required. The type of the campaign goal.
  • performance-goal performance-goal-amount-micros=amet.
    • The goal amount, in micros of the advertiser's currency. Applicable when performance_goal_type is one of: * PERFORMANCE_GOAL_TYPE_CPM * PERFORMANCE_GOAL_TYPE_CPC * PERFORMANCE_GOAL_TYPE_CPA * PERFORMANCE_GOAL_TYPE_CPIAVC * PERFORMANCE_GOAL_TYPE_VCPM For example 1500000 represents 1.5 standard units of the currency.
  • performance-goal-percentage-micros=duo
    • The decimal representation of the goal percentage in micros. Applicable when performance_goal_type is one of: * PERFORMANCE_GOAL_TYPE_CTR * PERFORMANCE_GOAL_TYPE_VIEWABILITY * PERFORMANCE_GOAL_TYPE_CLICK_CVR * PERFORMANCE_GOAL_TYPE_IMPRESSION_CVR * PERFORMANCE_GOAL_TYPE_VTR * PERFORMANCE_GOAL_TYPE_AUDIO_COMPLETION_RATE * PERFORMANCE_GOAL_TYPE_VIDEO_COMPLETION_RATE For example, 70000 represents 7% (decimal 0.07).
  • performance-goal-string=ipsum
    • A key performance indicator (KPI) string, which can be empty. Must be UTF-8 encoded with a length of no more than 100 characters. Applicable when performance_goal_type is set to PERFORMANCE_GOAL_TYPE_OTHER.
  • performance-goal-type=gubergren

    • Required. The type of the performance goal.
  • ... campaign-id=lorem

    • Output only. The unique ID of the campaign. Assigned by the system.
  • display-name=gubergren
    • Required. The display name of the campaign. Must be UTF-8 encoded with a maximum size of 240 bytes.
  • entity-status=eos
    • Required. Controls whether or not the insertion orders under this campaign can spend their budgets and bid on inventory. * Accepted values are ENTITY_STATUS_ACTIVE, ENTITY_STATUS_ARCHIVED, and ENTITY_STATUS_PAUSED. * For CreateCampaign method, ENTITY_STATUS_ARCHIVED is not allowed.
  • frequency-cap max-impressions=97
    • The maximum number of times a user may be shown the same ad during this period. Must be greater than 0. Required when unlimited is false and max_views is not set.
  • time-unit=ea
    • The time unit in which the frequency cap will be applied. Required when unlimited is false.
  • time-unit-count=46
    • The number of time_unit the frequency cap will last. Required when unlimited is false. The following restrictions apply based on the value of time_unit: * TIME_UNIT_LIFETIME - this field is output only and will default to 1 * TIME_UNIT_MONTHS - must be between 1 and 2 * TIME_UNIT_WEEKS - must be between 1 and 4 * TIME_UNIT_DAYS - must be between 1 and 6 * TIME_UNIT_HOURS - must be between 1 and 23 * TIME_UNIT_MINUTES - must be between 1 and 59
  • unlimited=false

    • Whether unlimited frequency capping is applied. When this field is set to true, the remaining frequency cap fields are not applicable.
  • .. name=amet

    • Output only. The resource name of the campaign.
  • update-time=duo
    • Output only. The timestamp when the campaign was last updated. Assigned by the system.

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 $-xgafv=string

    • V1 error format.
  • -p access-token=string

    • OAuth access token.
  • -p alt=string

    • Data format for response.
  • -p callback=string

    • JSONP
  • -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

    • Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
  • -p upload-type=string

    • Legacy upload protocol for media (e.g. "media", "multipart").
  • -p upload-protocol=string

    • Upload protocol for media (e.g. "raw", "multipart").