Lines

Line budgets, bidding, and billing are tied together in support of a line goal. The line optimizes bidding towards an objective. But line goals are always always constrained by media, budget, and billing configurations that define that line.

Overview

In Verizon Media DSP, a line is subcomponent of a campaign that specifies an advertising strategy. Every line is defined by one or more ads, a goal type, and a set of budgetary and targeting parameters.

As a best practice, each line item should represent a distinct targeting strategy. Using lines, a campaign can independently target diverse exchanges, deals, locations, demographics, ad positions, frequency, audiences, devices, days of the week, apps, URLs, page relevancy, mobile carriers, and languages.

Although budgets and targeting can be specified at both the campaign and line level, flight dates, frequency caps, and budgets specified at the campaign level override line-level configurations.

Endpoint

/traffic/lines

The action taken depends on the HTTP method and the parameters specified.

  • Use the GET method to read an existing line.

  • Use the POST method to create a new line.

  • Use the PUT method to update an existing line.

Resources

The platform provides the following resources for managing and tracking lines:

  • lines

  • schedules

  • feeList

  • conversionList

Line Object

The Line object contains the following fields:

Field

Description

Data Type

Create

Update

id

Specifies the line ID.

integer

N/A

Required

name

Specifies the unique name of the line.

string

Required

Optional

orderId

Specifies the campaign ID.

To learn more, see Campaigns.

integer

Required

Optional

mediaType

Specifies the the media type served by the line.

Allowed values:

  • DISPLAY: To run an image ad, create a display line item within a campaign.

  • VIDEO: To run a video ad, create a video line item within a campaign.

  • AUDIO: To run a audio ad, create an audio line item within a campaign.

1

Once the line is created, this value cannot be changed.

string

Required

N/A 1

status

Specifies the current status of the line.

Allowed values:

  • ACTIVE: Active/running

  • PAUSED: Just ended

  • INACTIVE: Inactive/ended

The following status types are read-only:

  • STOP_TOTAL_BUDGET: Total budget reached

  • STOP_DAILY_BUDGET: Daily budget reached

  • NOT_STARTED: Not started yet

  • ENDED: Ended

  • ERROR: Error

string

Required

Optional

goalType

Specifies the goal type the platform will use to optimize line performance.

Different goal types are available depending on the mediaType specified.

Display Line

  • NONE: This is the default option. With this goal type, Verizon Media DSP does not factor in a goal when it bids on impressions.

  • CPI: Establish a cost per installation goal by specifying the target CPI (goalAmount), Max CPM (bidPrice) amounts and at least one conversion rule.

  • CPC: Establish a cost per click goal by specifying the target CPC (goalAmount) and Max CPM (bidPrice) amounts.

  • CPA: Establish a cost per action goal by specifying the Target CPA (goalAmount) and Max CPM (bidPrice) amounts and at least one conversion rule.

  • VCPM: Establish a viewable CPM goal by specifying the target VCPM (goalAmount) and Max CPM (bidPrice) amounts.

  • ROAS: Establish a return on ad spend goal by specifying the Max ROAS (maxGoal) and Max CPM (bidPrice) amounts and at least one conversion rule.

  • MAXINVIEWRATE: Maximize Viewability: Establish a soft goal to maximize viewability by specifying the Max CPM (bidPrice) amount.

  • OCPC: (Fixed CPM billing only, i.e. when billingMethodType is CPM_PRICE) Establish an optimized CPC goal by specifying the target CPC (goalAmount) and profit margin percentage (marginGoal).

Video Line

  • NONE: This is the default option. With this goal type, Verizon Media DSP does not factor in a goal when it bids on impressions.

  • CPI: Establish a cost per installation goal by specifying the target CPI (goalAmount), Max CPM (bidPrice) amounts and at least one conversion rule.

  • CPC: Establish a cost per click goal by specifying the target CPC (goalAmount) and Max CPM (bidPrice) amounts.

  • CPCV: Establish a cost per single completed view goal by specifying the Target CPCV (goalAmount), Max CPM (bidPrice) amounts. When billingMethodType is CPM_PRICE, additionally specify Max CPCV (maxGoal) amount.

  • VCPM: Establish a viewable CPM goal for oCPM and Fixed CPM-billed lines by specifying the target VCPM (goalAmount) and Max CPM (bidPrice) amounts.

  • MAXCOMPLETIONRATE: Maximize Completion Rate: This is a soft optimization feature that helps improve the video completion rate over time without sacrificing impression delivery. For this goal type, specify the CPM (bidPrice) amount.

  • MAXCTR: Maximize CTR: This is a soft optimization feature that helps improve the click-through rate (CTR) over time without sacrificing impression delivery. For this goal type, specify the CPM (bidPrice) amount.

  • MAXINVIEWRATE: Maximize Viewability: This is a soft optimization feature that helps improve the video viewability as defined by third-party measurement provider Moat.

    A viewable video impression requires that 50% of video ad pixels are active and in the viewable portion of the viewer’s browser for two consecutive seconds. For this goal type, specify the CPM (bidPrice) amount.

  • COMPLETION_HARD_THRESHOLD: Specify Max CPM (bidPrice) amount and the completionThreshold percentage. (This goal type requires special role).

