> ## Documentation Index
> Fetch the complete documentation index at: https://docs.markifact.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Update Campaign

> Advanced: partially updates a DV360 campaign from a raw v4 field payload with an update mask; only masked fields change and micros values are raw

Advanced: partially updates a DV360 campaign from a raw v4 field payload with an update mask; only masked fields change and micros values are raw. The mask is derived from the payload when omitted. Prefer the dedicated operations (status updates via dv360\_update\_campaign\_status) for simple changes. Supports dry\_run.

| | |
| - | - |
| **App** | DV360 |
| **Operation ID** | `dv360_update_campaign` |
| **Type** | Action |
| **Connection** | `dv360` (required) |
| **Credits per run** | 1 |
| **Agent / MCP tool** | Yes |
| **Requires approval** | Yes (write operation) |

## Inputs

| Field | Type | Required | Default | Description |
| - | - | - | - | - |
| `account` | DynamicAccount | Yes | - | Select the DV360 advertiser that owns the campaign. |
| `campaign_id` | string or SelectItem | Yes | - | ID of the DV360 campaign to update. Do not repeat it inside update\_payload. |
| `update_payload` | object or string | Yes | - | Campaign fields to update as a JSON object using the official DV360 v4 camelCase field names, sent as-is with raw micros values. Only the fields named in the update mask are changed. Common editable fields: displayName, campaignGoal, campaignFlight (plannedDates, plannedSpendAmountMicros), frequencyCap, and entityStatus (ACTIVE, PAUSED, ARCHIVED as ENTITY\_STATUS\_\*). Prefer the dedicated operations (dv360\_update\_campaign\_status) for simple changes. Example: \{"campaignFlight": \{"plannedDates": \{"endDate": \{"year": 2026, "month": 12, "day": 31}}}} |
| `update_mask` | string | No | - | Optional comma-separated DV360 update mask. When omitted, it is derived from the top-level keys of update\_payload. Provide it explicitly for nested masks, for example campaignFlight.plannedDates or budget.budgetSegments. |
| `dry_run` | boolean | No | `False` | When true, do not call DV360. Return the resolved update mask and payload for review. |

### SelectItem

| Field | Type | Required | Default | Description |
| - | - | - | - | - |
| `value` | string | Yes | - | The value of the selectable item. |
| `label` | string | Yes | - | The label of the selectable item, used for display purposes. If not provided, defaults to the value. |

## Output

**Type**: `Dict`

Returns the update mask, payload, and updated campaign.

**Fields**: `campaign_id`, `update_mask`, `payload`, `dry_run`


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.