Skip to main content
Glama

Google Ads: take campaign off portfolio bid strategy

unassign_portfolio_bidding_strategy
DestructiveIdempotent

Takes a campaign off its portfolio bid strategy onto a standard one.

The campaign gets its own (standard) bidding strategy; the portfolio and
its other campaigns stay as they are. With no bidding_strategy_type the
campaign keeps bidding the way the portfolio did, with the same target:
a Target CPA portfolio becomes TARGET_CPA with that target CPA, a Target
ROAS portfolio TARGET_ROAS with that target ROAS, a capped Maximize
Clicks portfolio TARGET_SPEND with that cap. The result gives the
bidding before and after, with targets formatted in the account's
currency. Supported, by campaign type (update_campaign's list):
  DISPLAY: MANUAL_CPC, TARGET_SPEND, MAXIMIZE_CONVERSIONS, TARGET_CPA,
    TARGET_ROAS.
  SEARCH: MANUAL_CPC, TARGET_SPEND, MAXIMIZE_CONVERSIONS, TARGET_CPA,
    MAXIMIZE_CONVERSION_VALUE, TARGET_ROAS.
TARGET_SPEND needs a cpc_bid_ceiling_micros cap. A campaign that is not
on a portfolio is refused: its bidding is changed with update_campaign.

Args:
    customer_id: The Google Ads customer ID (numbers only, no hyphens).
    campaign_id: The ID of the campaign.
    bidding_strategy_type: The standard strategy the campaign moves to.
        One of: MANUAL_CPC, TARGET_SPEND (Maximize Clicks),
        MAXIMIZE_CONVERSIONS, TARGET_CPA, MAXIMIZE_CONVERSION_VALUE,
        TARGET_ROAS. Optional; default: the portfolio's strategy and
        target, as above.
    target_cpa_micros: Target cost per conversion in micros of the
        account's currency (10000000 = 10.00: ₹10 on an INR account, $10
        on a USD one). Required with TARGET_CPA, refused otherwise.
    target_roas: Target return on ad spend as a ratio (4.0 for 400%).
        Required with TARGET_ROAS, refused otherwise.
    cpc_bid_ceiling_micros: Maximize Clicks' max CPC cap in micros of
        the account's currency. Required with TARGET_SPEND, refused
        otherwise.

Returns:
    Dictionary with campaign_resource_name, before, after and a message.

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>",
      "campaign_id": "<campaign_id>"
    },
    "name": "unassign_portfolio_bidding_strategy"
  }
}

Input Schema

NameRequiredDescriptionDefault
campaign_idYes
customer_idYes
target_roasNo
target_cpa_microsNo
bidding_strategy_typeNo
cpc_bid_ceiling_microsNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.9/5.0
Behavior5/5

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

Annotations only declare the mutation/idempotency/destructive profile; the description goes far beyond that by explaining scope of impact (the portfolio and its other campaigns stay as they are), the inheritance mapping from portfolio strategy to standard strategy with targets, currency formatting of targets, and the refusal condition. Conditional parameter requirements (TARGET_SPEND needs cpc_bid_ceiling_micros) are also disclosed.

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?

Front-loaded with the action and its scope, then defaults, then constraints, then args. Every section earns its place, though the per-campaign-type supported list is dense and slightly repetitive with the bidding_strategy_type enumeration already given in Args.

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 6-parameter mutation with 0% schema coverage, the description covers scope of effect, defaults, conditional requirements, failure modes, and unit conventions, and a return value summary is present despite an output schema existing. Nothing an agent needs before calling is missing.

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

Parameters5/5

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

Schema description coverage is 0%, so the description must carry the full burden, and it does: customer_id format (numbers only, no hyphens), micros conversion with a concrete currency example (10000000 = ₹10 on INR), target_roas as a ratio (4.0 = 400%), and per-type required/refused rules for target_cpa_micros, target_roas and cpc_bid_ceiling_micros.

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 and resource: 'Takes a campaign off its portfolio bid strategy onto a standard one.' The direction of the operation is unambiguous and clearly the inverse of the sibling assign_portfolio_bidding_strategy, and it distinguishes itself from update_campaign for non-portfolio campaigns.

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

Usage Guidelines5/5

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

Explicitly names the alternative: 'A campaign that is not on a portfolio is refused: its bidding is changed with update_campaign.' It also states the default path when bidding_strategy_type is omitted and lists which strategy types each campaign type supports, so the agent knows when the call will succeed.

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