account | DynamicAccount | Yes | - | Select the DV360 advertiser that owns the campaign. |
campaign_id | string or SelectItem | Yes | - | ID of the DV360 campaign the insertion order belongs to. |
insertion_order_name | string | Yes | - | Display name of the insertion order. Max 240 bytes. |
insertion_order_type | string or SelectableOption | No | {'value': 'RTB', 'label': 'Real-time bidding'} | RTB (real-time bidding, default) or OVER_THE_TOP. |
optimization_objective | string or SelectableOption | Yes | - | What the insertion order optimizes for: CONVERSION (sales and conversions), CLICK (traffic to websites and apps), BRAND_AWARENESS (impressions of specific quality), CUSTOM (defined by the assigned custom bidding algorithm), or NO_OBJECTIVE (any KPI or bidding strategy can be used). |
kpi_type | string or SelectableOption | Yes | - | KPI metric. Money KPIs (use kpi_amount): CPM, CPC, CPA, CPIAVC, CPE, CPV, VCPM, CPCL, CPCV. Percentage KPIs (use kpi_percentage): CTR, VIEWABILITY, CLICK_CVR, IMPRESSION_CVR, VTR, AUDIO_COMPLETION_RATE, VIDEO_COMPLETION_RATE, TOS10. OTHER uses kpi_string. CUSTOM_IMPRESSION_VALUE_OVER_COST requires kpi_algorithm_id. MAXIMIZE_PACING needs no value. |
kpi_amount | number | No | - | KPI amount in the advertiser’s currency (for example 2.5 for a $2.50 CPM). Required for money KPIs; converted to DV360 micros automatically. |
kpi_percentage | number | No | - | KPI percentage (for example 70 for 70%). Required for percentage KPIs; converted to DV360 percentage micros automatically. |
kpi_string | string | No | - | KPI description text. Required when kpi_type is OTHER. |
kpi_algorithm_id | string | No | - | Custom bidding algorithm ID. Required when kpi_type is CUSTOM_IMPRESSION_VALUE_OVER_COST. |
pacing_period | string or SelectableOption | No | {'value': 'DAILY', 'label': 'Daily'} | Budget spending window: DAILY (default) or FLIGHT (spread over the budget segment flight). |
pacing_type | string or SelectableOption | No | {'value': 'EVEN', 'label': 'Even'} | Spending speed: EVEN (default), AHEAD (flight pacing only), or ASAP (with daily pacing, requires daily_max_spend). |
daily_max_spend | number | No | - | Daily maximum spend in the advertiser’s currency; converted to micros automatically. With daily pacing, provide this or daily_max_impressions, not both. |
daily_max_impressions | integer | No | - | Daily maximum impressions. With daily pacing, provide this or daily_max_spend, not both. |
automation_type | string or SelectableOption | No | {'value': 'NONE', 'label': 'None'} | Insertion order automation: NONE (default, no automation), BUDGET (automatic budget allocation across line items), or BID_BUDGET (automatic bid and budget optimization). |
budget_segments | array (also accepts a comma-separated string) | Yes | - | The insertion order’s budget segments in the advertiser’s currency, as a list of up to 20 rows. Each row requires budget_amount (currency, converted to micros automatically), start_date and end_date (YYYY-MM-DD), and an optional description. Example row: {“budget_amount”: 5000, “start_date”: “2026-08-01”, “end_date”: “2026-08-31”, “description”: “August budget”} |
unlimited_frequency_cap | boolean | No | True | When true (default), no insertion-order frequency cap. Set false to cap impressions per user with the frequency_cap_* fields. |
frequency_cap_max_impressions | integer | No | - | Maximum impressions per user for the chosen time window. Required when unlimited_frequency_cap is false. |
frequency_cap_time_unit | string or SelectableOption | No | - | Frequency cap window unit: LIFETIME, MONTHS, WEEKS, DAYS, HOURS, or MINUTES. Required when unlimited_frequency_cap is false. |
frequency_cap_time_unit_count | integer | No | - | How many time units the window lasts. Required when unlimited_frequency_cap is false, except for LIFETIME. |