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
  • schedule
  • 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, BrightRoll 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 CPI 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](1, 2) 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 [6]
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 [7]
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](1, 2) Required if the value of pacingModeType is PACE_AHEAD.
integer Required [8] Optional [8]
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
dailyBudgetType

Specifies the daily budget type is used to indicate how the line’s budget is allocated.

Allowed values:

  • SPECIFIED_AMOUNT: Specify a daily spend cap for the line in the dailyBudget field.
  • AUTO_ALLOCATED: Allocation based on the overall budget and the number of days left in the line’s flight.
string Required Optional
dailyBudget

Specifies the daily budget amount.

[9]Required when the budgetType is CURRENCY and dailyBudgetType is SPECIFIED_AMOUNT.
number Required [9] Optional
impBudget

Specifies the total number of impressions bought.

[10](1, 2) Required when budgetType is IMPRESSION.
integer Required [10] Optional [10]
impDailyBudget

Specifies the total number of impressions bought per day.

[11](1, 2) Required when budgetType is IMPRESSION.
number Required [11] Optional [11]
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, Yahoo 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 [12] Optional
schedule

Specifies the line’s budget schedule.

To learn more, see Schedule Object.

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

Schedule Object

The schedule object contains the following fields:

Field Description Data Type Create Update
id Specifies ID of the budget schedule. integer N/A N/A
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.

[13]Required when the budgetType is CURRENCY.
number Required [13] 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/892670

Example Response

{
  "response": {
    "id": 892670,
    "name": "test-disp-cpa",
    "orderId": 308869,
    "bidPrice": 1.2,
    "goalAmount": 140,
    "maxGoal": 141,
    "impBudget": 22500,
    "marginGoal": 25,
    "billingPrice": 2,
    "completionThreshold": 0,
    "pacingAcceleration": 4,
    "isNativeEnabled": false,
    "status": "ACTIVE",
    "pacingModeType": "PACE_AHEAD",
    "mediaType": "DISPLAY",
    "goalType": "CPA",
    "billingMethodType": "CPM_PRICE",
    "dailyBudgetType": "AUTO_ALLOCATED",
    "marginType": "TOTAL_BUDGET",
    "budgetType": "CURRENCY",
    "schedule": {
      "id": 887088,
      "budget": 45,
      "startDateStr": "2019-04-18T07:00:00Z",
      "endDateStr": "2019-07-28T06:59:59Z"
    },
    "feeList": [
      {
        "id": 36918,
        "name": "agrge22",
        "fee": 5.44,
        "typeName": "AUDIENCE_MEASUREMENT"
      }
    ],
    "conversionList": [
      {
        "id": 145258,
        "lineId": 892670,
        "beaconId": 762,
        "acceptViewThrough": true,
        "clickWindow": 4,
        "viewWindow": 2,
        "name": "testNewPixel",
        "viewBeaconValueDiscount": 0,
        "beaconValuePc": 1.07,
        "clickWindowUnitType": "DAY",
        "viewWindowUnitType": "HOUR"
      },
      {
        "id": 144857,
        "lineId": 892670,
        "beaconId": 6333816,
        "acceptViewThrough": true,
        "clickWindow": 4,
        "viewWindow": 2,
        "name": "Yahoo HK Test Website",
        "viewBeaconValueDiscount": 0,
        "beaconValuePc": 1.2,
        "clickWindowUnitType": "DAY",
        "viewWindowUnitType": "HOUR"
      },
      {
        "id": 144858,
        "lineId": 892670,
        "beaconId": 6425503,
        "acceptViewThrough": true,
        "clickWindow": 6,
        "viewWindow": 4,
        "name": "test-website-1",
        "viewBeaconValueDiscount": 0,
        "beaconValuePc": 1.05,
        "clickWindowUnitType": "DAY",
        "viewWindowUnitType": "HOUR"
      }
    ]
  },
  "errors": null,
  "timeStamp": "2019-06-01T19:37:57.166Z"
}

Read Lines

Get a filtered list of lines.

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

Parameters

Parameter Paramerer Type Description Data Type Required
orderId query Specifies the campaign ID. integer Y
query query

