> ## 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`
