Skip to main content
Glama

Google Ads: pause or resume account-level assets

set_customer_asset_status
DestructiveIdempotent

Pauses or re-enables assets linked at the account (customer) level.

An account-level asset serves on every eligible campaign. PAUSED stops
it serving account-wide; the asset and any campaign or ad group links
are untouched, and ENABLED switches it back on, at once: it serves again and can spend. It never deletes: status
REMOVED is refused. Use list_asset_links first to find the asset IDs and
field type.

Args:
    customer_id: The Google Ads customer ID (numbers only, no hyphens).
    asset_ids: The asset IDs to change (or asset resource names). All must
        be linked at account level with the same field_type.
    field_type: The field type of the link, e.g. CALL, SITELINK, CALLOUT,
        STRUCTURED_SNIPPET, BUSINESS_NAME, BUSINESS_LOGO.
    status: PAUSED or ENABLED.

Returns:
    Dictionary with the updated customer asset link resource names.

Tools revision: d80f65c0.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "customer_id": "<customer_id>",
      "asset_ids": "<asset_ids>",
      "field_type": "<field_type>",
      "status": "<status>"
    },
    "name": "set_customer_asset_status"
  }
}

Input Schema

NameRequiredDescriptionDefault
statusYes
asset_idsYes
field_typeYes
customer_idYes

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations only declare destructiveHint/idempotentHint/openWorldHint; the description goes well beyond by stating that PAUSED halts serving account-wide, that campaign and ad group links remain intact, that ENABLED resumes delivery and spending immediately, and that REMOVED is refused so nothing is ever deleted. That last point is crucial nuance an agent would otherwise guess wrong about given destructiveHint=true, and it is fully consistent with it since pausing halts live delivery.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Well front-loaded — the core action, then the behavioral consequence, then the deletion constraint, then structured Args/Returns. Slightly padded by phrasing such as "at once: it serves again and can spend," but every block conveys real information and there is no repetition of the title.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 4-required-parameter mutation with an output schema, the description covers the action, scope, side effects, the deletion prohibition, prerequisite lookup tool, and per-parameter meaning. Nothing an agent needs before calling it is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description carries the full burden and does: customer_id format (numbers only, no hyphens), asset_ids accepting either IDs or resource names with the cross-field constraint of identical field_type, field_type with concrete examples (CALL, SITELINK, CALLOUT, STRUCTURED_SNIPPET, BUSINESS_NAME, BUSINESS_LOGO), and status enumerated as PAUSED or ENABLED. Minor gap: it does not say whether all asset_ids must share one customer or whether a partial failure aborts the batch.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb pair (pause/re-enable) applied to a precise resource scope (assets linked at account/customer level), and immediately clarifies that the asset serves on every eligible campaign — which is exactly what separates it from set_campaign_asset_status and set_ad_group_asset_status among the siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit prerequisite workflow ("Use list_asset_links first to find the asset IDs and field type") and a constraint on valid input (all assets must be linked at account level with the same field_type). It does not explicitly say when to prefer the campaign- or ad-group-level siblings, but the account-level scoping statement makes the distinction reasonably inferable.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources