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

> Fallback Microsoft Ads keyword update for final URLs, mobile URLs, tracking and other native fields

Fallback Microsoft Ads keyword update for final URLs, mobile URLs, tracking and other native fields. Use only when no dedicated operation supports the change; use update\_keyword\_bid or update\_keyword\_status for bid/status-only edits. Returns partial errors; do not retry successful rows.

| | |
| - | - |
| **App** | Microsoft Ads |
| **Operation ID** | `microsoft_ads_update_keywords` |
| **Type** | Action |
| **Connection** | `microsoft_ads` (required) |
| **Credits per run** | 1 |
| **Agent / MCP tool** | Yes |
| **Requires approval** | Yes (write operation) |

## Inputs

| Field | Type | Required | Default | Description |
| - | - | - | - | - |
| `account` | object or array of object or MicrosoftAdsAccountItem or string or integer | Yes | - | Microsoft Ads account containing the keywords. |
| `update_payload` | object or string | Yes | - | Native UpdateKeywords request object or JSON string. Include AdGroupId and Keywords, with Id in every keyword patch. Microsoft accepts up to 1000 keywords per request. Example: \{"AdGroupId":"123","Keywords":\[\{"Id":"456","FinalUrls":\["`https://www.example.com/products`"]}]}. Other native request fields, such as ReturnInheritedBidStrategyTypes and AssetGroupId, are passed through. Only supplied fields are sent. Supported URL fields include FinalUrls, FinalMobileUrls, TrackingUrlTemplate, FinalUrlSuffix and UrlCustomParameters. An omitted field retains its value. Use "" to clear TrackingUrlTemplate or FinalUrlSuffix; use \{"Parameters":\[]} inside UrlCustomParameters to remove custom parameters. Null is preserved and follows Microsoft's per-field semantics, not a universal reset. Use the dedicated update\_keyword\_bid or update\_keyword\_status nodes for bid/status-only changes. |
| `dry_run` | boolean | No | `False` | Return the request payload without calling Microsoft. This is a local preview, not vendor validation. |

### MicrosoftAdsAccountItem

| Field | Type | Required | Default | Description |
| - | - | - | - | - |
| `value` | string | Yes | - | |
| `label` | string | Yes | - | |
| `customerId` | string | No | - | The Microsoft Ads customer ID used for REST CustomerId headers. If omitted, it is resolved from the account ID. |

## Output

**Type**: `Dict`

Returns the submitted payload, Microsoft's native response including PartialErrors, and per-keyword results with request index, keyword\_id, action and errors. A dry run returns only the local payload preview and makes no vendor request.

**Fields**: `payload`, `dry_run`, `response`, `results`


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