gads_propose_attach_audience
Attach an audience (remarketing user list, custom segment, or in-market/affinity interest) to a campaign or ad group.
Attach an audience (remarketing user list, custom segment, or in-market/affinity interest) to a campaign or ad group. mode 'observation' (default) is SAFE-tier — it changes NOTHING about serving, it only starts collecting audience signal (attach early; data only accrues once attached, and Smart Bidding uses it as a signal). mode 'targeting' restricts serving to the audience and exclude blocks it — both review-tier. Find audiences via listAudiences / searchAudienceIdeas.
Scope: write token required · money-moving. Every write is dry-run validated, then classified by the safe-apply policy — auto-applied when bounded and low-risk, otherwise queued for approval.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
level | "campaign" | "ad_group" | Yes | |
campaignId | string | No | |
adGroupId | string | No | |
audienceKind | "user_list" | "custom_audience" | "user_interest" | Yes | |
audienceId | string | Yes | |
mode | "observation" | "targeting" | No | (default: "observation") |
exclude | boolean | No | Campaign-level only: block serving to this audience. |
reason | string | Yes | |
projectId | string | No | Target account (project id). Required with an org-scoped token for account-scoped tools — call gads_list_ad_accounts to enumerate accounts. Omit with a project-scoped token. |
gads_propose_ai_max_text_guidelines
Propose AI Max text guidelines term exclusions on a Search campaign (campaign.text_guidelines.term_exclusions — words banned from AI-generated ad copy).
gads_propose_brand_exclusion
Propose attaching a brand exclusion list to a Search campaign (SharedSet BRANDS + negative CampaignCriterion.brand_list).