Audio Line

  • NONE: This is the default option. With this goal type, the DSP does not factor in a goal when it bids on impressions.

  • ECPM: Establish a CPM goal by specifying the target ECPM (goalAmount) and Max ECPM (bidPrice) amounts.

string

Required

Optional

goalModeType

Specifies the goal mode. The goal mode determines whether the optimizes for line delivery or line performance.

Allowed values:

  • SOFT: maximizes line performance while meeting line delivery objectives (spending the line’s total budget).

  • HARD: optimizes line delivery while matching or exceeding the specified target CPC goal.

2

Only valid when billingMethodType is MARGIN and when goalType is any of the following: CPC, CPA, VCPM, CPI. When not specified, defaults to SOFT for goal types CPC, VCPM and CPA or HARD for goal type CPI.

string

Optional 2

Optional

goalAmount

Specifies the target amount for certain goal types.

3

Required when goalType is CPC, CPA, VCPM, CPI or CPCV.

number

Required 3

Optional

bidPrice

Specifies the maximum bid price (Maximum CPM Price) allowed for certain goal types.

number

Required

Optional

maxGoal

Specifies the maximum goal price.

4

Required when goalType is ROAS or CPCV.

number

Required 4

Optional

marginGoal

Specifies the margin percentage.

5

Required when goalType is OCPC.

number

Required 5

Optional

isNativeEnabled

Specifies if the line can serve native ads. Native ads are not supported at this time for video lines.

  • true: enable native ad support.

  • false: disable native ad support.

6

Once the line is created, this value cannot be changed. If not specified when creating the line, defaults to false.

boolean

Optional 6

N/A 7

pacingModeType

Specifies the pacing mode.

Allowed values:

  • EVEN: Spread the line budget evenly. If your daily budget is Auto Allocated, Verizon Media DSP spreads the total budget evenly over the line’s flight dates. If your daily budget is a Specified Amount, Verizon Media DSP spreads the specified daily budget evenly throughout the day.

  • ASAP: Bid on every impression opportunity that meets the line’s targeting criteria. If your daily budget is Auto Allocated, Verizon Media DSP delivers ASAP until all remaining budget is consumed. If your daily budget is a Specified Amount, Verizon Media DSP delivers ASAP until the specified amount is consumed.

  • PACE_AHEAD: Provides greater control over how line budgets are allocated during a flight by enabling you to over-pace daily budgets. If the daily budget is user-specified, the line will over-pace the daily budget every day until the total budget is consumed. The amount over-spent is determined by the pacingAcceleration specified. If the line’s daily budget is auto-allocated, the line’s spend rate is dynamically determined based on the line’s remaining total budget, the remaining days in the flight, and the line’s pacingAcceleration.

7

If not specified when creating the line, defaults to EVEN.

string

Optional

Optional 8

pacingAcceleration

Specifies the percentage over the daily budget that the line may spend per day.

Ahead pacing is the product of the even pacing value multiplied by the pacing acceleration value: (remaining budget/remaining days) * pacing acceleration value.

8

Required if the value of pacingModeType is PACE_AHEAD.

integer

Required 9

Optional 10

appMarketingObjective

Defines the objective of the app marketing line. It can be set for a line with CPI goal type.

Allowed values:

  • APP_INSTALL: Dynamic suppression will suppress device ids that already have the app.

  • POST_INSTALL: Dynamic suppression is not done for the post-install objective.

  • RE_ENGAGEMENT: Dynamic suppression will be able to target the device ids that already have the app.

9

Required when goalType is CPI.

string

Optional 11

Optional 12

appUrl

The URL of the app that line is running for. It should be Google app URL if the line is targeting Android devices and Apple store app URL if the line is targeting IOS devices.

