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

> Low-level operation to update TikTok campaigns with raw TikTok fields, for standard and Upgraded Smart+ campaigns; Markifact resolves the correct endpoint automatically

Low-level operation to update TikTok campaigns with raw TikTok fields, for standard and Upgraded Smart+ campaigns; Markifact resolves the correct endpoint automatically. Use focused operations first when available, for example tiktok\_ads\_update\_campaign\_budget or tiktok\_ads\_rename\_campaign. Only the fields provided are changed. Supports dry-run review before applying changes.

|                       |                              |
| --------------------- | ---------------------------- |
| **App**               | TikTok Ads                   |
| **Operation ID**      | `tiktok_ads_update_campaign` |
| **Type**              | Action                       |
| **Connection**        | `tiktok_ads` (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 TikTok Ads account (advertiser) that owns the campaign.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| `campaign_id`    | string or SelectItem | Yes      | -       | TikTok campaign ID to update. Do not repeat it inside update\_payload.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| `update_payload` | object or string     | Yes      | -       | TikTok campaign fields to update as an object or JSON string; only the fields given are changed. TikTok allows campaign\_name, budget, special\_industries and po\_number on standard campaigns, and campaign\_name, budget, budget\_auto\_adjust\_strategy and po\_number on Upgraded Smart+ campaigns; Markifact picks the right endpoint. Exclude advertiser\_id and campaign\_id. Use tiktok\_ads\_list\_campaigns first to see current values. Note: TikTok reports success and silently ignores fields a campaign cannot change (for example objective\_type), so verify important changes with tiktok\_ads\_list\_campaigns after updating. |
| `dry_run`        | boolean              | No       | `False` | When true, do not call TikTok. Return the resolved endpoint, campaign type and final 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 campaign\_id, campaign\_name, detected campaign\_mode, endpoint, updated\_fields, final payload, and dry\_run status.
