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

# Mutate

> Fallback Google Ads mutation tool for advanced or unsupported cases

Fallback Google Ads mutation tool for advanced or unsupported cases. Use this only when there is no dedicated Google Ads operation for the task. If a specific operation already exists, such as updating campaign budget, campaign status, bidding strategy, ad group bid, ads, keyword, asset, edit extension, phone, call, shopping, display, targeting, audience, app, price, location, business logo, name, video, ads, or creating common Google Ads entities, always use that dedicated operation instead of this one. This tool sends grouped requests to the generic googleAds:mutate REST endpoint and supports create, update, and remove mutations, including multi-step grouped mutations across different resource types, temporary negative resource IDs for chained creates, validate-only mode, and partial failure mode.

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

## Inputs

| Field                   | Type                                                              | Required | Default | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| ----------------------- | ----------------------------------------------------------------- | -------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `account`               | GadsAccountItem or object or array of object or string or integer | Yes      | -       | Select the Google Ads account, ask the user for it if not provided                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| `mutate_operations`     | string or array of object or object                               | Yes      | -       | Provide grouped Google Ads mutate operations for the generic googleAds:mutate endpoint. Prefer passing the mutateOperations array itself, where each item contains exactly one typed operation key such as assetOperation, customerAssetOperation, campaignOperation, adGroupOperation, or adGroupAdOperation, and each operation uses one of create, update, or remove. You may also pass a full object containing mutateOperations, but the array is preferred. Important: only include fields that are valid for that exact Google Ads resource schema. Do not invent or add extra fields just because they seem logical. Customer scope already comes from the selected account and request URL, so do not include a customer field inside create objects unless that specific Google Ads operation explicitly supports it. Note used API version is `https://developers.google.com/google-ads/api/fields/v25/campaign_query_builder` |
| `partial_failure`       | boolean                                                           | No       | `False` | When true, allows valid operations to succeed even if some operations fail                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| `validate_only`         | boolean                                                           | No       | `False` | When true, validates the grouped mutate request without applying any mutations. Use this when you are unsure whether a Google Ads mutate payload shape, operation type, or field is supported and want Google Ads to validate it safely before making changes.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| `response_content_type` | string or SelectableOption                                        | No       | -       | Optional response content type. Available options: 'RESOURCE\_NAME\_ONLY', 'MUTABLE\_RESOURCE'                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |

### GadsAccountItem

| Field       | Type   | Required | Default | Description                                                                                                                                                    |
| ----------- | ------ | -------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `value`     | string | Yes      | -       |                                                                                                                                                                |
| `label`     | string | Yes      | -       |                                                                                                                                                                |
| `managerId` | string | Yes      | -       | The manager ID for the Google Ads account. Ask  user to use the dropdown to select accounts, this manager id is selected background and not shown to the user. |

### SelectableOption

| Field   | Type   | Required | Default | Description |
| ------- | ------ | -------- | ------- | ----------- |
| `value` | string | Yes      | -       |             |
| `label` | string | Yes      | -       |             |

## Output

**Type**: `Dict`

Returns the raw Google Ads grouped mutate response, including mutate operation responses and any partial failure details.

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