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

> Fallback Meta Ads ad patch tool for advanced or unsupported cases at the ad level, such as renaming an ad, changing ad_schedule_start_time/ad_schedule_end_time (only on ads created with a schedule;...

Fallback Meta Ads ad patch tool for advanced or unsupported cases at the ad level, such as renaming an ad, changing ad\_schedule\_start\_time/ad\_schedule\_end\_time (only on ads created with a schedule; sales and app promotion campaigns), tracking\_specs, conversion\_domain, or adlabels. This does NOT edit the ad's creative content: Meta creatives are immutable, so to change text, image, video, or link, create a new creative (meta\_ads\_create\_ad\_creative or a create node with creative\_only=true) and attach it with meta\_ads\_replace\_ad\_creative. Use meta\_ads\_update\_ad\_status for status changes. Patches only the fields provided in update\_payload. Supports dry-run review before applying changes.

|                       |                       |
| --------------------- | --------------------- |
| **App**               | Meta Ads              |
| **Operation ID**      | `meta_ads_update_ad`  |
| **Type**              | Action                |
| **Connection**        | `meta_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 Meta Ads account, ask the user for it if not provided                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| `ad_id`          | string or SelectItem | Yes      | -       | The Meta Ads ad ID to update. Do not include this inside update\_payload.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| `update_payload` | object or string     | Yes      | -       | Patch payload for Meta's Ad update API as an object or JSON string. Only the fields provided here are sent to Meta; this does not replace the full ad. Updatable ad-level fields include: name, ad\_schedule\_start\_time / ad\_schedule\_end\_time (ISO 8601 with UTC offset; only changeable on ads created with a schedule, sales and app promotion campaigns only), tracking\_specs, conversion\_domain, adlabels. This does NOT edit the ad's creative content (text, image, video, link): Meta creatives are immutable, so to change content create a new creative (meta\_ads\_create\_ad\_creative or a create node with creative\_only=true) and attach it with meta\_ads\_replace\_ad\_creative. Use meta\_ads\_update\_ad\_status for status changes. Do not include identity fields like account\_id, ad\_id, or adset\_id (ads cannot be moved between ad sets). |
| `dry_run`        | boolean              | No       | `False` | When true, return the resolved update payload without calling Meta Ads.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |

### 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 ad\_id, ad\_name, updated\_fields, final payload, dry\_run status, and any returned Meta response data.

**Fields**: dynamic (depend on the inputs)