Specifies the search term.

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

string N
page query Specifies the page number. integer N
limit query Specifies the total number of items to return. Maximum allowed value is 100. integer N
sort query Specifies the column to sort by. string N
dir query

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=308869&limit=2&sort=id&dir=desc&seatId=2

Example Response

{
  "response": [
    {
      "id": 926480,
      "name": "imp_line_test1",
      "orderId": 308869,
      "bidPrice": 9,
      "dailyBudget": 9.135,
      "impDailyBudget": 1015,
      "impBudget": 7111,
      "marginGoal": 25,
      "billingPrice": 9,
      "completionThreshold": 60,
      "isNativeEnabled": false,
      "status": "NOT_STARTED",
      "pacingModeType": "EVEN",
      "mediaType": "VIDEO",
      "goalType": "COMPLETION_HARD_THRESHOLD",
      "billingMethodType": "CPM_PRICE",
      "dailyBudgetType": "SPECIFIED_AMOUNT",
      "marginType": "TOTAL_BUDGET",
      "budgetType": "IMPRESSION",
      "schedule": {
        "id": 920898,
        "budget": 63.999,
        "startDateStr": "2019-05-31T07:00:00Z",
        "endDateStr": "2019-06-29T06:59:59Z"
      },
      "feeList": [],
      "conversionList": []
    },
    {
      "id": 922699,
      "name": "tes-disp-cpc-44",
      "orderId": 308869,
      "bidPrice": 1,
      "goalAmount": 1.34,
      "maxGoal": 1.34,
      "dailyBudget": 15,
      "impDailyBudget": 15000,
      "impBudget": 1000000,
      "marginGoal": 25,
      "billingPrice": 1,
      "completionThreshold": 0,
      "isNativeEnabled": false,
      "status": "PAUSED",
      "pacingModeType": "EVEN",
      "mediaType": "DISPLAY",
      "goalType": "CPC",
      "billingMethodType": "CPM_PRICE",
      "dailyBudgetType": "SPECIFIED_AMOUNT",
      "marginType": "TOTAL_BUDGET",
      "budgetType": "CURRENCY",
      "schedule": {
        "id": 917117,
        "budget": 1000,
        "startDateStr": "2019-05-26T07:00:00Z",
        "endDateStr": "2019-05-29T06:59:59Z"
      },
      "feeList": [
        {
          "id": 36797,
          "name": "amc",
          "fee": 0.86,
          "typeName": "AD_SERVING"
        }
      ],
      "conversionList": [
        {
          "id": 145262,
          "lineId": 922699,
          "beaconId": 762,
          "acceptViewThrough": true,
          "clickWindow": 4,
          "viewWindow": 2,
          "name": "testNewPixel",
          "viewBeaconValueDiscount": 0,
          "beaconValuePc": 1.05,
          "clickWindowUnitType": "DAY",
          "viewWindowUnitType": "HOUR"
        }
      ]
    }
  ],
  "errors": null,
  "timeStamp": "2019-06-03T19:48:47.340Z"
}

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

{
  "schedule": {
    "startDateStr": "2017-09-22",
    "endDateStr": "2017-11-22",
    "budget": 250
  }
}

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
    }
  ]
}

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": "traffic_api_margin_line_3",
  "orderId": 134,
  "status": "PAUSED",
  "mediaType": "DISPLAY",
  "pacingModeType": "EVEN",
  "budgetType": "CURRENCY",
  "goalType": "CPC",
  "billingMethodType": "MARGIN",
  "dailyBudgetType": "SPECIFIED_AMOUNT",
  "dailyBudget": 11,
  "billingPrice": 2,
  "marginType": "TOTAL_BUDGET",
  "bidPrice": 1,
  "maxGoal": 1,
  "marginGoal": 25,
  "goalAmount": 1,
  "impDailyBudget": null,
  "isNativeEnabled": false,
  "completionThreshold": 0,
  "conversionList": [
    {
      "name": "testNewPixel",
      "beaconId": 762,
      "acceptViewThrough": true,
      "viewWindow": 2,
      "clickWindow": 4,
      "clickWindowUnitType": "DAY",
      "viewWindowUnitType": "HOUR",
      "beaconValuePc": 1.2,
      "viewBeaconValueDiscount": null
    }
  ],
  "schedule": {
    "startDateStr": "2018-03-10",
    "endDateStr": "2018-03-11",
    "budget": 1600
  },
  "feeList": []
}