Example values: https://play.google.com/store/apps/details?id=com.espn.score_center&hl=en_US, https://apps.apple.com/pe/app/instagram/id389801252

10

Required when goalType is CPI.

string

Optional 13

Optional 14

appLocale

The region (country) of the Google play store or Apple app store where the app is uploaded.

Allowed values:

  • en-us: United States

  • es-pr: Puerto Rico

  • es-cr: Costa Rica

  • es-pe: Peru

  • ja-jp: Japan

  • en-sg: Singapore

  • es-mx: Mexico

  • en-ca: Canada

  • zh-tw: Taiwan

  • en-hk: Hong Kong

  • en-in: India

  • pt-br: Brazil

  • ko-kr: South Korea

  • es-co: Colombia

  • vi-vn: Vietnam

  • en-nz: New Zealand

  • es-cl: Chile

  • zh-cn: China

  • en-za: South Africa

  • th-th: Thailand

  • id-id: Indonesia

  • en-au: Australia

  • ms-my: Malaysia

  • es-ar: Argentina

  • en-ph: Philippines

  • fr-fr: France

  • en-gb: United Kingdom

  • de-de: Germany

  • it-it: Italy

  • es-es: Spain

  • fr-ca: Canada (French)

  • es-us: United States (Spanish)

  • sv-se: Sweden

  • el-gr: Greece

  • fr-ch: Switzerland

11

Required when goalType is CPI.

string

Optional 15

Optional 16

appId

The app ID is generated based on the appUrl and appLocale provided.

Example values: com.espn.score_center, 389801252

string

N/A

N/A

budgetType

Specifies whether the line uses impression-based budgeting or budgeting based on US dollars for the line.

Allowed values:

  • CURRENCY: Budget based on US Dollars.

  • IMPRESSION: Budget based on impressions. Impression-based budgeting enables you to control the number of impressions a line delivers, and respects the line’s Max CPM price, daily pacing, optimization goals, and targeting options.

string

Optional

Optional

billingMethodType

Specifies the billing method.

Allowed values:

  • CPM_PRICE: With Fixed CPM billing, you pay a fixed price per thousand impressions.

  • CPC: With Fixed CPC billing, you pay a fixed price per click.

  • MARGIN: (oCPM) With oCPM billing, Verizon Media DSP predicts the probability that events (such as clicks, conversions, video completions, or impressions) will occur.

  • CPCV: (Video Line only) Cost Per Completed View for video. With CPCV billing, you only pay for completed video views. Note: If you choose CPCV, you must set pacingMode to EVEN and you can only set goalType to either CPCV or NONE.

string

Required

Optional

billingPrice

Specifies the amount paid based on the specified billingMethodType.

  • When billingMethodType is MARGIN (oCPM), specifies the profit margin percentage.

  • When billingMethodType is CPCV, this field represents the amount you want to pay for each completed video view.

  • When billingMethodType is CPM_PRICE, this field represents the amount you want to pay per thousand impressions.

  • When billingMethodType is CPC, this field represents the amount you want to pay for each click.

number

Optional

Optional

marginType

Specifies how the margin is calculated.

Allowed values:

  • TOTAL_BUDGET: Margin is calculated as a percentage of advertiser spend, which includes all costs (inventory, Verizon Media fees, and variable costs).

  • BUYER_COST: Margin is calculated as a percentage of the buyer cost where buyer cost = inventory cost + Oath fees. This option excludes all variable costs.

Note: This is available to self-serve accounts only.

string

Required

Optional

completionThreshold

Specifies the completion threshold percentage.

12

Required when goalType is COMPLETION_HARD_THRESHOLD.

integer

Required 17

Optional

schedules

Specifies either a single budget schedule or multiple budget schedules.

To learn more, see Schedules Object. Note: Multiple schedules are supported only when budgetType is CURRENCY.

object

Required

Optional

feeList

Track external costs such as ad serving, measurement, and brand safety costs. To help you better manage your margins, you can add up to six variable CPM costs to each line for tracking purposes.

To learn more, see FeeList Object.

Note: This is available to self-serve accounts only.

object

Optional

Optional

conversionList

Verizon Media DSP can optimize a line with multiple conversion rules when you establish conversion values.

To learn more, see ConversionList Object.

object

Optional

Optional

bidMultiplierCap

A bid multiplier is a targeting-specific configuration that specifies the relative weight that should be given to targeted ad placement opportunities.

To learn more, see Bid Multiplier Cap Object.

object

N/A

N/A

Schedules Object

The schedules object contains the following fields:

