> ## 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 write operation for any create, update, or remove mutation that has no dedicated operation

Fallback Google Ads write operation for any create, update, or remove mutation that has no dedicated operation. To upload Customer Match members, use data\_manager\_ingest\_audience\_members with a Google Data Manager connection. Always prefer a dedicated operation when one matches the task, for example gads\_update\_campaign\_budget, gads\_create\_campaign, or gads\_add\_negative\_keywords\_to\_campaigns. It covers nearly everything the Google Ads API supports through the generic googleAds:mutate REST endpoint, including user lists and remarketing audiences, conversion action settings (primary\_for\_goal, counting type, attribution model, lookback windows), removing or deleting negative keywords and criteria at shared list, campaign, and ad group level, shared sets, campaign and ad group criteria (locations, languages, devices, demographics, placements, topics), bid modifiers, customer settings, extension, assets, phone call, asset links, asset groups, listing groups, labels, bidding strategies, data exclusions and seasonality adjustments, experiments, and drafts. Supports multi-step grouped mutations across resource types, temporary negative resource IDs for chained creates, validate-only mode, and partial failure mode. If no dedicated operation exists, use this operation. Operations are sent to Google unchanged and Google's response is returned verbatim, so a rejection is Google validating the payload, not a Markifact bug: fix the payload (gads\_search\_gaql\_resources gives current field names) instead of submitting product feedback.

| | |
| - | - |
| **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 | - | Request body for Google's customers/\{id}/googleAds:mutate REST endpoint (Google Ads API v25), sent unchanged. Follow Google's REST reference for the resource: camelCase field names, one typed operation per entry (campaignOperation, adGroupOperation, adGroupAdOperation, assetOperation, ...) with create, update or remove, and update entries carry updateMask listing the changed fields. Prefer passing the mutateOperations array itself; 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. If Google answers that a field is immutable or that mutates are not allowed for the resource, it is refusing that resource, not the payload: Google-managed resources such as Merchant Center asset set links and automatically created conversion actions cannot be changed from any API client. |
| `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)


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