Example: Create Impression Budget Display Line

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

Field Value Type
mediaType DISPLAY string
billingMethodType CPM_PRICE string
billingPrice Amount you want to pay for each 1000 impressions number
impBudget Total number of impressions you plan to buy integer

Example Request Body

{
  "name": "imp_line2",
  "orderId": 7633,
  "status": "PAUSED",
  "mediaType": "DISPLAY",
  "pacingModeType": "EVEN",
  "budgetType": "IMPRESSION",
  "goalType": "VCPM",
  "billingMethodType": "CPM_PRICE",
  "dailyBudgetType": "SPECIFIED_AMOUNT",
  "dailyBudget": 11,
  "impBudget": 1006,
  "billingPrice": 1,
  "marginType": "TOTAL_BUDGET",
  "bidPrice": 1,
  "maxGoal": 1.1,
  "marginGoal": 25,
  "goalAmount": 1,
  "impDailyBudget": 2,
  "isNativeEnabled": false,
  "completionThreshold": 0,
  "conversionList": [],
  "schedule": {
    "startDateStr": "2018-03-10",
    "endDateStr": null,
    "budget": 1
  },
  "feeList": []
}

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": "test-ocpc",
  "orderId": 200793,
  "mediaType": "DISPLAY",
  "billingMethodType": "CPM_PRICE",
  "billingPrice": 1,
  "marginType": "TOTAL_BUDGET",
  "dailyBudgetType": "AUTO_ALLOCATED",
  "bidPrice": 1,
  "goalType": "OCPC",
  "maxGoal": 1.1,
  "marginGoal": 25,
  "status": "ACTIVE",
  "goalAmount": 1.1,
  "impDailyBudget": null,
  "impBudget": 1255000,
  "pacingModeType": "EVEN",
  "isNativeEnabled": false,
  "completionThreshold": 0,
  "conversionList": [],
  "schedule": {
    "startDateStr": "2017-06-17",
    "endDateStr": "2017-11-01",
    "budget": 1255
  },
  "feeList": []
}

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": "test-video5599",
  "orderId": 312515,
  "status": "ACTIVE",
  "mediaType": "VIDEO",
  "pacingModeType": "EVEN",
  "budgetType": "CURRENCY",
  "goalType": "CPCV",
  "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,
  "schedule": {
    "startDateStr": "2018-03-10",
    "endDateStr": "2018-03-10",
    "budget": 1000
  }
}

Example: Create Line with Variable Costs

To create a line with variable cost tracking, refer to the table and payload below.

Field Value Type
feeList see :ref:`feelist-resource` object

Example Request Body

{
  "name": "test194",
  "orderId": 308869,
  "status": "PAUSED",
  "mediaType": "DISPLAY",
  "pacingModeType": "EVEN",
  "budgetType": "IMPRESSION",
  "goalType": "CPC",
  "billingMethodType": "CPM_PRICE",
  "dailyBudgetType": "SPECIFIED_AMOUNT",
  "impBudget": 1006,
  "impDailyBudget": 33,
  "dailyBudget": null,
  "billingPrice": 1,
  "marginType": "TOTAL_BUDGET",
  "bidPrice": 1,
  "maxGoal": 1,
  "marginGoal": 25,
  "goalAmount": 1,
  "isNativeEnabled": false,
  "completionThreshold": 0,
  "conversionList": [],
  "schedule": {
    "startDateStr": "2018-03-10",
    "endDateStr": "2018-03-10",
    "budget": 1000
  },
  "feeList": [
    {
      "typeName": "AD_SERVING",
      "name": "amc",
      "fee": 0.86
    }
  ]
}

Delete Lines

The DSP Traffic API does not support deletion of lines.