- [Resource: InsertionOrder](https://developers.google.com/display-video/api/reference/rest/v4/advertisers.insertionOrders#InsertionOrder)
  - [JSON representation](https://developers.google.com/display-video/api/reference/rest/v4/advertisers.insertionOrders#InsertionOrder.SCHEMA_REPRESENTATION)
- [InsertionOrderType](https://developers.google.com/display-video/api/reference/rest/v4/advertisers.insertionOrders#InsertionOrderType)
- [Kpi](https://developers.google.com/display-video/api/reference/rest/v4/advertisers.insertionOrders#Kpi)
  - [JSON representation](https://developers.google.com/display-video/api/reference/rest/v4/advertisers.insertionOrders#Kpi.SCHEMA_REPRESENTATION)
- [KpiType](https://developers.google.com/display-video/api/reference/rest/v4/advertisers.insertionOrders#KpiType)
- [InsertionOrderBudget](https://developers.google.com/display-video/api/reference/rest/v4/advertisers.insertionOrders#InsertionOrderBudget)
  - [JSON representation](https://developers.google.com/display-video/api/reference/rest/v4/advertisers.insertionOrders#InsertionOrderBudget.SCHEMA_REPRESENTATION)
- [InsertionOrderAutomationType](https://developers.google.com/display-video/api/reference/rest/v4/advertisers.insertionOrders#InsertionOrderAutomationType)
- [InsertionOrderBudgetSegment](https://developers.google.com/display-video/api/reference/rest/v4/advertisers.insertionOrders#InsertionOrderBudgetSegment)
  - [JSON representation](https://developers.google.com/display-video/api/reference/rest/v4/advertisers.insertionOrders#InsertionOrderBudgetSegment.SCHEMA_REPRESENTATION)
- [OptimizationObjective](https://developers.google.com/display-video/api/reference/rest/v4/advertisers.insertionOrders#OptimizationObjective)
- [Methods](https://developers.google.com/display-video/api/reference/rest/v4/advertisers.insertionOrders#METHODS_SUMMARY)

## Resource: InsertionOrder

A single insertion order.

| JSON representation |
|---|
| ``` { "name": string, "advertiserId": string, "campaignId": string, "insertionOrderId": string, "displayName": string, "insertionOrderType": enum (`https://developers.google.com/display-video/api/reference/rest/v4/advertisers.insertionOrders#InsertionOrderType`), "entityStatus": enum (`https://developers.google.com/display-video/api/reference/rest/v4/EntityStatus`), "updateTime": string, "partnerCosts": [ { object (`https://developers.google.com/display-video/api/reference/rest/v4/PartnerCost`) } ], "pacing": { object (`https://developers.google.com/display-video/api/reference/rest/v4/Pacing`) }, "frequencyCap": { object (`https://developers.google.com/display-video/api/reference/rest/v4/FrequencyCap`) }, "integrationDetails": { object (`https://developers.google.com/display-video/api/reference/rest/v4/IntegrationDetails`) }, "kpi": { object (`https://developers.google.com/display-video/api/reference/rest/v4/advertisers.insertionOrders#Kpi`) }, "budget": { object (`https://developers.google.com/display-video/api/reference/rest/v4/advertisers.insertionOrders#InsertionOrderBudget`) }, "bidStrategy": { object (`https://developers.google.com/display-video/api/reference/rest/v4/BiddingStrategy`) }, "reservationType": enum (`https://developers.google.com/display-video/api/reference/rest/v4/ReservationType`), "optimizationObjective": enum (`https://developers.google.com/display-video/api/reference/rest/v4/advertisers.insertionOrders#OptimizationObjective`) } ``` |

| Fields ||
|---|---|
| `name` | `string` Output only. The resource name of the insertion order. |
| `advertiserId` | `string (https://developers.google.com/discovery/v1/type-format format)` Output only. The unique ID of the advertiser the insertion order belongs to. |
| `campaignId` | `string (https://developers.google.com/discovery/v1/type-format format)` Required. Immutable. The unique ID of the campaign that the insertion order belongs to. |
| `insertionOrderId` | `string (https://developers.google.com/discovery/v1/type-format format)` Output only. The unique ID of the insertion order. Assigned by the system. |
| `displayName` | `string` Required. The display name of the insertion order. Must be UTF-8 encoded with a maximum size of 240 bytes. |
| `insertionOrderType` | ``enum (`https://developers.google.com/display-video/api/reference/rest/v4/advertisers.insertionOrders#InsertionOrderType`)`` Optional. The type of insertion order. If this field is unspecified in creation, the value defaults to `RTB`. |
| `entityStatus` | ``enum (`https://developers.google.com/display-video/api/reference/rest/v4/EntityStatus`)`` Required. Controls whether or not the insertion order can spend its budget and bid on inventory. - For `https://developers.google.com/display-video/api/reference/rest/v4/advertisers.insertionOrders/create#google.ads.displayvideo.v4.InsertionOrderService.CreateInsertionOrder` method, only `ENTITY_STATUS_DRAFT` is allowed. To activate an insertion order, use `https://developers.google.com/display-video/api/reference/rest/v4/advertisers.insertionOrders/patch#google.ads.displayvideo.v4.InsertionOrderService.UpdateInsertionOrder` method and update the status to `ENTITY_STATUS_ACTIVE` after creation. - An insertion order cannot be changed back to `ENTITY_STATUS_DRAFT` status from any other status. - An insertion order cannot be set to `ENTITY_STATUS_ACTIVE` if its parent campaign is not active. |
| `updateTime` | ``string (`https://protobuf.dev/reference/protobuf/google.protobuf#timestamp` format)`` Output only. The timestamp when the insertion order was last updated. Assigned by the system. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: `"2014-10-02T15:01:23Z"`, `"2014-10-02T15:01:23.045123456Z"` or `"2014-10-02T15:01:23+05:30"`. |
| `partnerCosts[]` | ``object (`https://developers.google.com/display-video/api/reference/rest/v4/PartnerCost`)`` Optional. The partner costs associated with the insertion order. If absent or empty in `https://developers.google.com/display-video/api/reference/rest/v4/advertisers.insertionOrders/create#google.ads.displayvideo.v4.InsertionOrderService.CreateInsertionOrder` method, the newly created insertion order will inherit partner costs from the partner settings. |
| `pacing` | ``object (`https://developers.google.com/display-video/api/reference/rest/v4/Pacing`)`` Required. The budget spending speed setting of the insertion order. `https://developers.google.com/display-video/api/reference/rest/v4/Pacing#FIELDS.pacing_type` `PACING_TYPE_ASAP` is not compatible with `https://developers.google.com/display-video/api/reference/rest/v4/Pacing#FIELDS.pacing_period` `PACING_PERIOD_FLIGHT`. |
| `frequencyCap` | ``object (`https://developers.google.com/display-video/api/reference/rest/v4/FrequencyCap`)`` Required. The frequency capping setting of the insertion order. |
| `integrationDetails` | ``object (`https://developers.google.com/display-video/api/reference/rest/v4/IntegrationDetails`)`` Optional. Additional integration details of the insertion order. |
| `kpi` | ``object (`https://developers.google.com/display-video/api/reference/rest/v4/advertisers.insertionOrders#Kpi`)`` Required. The key performance indicator (KPI) of the insertion order. This is represented as referred to as the "Goal" in the Display \& Video 360 interface. |
| `budget` | ``object (`https://developers.google.com/display-video/api/reference/rest/v4/advertisers.insertionOrders#InsertionOrderBudget`)`` Required. The budget allocation settings of the insertion order. |
| `bidStrategy` | ``object (`https://developers.google.com/display-video/api/reference/rest/v4/BiddingStrategy`)`` Optional. The bidding strategy of the insertion order. By default, `https://developers.google.com/display-video/api/reference/rest/v4/BiddingStrategy#FIELDS.fixed_bid` is set. If the `https://developers.google.com/display-video/api/reference/rest/v4/advertisers.insertionOrders#InsertionOrder.FIELDS.budget` field `https://developers.google.com/display-video/api/reference/rest/v4/advertisers.insertionOrders#InsertionOrderBudget.FIELDS.automation_type` is set to `INSERTION_ORDER_AUTOMATION_TYPE_BUDGET` or `INSERTION_ORDER_AUTOMATION_TYPE_BID_BUDGET`, the insertion order will impose this bidding strategy on its line items. If an imposed bidding strategy is not compatible with a line item's `https://developers.google.com/display-video/api/reference/rest/v4/TargetingExpansionConfig#FIELDS.enable_optimized_targeting` setting, the optimized targeting setting will be updated. |
| `reservationType` | ``enum (`https://developers.google.com/display-video/api/reference/rest/v4/ReservationType`)`` Output only. The reservation type of the insertion order. |
| `optimizationObjective` | ``enum (`https://developers.google.com/display-video/api/reference/rest/v4/advertisers.insertionOrders#OptimizationObjective`)`` Required. The optimization objective of the insertion order. |

## InsertionOrderType

Possible types of an Insertion Order.

The type of the Insertion Order determines which settings and options are applicable, such as the format of the ads or targeting options.

| Enums ||
|---|---|
| `INSERTION_ORDER_TYPE_UNSPECIFIED` | Insertion order type is not specified or is unknown. |
| `RTB` | Real-time bidding. |
| `OVER_THE_TOP` | Over-the-top. |

## Kpi

Settings that control the key performance indicator, or KPI, of an insertion order.

| JSON representation |
|---|
| ``` { "kpiType": enum (`https://developers.google.com/display-video/api/reference/rest/v4/advertisers.insertionOrders#KpiType`), "kpiAlgorithmId": string, // The following is a list of mutually exclusive fields. At most one of the // fields will be set in a response: "kpiAmountMicros": string, "kpiPercentageMicros": string, "kpiString": string // End of mutually exclusive fields. } ``` |

| Fields ||
|---|---|
| `kpiType` | ``enum (`https://developers.google.com/display-video/api/reference/rest/v4/advertisers.insertionOrders#KpiType`)`` Required. The type of KPI. |
| `kpiAlgorithmId` | `string (https://developers.google.com/discovery/v1/type-format format)` Optional. Custom Bidding Algorithm ID associated with KPI_CUSTOM_IMPRESSION_VALUE_OVER_COST. This field is ignored if the proper KPI is not selected. |
| Required. The value of the KPI. The relevant field corresponds to the `https://developers.google.com/display-video/api/reference/rest/v4/advertisers.insertionOrders#Kpi.FIELDS.kpi_type`. The following is a list of mutually exclusive fields. At most one of the fields will be set in a response: ||
| `kpiAmountMicros` | `string (https://developers.google.com/discovery/v1/type-format format)` The goal amount, in micros of the advertiser's currency. Applicable when `https://developers.google.com/display-video/api/reference/rest/v4/advertisers.insertionOrders#Kpi.FIELDS.kpi_type` is one of: - `KPI_TYPE_CPM` - `KPI_TYPE_CPC` - `KPI_TYPE_CPA` - `KPI_TYPE_CPIAVC` - `KPI_TYPE_VCPM` For example: 1500000 represents 1.5 standard units of the currency. |
| `kpiPercentageMicros` | `string (https://developers.google.com/discovery/v1/type-format format)` The decimal representation of the goal percentage in micros. Applicable when `https://developers.google.com/display-video/api/reference/rest/v4/advertisers.insertionOrders#Kpi.FIELDS.kpi_type` is one of: - `KPI_TYPE_CTR` - `KPI_TYPE_VIEWABILITY` - `KPI_TYPE_CLICK_CVR` - `KPI_TYPE_IMPRESSION_CVR` - `KPI_TYPE_VTR` - `KPI_TYPE_AUDIO_COMPLETION_RATE` - `KPI_TYPE_VIDEO_COMPLETION_RATE` For example: 70000 represents 7% (decimal 0.07). |
| `kpiString` | `string` A KPI string, which can be empty. Must be UTF-8 encoded with a length of no more than 100 characters. Applicable when `https://developers.google.com/display-video/api/reference/rest/v4/advertisers.insertionOrders#Kpi.FIELDS.kpi_type` is `KPI_TYPE_OTHER`. |
| End of mutually exclusive fields. ||

## KpiType

Possible key performance indicator (KPI) types.

| Enums ||
|---|---|
| `KPI_TYPE_UNSPECIFIED` | KPI type is not specified or is unknown in this version. |
| `KPI_TYPE_CPM` | The KPI is CPM (cost per mille). |
| `KPI_TYPE_CPC` | The KPI is CPC (cost per click). |
| `KPI_TYPE_CPA` | The KPI is CPA (cost per action). |
| `KPI_TYPE_CTR` | The KPI is CTR (click-through rate) percentage. |
| `KPI_TYPE_VIEWABILITY` | The KPI is Viewability percentage. |
| `KPI_TYPE_CPIAVC` | The KPI is CPIAVC (cost per impression audible and visible at completion). |
| `KPI_TYPE_CPE` | The KPI is CPE (cost per engagement). |
| `KPI_TYPE_CPV` | The KPI is set in CPV (cost per view). |
| `KPI_TYPE_CLICK_CVR` | The KPI is click conversion rate (conversions per click) percentage. |
| `KPI_TYPE_IMPRESSION_CVR` | The KPI is impression conversion rate (conversions per impression) percentage. |
| `KPI_TYPE_VCPM` | The KPI is VCPM (cost per thousand viewable impressions). |
| `KPI_TYPE_VTR` | The KPI is YouTube view rate (YouTube views per impression) percentage. |
| `KPI_TYPE_AUDIO_COMPLETION_RATE` | The KPI is audio completion rate (complete audio listens per impression) percentage. |
| `KPI_TYPE_VIDEO_COMPLETION_RATE` | The KPI is video completion rate (complete video views per impression) percentage. |
| `KPI_TYPE_CPCL` | The KPI is set in CPCL (cost per complete audio listen). |
| `KPI_TYPE_CPCV` | The KPI is set in CPCV (cost per complete video view). |
| `KPI_TYPE_TOS10` | The KPI is set in rate of time on screen 10+ seconds (Percentage of measurable, non-skippable impressions that were on the screen for at least 10 seconds). |
| `KPI_TYPE_MAXIMIZE_PACING` | The KPI is set to maximize brand impact while prioritizing spending the full budget. |
| `KPI_TYPE_CUSTOM_IMPRESSION_VALUE_OVER_COST` | The KPI is set in custom impression value divided by cost. |
| `KPI_TYPE_OTHER` | The KPI is some other value. |

## InsertionOrderBudget

Settings that control how insertion order budget is allocated.

| JSON representation |
|---|
| ``` { "budgetUnit": enum (`https://developers.google.com/display-video/api/reference/rest/v4/BudgetUnit`), "automationType": enum (`https://developers.google.com/display-video/api/reference/rest/v4/advertisers.insertionOrders#InsertionOrderAutomationType`), "budgetSegments": [ { object (`https://developers.google.com/display-video/api/reference/rest/v4/advertisers.insertionOrders#InsertionOrderBudgetSegment`) } ] } ``` |

| Fields ||
|---|---|
| `budgetUnit` | ``enum (`https://developers.google.com/display-video/api/reference/rest/v4/BudgetUnit`)`` Required. Immutable. The budget unit specifies whether the budget is currency based or impression based. |
| `automationType` | ``enum (`https://developers.google.com/display-video/api/reference/rest/v4/advertisers.insertionOrders#InsertionOrderAutomationType`)`` Optional. The type of automation used to manage bid and budget for the insertion order. If this field is unspecified in creation, the value defaults to `INSERTION_ORDER_AUTOMATION_TYPE_NONE`. |
| `budgetSegments[]` | ``object (`https://developers.google.com/display-video/api/reference/rest/v4/advertisers.insertionOrders#InsertionOrderBudgetSegment`)`` Required. The list of budget segments. Use a budget segment to specify a specific budget for a given period of time an insertion order is running. |

## InsertionOrderAutomationType

Possible options for automating insertion order bid and budget.

| Enums ||
|---|---|
| `INSERTION_ORDER_AUTOMATION_TYPE_UNSPECIFIED` | Insertion order automation option is not specified or is unknown in this version. |
| `INSERTION_ORDER_AUTOMATION_TYPE_BUDGET` | Automatic budget allocation. Allow the system to automatically shift budget to owning line items to optimize performance defined by `https://developers.google.com/display-video/api/reference/rest/v4/advertisers.insertionOrders#InsertionOrder.FIELDS.kpi`. No automation on bid settings. |
| `INSERTION_ORDER_AUTOMATION_TYPE_NONE` | No automation of bid or budget on insertion order level. Bid and budget must be manually configured at the line item level. |
| `INSERTION_ORDER_AUTOMATION_TYPE_BID_BUDGET` | Allow the system to automatically adjust bids and shift budget to owning line items to optimize performance defined by `https://developers.google.com/display-video/api/reference/rest/v4/advertisers.insertionOrders#InsertionOrder.FIELDS.bid_strategy`. |

## InsertionOrderBudgetSegment

Settings that control the budget of a single budget segment.

| JSON representation |
|---|
| ``` { "budgetAmountMicros": string, "description": string, "dateRange": { object (`https://developers.google.com/display-video/api/reference/rest/v4/DateRange`) }, "campaignBudgetId": string } ``` |

| Fields ||
|---|---|
| `budgetAmountMicros` | `string (https://developers.google.com/discovery/v1/type-format format)` Required. The budget amount the insertion order will spend for the given `https://developers.google.com/display-video/api/reference/rest/v4/advertisers.insertionOrders#InsertionOrderBudgetSegment.FIELDS.date_range`. The amount is in micros. Must be greater than 0. For example, 500000000 represents 500 standard units of the currency. |
| `description` | `string` Optional. The budget segment description. It can be used to enter Purchase Order information for each budget segment and have that information printed on the invoices. Must be UTF-8 encoded. |
| `dateRange` | ``object (`https://developers.google.com/display-video/api/reference/rest/v4/DateRange`)`` Required. The start and end date settings of the budget segment. They are resolved relative to the parent advertiser's time zone. - When creating a new budget segment, both `startDate` and `endDate` must be in the future. - An existing budget segment with a `startDate` in the past has a mutable `endDate` but an immutable `startDate`. - `endDate` must be the `startDate` or later, both before the year 2037. |
| `campaignBudgetId` | `string (https://developers.google.com/discovery/v1/type-format format)` Optional. The `https://developers.google.com/display-video/api/reference/rest/v4/advertisers.campaigns#CampaignBudget.FIELDS.budget_id` of the campaign budget that this insertion order budget segment is a part of. |

## OptimizationObjective

Possible types of the optimization objectives.

| Enums ||
|---|---|
| `OPTIMIZATION_OBJECTIVE_UNSPECIFIED` | Type value is not specified or is unknown in this version. |
| `CONVERSION` | Prioritize impressions that increase sales and conversions. |
| `CLICK` | Prioritize impressions that increase website traffic, apps, app stores. |
| `BRAND_AWARENESS` | Prioritize impressions of specific quality. |
| `CUSTOM` | Objective is defined by the assigned custom bidding algorithm. |
| `NO_OBJECTIVE` | Objective is not defined. Any KPI or bidding strategy can be used. |

| ## Methods ||
|---|---|
| ### `https://developers.google.com/display-video/api/reference/rest/v4/advertisers.insertionOrders/create` | Creates a new insertion order. |
| ### `https://developers.google.com/display-video/api/reference/rest/v4/advertisers.insertionOrders/delete` | Deletes an insertion order. |
| ### `https://developers.google.com/display-video/api/reference/rest/v4/advertisers.insertionOrders/get` | Gets an insertion order. |
| ### `https://developers.google.com/display-video/api/reference/rest/v4/advertisers.insertionOrders/list` | Lists insertion orders in an advertiser. |
| ### `https://developers.google.com/display-video/api/reference/rest/v4/advertisers.insertionOrders/patch` | Updates an existing insertion order. |