Field

Description

Data Type

Create

Update

id

Specifies ID of the budget schedule.

integer

N/A

N/A

name

Specifies the name of the schedule.

13

Required when specifiying multiple schedules.

string

Required [#]_

Optional

startDateStr

Specifies the start date of the line in the yyyy-MM-dd format.

string

Required

Required

endDateStr

Specifies the end date of the line in the yyyy-MM-dd format.

string

Required

Required

budget

Specifies the total budget of the line.

14

Required when the budgetType is CURRENCY.

number

Required [#]_

Optional

dailyBudget

Specifies the daily budget amount.

15

Required when the budgetType is CURRENCY and dailyBudgetType is SPECIFIED_AMOUNT.

number

Required [#]_

Optional

impBudget

Specifies the total number of impressions bought.

16

Required when budgetType is IMPRESSION.

integer

Required [#]_

Optional [#]_

impDailyBudget

Specifies the total number of impressions bought per day.

17

Required when budgetType is IMPRESSION.

number

Required [#]_

Optional [#]_

dailyBudgetType

Specifies the daily budget type.

Allowed values:

  • SPECIFIED_AMOUNT: Specify a daily spend cap for the line during the schedule period.

  • AUTO_ALLOCATED: Allocation based on the overall budget and the number of days left in the schedule.

string

Required

Optional

FeeList Object

Note

This feature is only available for self-serve accounts.

The feeList object contains the following fields:

Field

Description

Data Type

Create

Update

id

Specifies the line fee ID.

integer

N/A

Required

name

Specifies a user-defined name.

string

Required

Optional

fee

Specifies the CPM amount: the amount you must pay per thousand impressions.

number

Required

Optional

typeName

Specifies the variable cost type.

Allowed values:

  • AD_SERVING: Track external ad serving cost.

  • AD_VERIFICATION: Track external ad verification cost.

  • AUDIENCE_MEASUREMENT: Track external ad measurement cost.

  • BRAND_SAFETY: Track external brand safety cost.

  • VIEWABILITY: Track external viewability cost.

  • OTHER: Any additional external cost.

Note: Once a variable cost is created, it’s type cannot be changed.

string

Required

N/A

ConversionList Object

Verizon Media DSP can optimize a line with multiple conversion rules when you establish conversion values.

To obtain the available conversions, see Read Advertiser Beacon Lookups.

Each entry in the conversionList object contains the following fields:

Field

Description

Data Type

Create

Update

id

Specifies the conversion pixel ID.

integer

N/A

Required

name

Name of the conversion pixel. The name can not be specified or changed.

string

N/A

N/A

beaconId

Specifies the conversion pixel ID.

integer

Required

Required

lineId

Specifies the line ID.

Note: When updating an existing conversion, setting this field to 0 will remove the conversion.

integer

Optional

Required

acceptViewThrough

Specifies whether a view through is accepted.

boolean

Required

Optional

clickWindow

Specifies the amount of time after a click that the conversion is tracked.

integer

Required

Optional

clickWindowUnitType

Specifies the click window unit type.

Allowed values:

  • DAY: If specified, clickWindow can have minimum value of 1 and maximum value of 45.

  • HOUR: If specified, clickWindow can have minimum value of 1 and maximum value of 48.

  • MINUTE: If specified, clickWindow can have minimum value of 1 and maximum value of 240.

string

Required

Optional

viewWindow

Specfiies the time after the impression that conversion is tracked.

integer

Required

Optional

viewWindowUnitType

Specifies the unit type of the view window.

Allowed values:

  • DAY: If specified, viewWindow can have minimum value of 1 and maximum value of 45.

  • HOUR: If specified, viewWindow can have minimum value of 1 and maximum value of 48.

  • MINUTE: If specified, viewWindow can have minimum value of 1 and maximum value of 240.

string

Required

Optional

viewBeaconValueDiscount

Specifies the discount value percentage. If no value is specified, defaults to 0.

number

Optional

Optional

beaconValuePc

Specifies the value of each conversion.

number

Required

Optional

Bid Multiplier Cap Object

The bidMultiplierCap object contains the following fields:

Field

Description

Data Type

Create

Update

multiplierCap

The current bid multiplier cap for the line.

number

N/A

N/A

Read Line

Get data for a specific line.

GET /traffic/lines/{id}

Parameters

Parameters

Parameter Type

Description

Data Type

Required

id

path

Specifies the line ID.

integer

Y

Example Request URL

GET https://dspapi.admanagerplus.yahoo.com/traffic/lines/630162

Example Response

{
  "response": {
    "id": 630162,
    "name": "display-line-multi-budget-15",
    "orderId": 462137,
    "bidPrice": 1,
    "goalAmount": 1.34,
    "maxGoal": 1.34,
    "marginGoal": 25,
    "billingPrice": 1,
    "completionThreshold": 0,
    "isNativeEnabled": false,
    "status": "PAUSED",
    "pacingModeType": "EVEN",
    "mediaType": "DISPLAY",
    "goalModeType": "SOFT",
    "goalType": "CPC",
    "billingMethodType": "MARGIN",
    "marginType": "TOTAL_BUDGET",
    "budgetType": "CURRENCY",
    "schedules": [
      {
        "id": 1307654,
        "name": "s2",
        "budget": 2000,
        "startDateStr": "2020-09-29T05:00:00Z",
        "endDateStr": "2020-12-29T05:59:59Z",
        "dailyBudgetType": "AUTO_ALLOCATED"
      },
      {
        "id": 1307653,
        "name": "s1",
        "budget": 1000,
        "dailyBudget": 150,
        "startDateStr": "2020-08-11T05:00:00Z",
        "endDateStr": "2020-09-29T04:59:59Z",
        "dailyBudgetType": "SPECIFIED_AMOUNT"
      }
    ],
    "feeList": [
      {
        "id": 12584,
        "name": "amc",
        "fee": 0.86,
        "typeName": "AD_SERVING"
      }
    ],
    "conversionList": [
      {
        "id": 7386,
        "lineId": 630162,
        "beaconId": 15776560,
        "acceptViewThrough": true,
        "clickWindow": 4,
        "viewWindow": 2,
        "name": "test rule 1",
        "viewBeaconValueDiscount": 0,
        "beaconValuePc": 1.05,
        "clickWindowUnitType": "DAY",
        "viewWindowUnitType": "HOUR"
      }
    ]
  },
  "errors": null,
  "timeStamp": "2020-07-14T02:03:50.037Z"
}

Read Lines

Get a filtered list of lines.

GET /traffic/lines?orderId={orderId}&query={query}&page={page}&limit={limit}&sort={sort}&dir={dir}

All of the accepted parameters are query parameters.

Parameters

Parameter

Description

Data Type

Required

orderId

Specifies the campaign ID.

integer

Y

query

Specifies the search term.

Use URL encoding conventions (i.e. a space should be replaced with a + or %20).

string

N

page

Specifies the page number.

integer

N

limit

Specifies the total number of items to return. Maximum allowed value is 100.

integer

N

sort

Specifies the column to sort by.

string

N

dir

Specifies the sort direction. Allowed values:

  • ASC: data is sorted in ascending order.

  • DESC: data is sorted in decending order.

string

N

Example Request URL

GET https://dspapi.admanagerplus.yahoo.com/traffic/lines?orderId=462137&limit=2&sort=id&dir=desc&seatId=2

Example Response

{
  "response": [
    {
      "id": 630162,
      "name": "display-line-multi-budget-15",
      "orderId": 462137,
      "bidPrice": 1,
      "goalAmount": 1.34,
      "maxGoal": 1.34,
      "marginGoal": 25,
      "billingPrice": 1,
      "completionThreshold": 0,
      "isNativeEnabled": false,
      "status": "PAUSED",
      "pacingModeType": "EVEN",
      "mediaType": "DISPLAY",
      "goalModeType": "SOFT",
      "goalType": "CPC",
      "billingMethodType": "MARGIN",
      "marginType": "TOTAL_BUDGET",
      "budgetType": "CURRENCY",
      "schedules": [
        {
          "id": 1307654,
          "name": "s2",
          "budget": 2000,
          "startDateStr": "2020-09-29T05:00:00Z",
          "endDateStr": "2020-12-29T05:59:59Z",
          "dailyBudgetType": "AUTO_ALLOCATED"
        },
        {
          "id": 1307653,
          "name": "s1",
          "budget": 1000,
          "dailyBudget": 150,
          "startDateStr": "2020-08-11T05:00:00Z",
          "endDateStr": "2020-09-29T04:59:59Z",
          "dailyBudgetType": "SPECIFIED_AMOUNT"
        }
      ],
      "feeList": [
        {
          "id": 12584,
          "name": "amc",
          "fee": 0.86,
          "typeName": "AD_SERVING"
        }
      ],
      "conversionList": [
        {
          "id": 7386,
          "lineId": 630162,
          "beaconId": 15776560,
          "acceptViewThrough": true,
          "clickWindow": 4,
          "viewWindow": 2,
          "name": "test rule 1",
          "viewBeaconValueDiscount": 0,
          "beaconValuePc": 1.05,
          "clickWindowUnitType": "DAY",
          "viewWindowUnitType": "HOUR"
        }
      ]
    },
    {
      "id": 630161,
      "name": "display-line-multi-budget-12",
      "orderId": 462137,
      "bidPrice": 1,
      "goalAmount": 1.34,
      "maxGoal": 1.34,
      "marginGoal": 25,
      "billingPrice": 1,
      "completionThreshold": 0,
      "isNativeEnabled": false,
      "status": "PAUSED",
      "pacingModeType": "EVEN",
      "mediaType": "DISPLAY",
      "goalModeType": "SOFT",
      "goalType": "CPC",
      "billingMethodType": "MARGIN",
      "marginType": "TOTAL_BUDGET",
      "budgetType": "CURRENCY",
      "schedules": [
        {
          "id": 1307652,
          "name": "s2",
          "budget": 2000,
          "startDateStr": "2020-09-29T05:00:00Z",
          "endDateStr": "2020-12-29T05:59:59Z",
          "dailyBudgetType": "AUTO_ALLOCATED"
        },
        {
          "id": 1307651,
          "name": "s1",
          "budget": 1000,
          "dailyBudget": 150,
          "startDateStr": "2020-08-11T05:00:00Z",
          "endDateStr": "2020-09-29T04:59:59Z",
          "dailyBudgetType": "SPECIFIED_AMOUNT"
        }
      ],
      "feeList": [],
      "conversionList": []
    }
  ],
  "errors": null,
  "timeStamp": "2020-07-14T02:28:12.227Z"
}

Create Line

Create a new line.

POST /traffic/lines/
  • To create a display line, specify DISPLAY as the line’s mediaType value.

  • To create a video line, specify VIDEO as the line’s mediaType value.

  • To create an audio line, specify AUDIO as the line’s mediaType value.

Parameters

All fields are specified in the body of application/json payload.

Example Request URL

POST https://dspapi.admanagerplus.yahoo.com/traffic/lines

Example: Create (Margin) oCPM Display Line

To create a DISPLAY line with MARGIN (oCPM) billing type, refer to the table and payload below.

Field

Value

Type

mediaType

DISPLAY

string

billingMethodType

MARGIN

string

billingPrice

Desired % profit margin

number

Example Request Body

{
  "name": "display-line-ocpm-1",
  "orderId": 462137,
  "status": "PAUSED",
  "mediaType": "DISPLAY",
  "pacingModeType": "EVEN",
  "budgetType": "CURRENCY",
  "goalType": "CPC",
  "billingMethodType": "MARGIN",
  "billingPrice": 2,
  "marginType": "TOTAL_BUDGET",
  "bidPrice": 1,
  "maxGoal": 1,
  "marginGoal": 25,
  "goalAmount": 1,
  "isNativeEnabled": false,
  "completionThreshold": 0,
  "schedules": [
    {
      "startDateStr": "2020-09-29",
      "endDateStr": "2020-12-28",
      "budget": 2000,
      "dailyBudgetType": "AUTO_ALLOCATED"
    }
  ]
}

Example: Create oCPC Display Line

To create a DISPLAY line with oCPC goal type, refer to the table and payload below.

Field

Value

Type

mediaType

DISPLAY

string

billingMethodType

CPM_PRICE

string

goalType

OCPC

string

goalAmount

Target CPC

number

marginGoal

Profit Margin Goal %

number

Example Request Body

{
  "name": "display-line-ocpc-1",
  "orderId": 462137,
  "mediaType": "DISPLAY",
  "billingMethodType": "CPM_PRICE",
  "billingPrice": 1,
  "marginType": "TOTAL_BUDGET",
  "bidPrice": 1,
  "goalType": "OCPC",
  "maxGoal": 1.1,
  "marginGoal": 25,
  "status": "ACTIVE",
  "goalAmount": 1.1,
  "pacingModeType": "EVEN",
  "isNativeEnabled": false,
  "completionThreshold": 0,
  "schedules": [
    {
      "startDateStr": "2020-08-11",
      "endDateStr": "2020-09-28",
      "budget": 1000,
      "dailyBudget": 150,
      "dailyBudgetType": "SPECIFIED_AMOUNT"
    }
  ]
}

Example: Create CPCV Video Line

To create a VIDEO line with CPCV billing and goal, refer to the table and payload below.

Field

Value

Type

mediaType

VIDEO

string

billingMethodType

CPCV

string

goalType

CPCV

string

billingPrice

Amount you want to pay for each completed video view

number

bidPrice

Max CPM price

number

goalAmount

Target CPCV

number

pacingMode

EVEN

string

maxGoal

Maximum goal price

number

Example Request Body

{
  "name": "video-line-cpcv-single-budget-1",
  "orderId": 462137,
  "status": "ACTIVE",
  "mediaType": "VIDEO",
  "pacingModeType": "EVEN",
  "budgetType": "CURRENCY",
  "goalType": "CPCV",
  "billingMethodType": "CPCV",
  "billingPrice": 1,
  "marginType": "TOTAL_BUDGET",
  "bidPrice": 1,
  "maxGoal": 1,
  "marginGoal": 25,
  "goalAmount": 1,
  "isNativeEnabled": false,
  "completionThreshold": 0,
  "schedules": [
    {
      "startDateStr": "2020-08-11",
      "endDateStr": "2021-01-28",
      "budget": 1000,
      "dailyBudget": 150,
      "dailyBudgetType": "SPECIFIED_AMOUNT"
    }
  ]
}

Example: Create Line with Currency Daily Budget & Single Schedule

To create a DISPLAY line with a specified daily budget and a single budget schedule, refer to the table and payload below.

Field

Value

Type

mediaType

DISPLAY

string

budgetType

CURRENCY

string

goalType

CPC

string

goalAmount

Target CPC

number

marginGoal

Profit Margin Goal %

number

Example Request Body

{
  "name": "display-line-single-budget-1",
  "orderId": 462137,
  "status": "PAUSED",
  "mediaType": "DISPLAY",
  "budgetType": "CURRENCY",
  "goalType": "CPC",
  "billingMethodType": "MARGIN",
  "billingPrice": 1,
  "marginType": "TOTAL_BUDGET",
  "pacingModeType": "EVEN",
  "bidPrice": 1,
  "marginGoal": 25,
  "goalAmount": 1.34,
  "isNativeEnabled": false,
  "completionThreshold": 0,
  "schedules": [
    {
      "startDateStr": "2020-08-11",
      "endDateStr": "2021-01-28",
      "budget": 1000,
      "dailyBudget": 150,
      "dailyBudgetType": "SPECIFIED_AMOUNT"
    }
  ],
  "conversionList": [
    {
      "beaconId": 15776560,
      "acceptViewThrough": true,
      "clickWindow": 4,
      "viewWindow": 2,
      "viewBeaconValueDiscount": 0,
      "beaconValuePc": 1.05,
      "clickWindowUnitType": "DAY",
      "viewWindowUnitType": "HOUR"
    }
  ],
  "feeList": [
    {
      "typeName": "AD_SERVING",
      "name": "amc",
      "fee": 0.86
    }
  ]
}

Example: Create Impression Budget Video Line

To create a VIDEO line with auto allocated Impression-based budget, refer to the table and payload below.

Field

Value

Type

mediaType

VIDEO

string

billingMethodType

CPM_PRICE

string

billingPrice

Amount you want to pay for each 1000 impressions

number

schedules.impBudget

Total number of impressions you plan to buy

integer

schedules.dailyBudgetType

AUTO_ALLOCATED

string

Example Request Body

{
  "name": "video-line-single-budget-imp-6",
  "orderId": 462137,
  "bidPrice": 9,
  "marginGoal": 25,
  "billingPrice": 9,
  "isNativeEnabled": false,
  "completionThreshold": 60,
  "pacingAcceleration": 0,
  "status": "ACTIVE",
  "pacingModeType": "EVEN",
  "mediaType": "VIDEO",
  "goalType": "COMPLETION_HARD_THRESHOLD",
  "goalAmount": 1.1,
  "maxGoal": 1.15,
  "budgetType": "IMPRESSION",
  "billingMethodType": "CPM_PRICE",
  "marginType": "TOTAL_BUDGET",
  "schedules": [
    {
      "startDateStr": "2020-08-11",
      "endDateStr": "2021-01-28",
      "impBudget": 7111,
      "dailyBudgetType": "AUTO_ALLOCATED"
    }
  ]
}

Example: Create Multiple Budget Line

To create a line with multiple budgets, refer to the payload below.

Example Request Body

{
  "name": "display-line-multi-budget-1",
  "orderId": 462137,
  "status": "PAUSED",
  "mediaType": "DISPLAY",
  "budgetType": "CURRENCY",
  "goalType": "CPC",
  "billingMethodType": "MARGIN",
  "billingPrice": 1,
  "marginType": "TOTAL_BUDGET",
  "pacingModeType": "EVEN",
  "bidPrice": 1,
  "marginGoal": 25,
  "goalAmount": 1.34,
  "isNativeEnabled": false,
  "completionThreshold": 0,
  "schedules": [
    {
      "name": "s1",
      "startDateStr": "2020-08-11",
      "endDateStr": "2020-09-28",
      "budget": 1000,
      "dailyBudget": 150,
      "dailyBudgetType": "SPECIFIED_AMOUNT"
    },
    {
      "name": "s2",
      "startDateStr": "2020-09-29",
      "endDateStr": "2020-12-28",
      "budget": 2000,
      "dailyBudgetType": "AUTO_ALLOCATED"
    }
  ]
}

Example: Create Line with AppMarketing Objective

To create a line with CPI goal and app marketing objective, refer to the table and payload below. Note that at least one conversion pixel is required when goal type is CPI.

Field

Value

Type

appMarketingObjective

RE_ENGAGEMENT

string

appUrl

App URL

string

appLocale

en-us

string

conversionList

Conversion pixel

array

Example Request Body

{
  "name": "test-video5599",
  "orderId": 312515,
  "status": "ACTIVE",
  "mediaType": "VIDEO",
  "pacingModeType": "EVEN",
  "budgetType": "CURRENCY",
  "goalType": "CPI",
  "billingMethodType": "CPCV",
  "dailyBudgetType": "SPECIFIED_AMOUNT",
  "dailyBudget": 1.25,
  "billingPrice": 1,
  "marginType": "TOTAL_BUDGET",
  "bidPrice": 1,
  "maxGoal": 1,
  "marginGoal": 25,
  "goalAmount": 1,
  "isNativeEnabled": false,
  "completionThreshold": 0,
  "schedules": [
    {
      "startDateStr": "2020-08-11",
      "endDateStr": "2021-01-28",
      "impBudget": 7111,
      "dailyBudgetType": "AUTO_ALLOCATED"
    }
  ],
  "appMarketingObjective": "RE_ENGAGEMENT",
  "appUrl": "https://apps.apple.com/us/app/colorsnap-visualizer-iphone/id316256242&locale=en-us",
  "appLocale": "en-us",
  "conversionList": [
    {
      "beaconId": 15776560,
      "acceptViewThrough": true,
      "clickWindow": 4,
      "viewWindow": 2,
      "viewBeaconValueDiscount": 0,
      "beaconValuePc": 1.05,
      "clickWindowUnitType": "DAY",
      "viewWindowUnitType": "HOUR"
    }
  ]
}

Update Line

Update an existing line.

PUT /traffic/lines/{id}

Partial updates are supported (with the exception of feeList, see note below); values of supported fields which are not in the payload will remain unchanged.

Note

When updating variable costs using feeList, any existing entries will be removed automatically unless they included in the payload.

Parameters

The Line id is specified in the url path. All other fields are specified in the body of the application/json payload.

Example: Activate Paused Line

The following payload shows how to change the line status from PAUSED to ACTIVE.

Example Request Body

{
  "status": "ACTIVE"
}

Example: Update Line Budget & Start/End Dates

The following payload shows how to update the total budget and start/end dates of a line.

Example Request Body

{
  "schedules": [
    {
      "startDateStr": "2020-08-11",
      "endDateStr": "2021-01-31",
      "impBudget": 10000
    }
  ]
}

Example: Update Line with Conversion Pixel

The following payload shows how to add a conversion pixel to an existing line.

Example Request Body

{
  "conversionList": [
    {
      "lineId": 355775,
      "beaconId": 762,
      "acceptViewThrough": true,
      "viewWindow": 2,
      "clickWindow": 4,
      "clickWindowUnitType": "DAY",
      "viewWindowUnitType": "HOUR",
      "beaconValuePc": 1.2
    }
  ]
}

Example: Remove an Existing Conversion Pixel

The following payload shows how to remove an existing conversion pixel from a line. An existing conversion pixel can be removed by setting lineId to 0.

Example Request Body

{
  "conversionList": [
    {
      "id": 144856,
      "lineId": 0,
      "beaconId": 762
    }
  ]
}

Delete Lines

The DSP Traffic API does not support deletion of lines.