Skip to main content
Glama

Metadata MCP Connector

Remove Audiences from Campaign

remove_audiences_from_campaign
Destructive

Remove specific audiences from one or more channels in an existing campaign.

            Use this tool when you need to detach a named audience/group from a particular
            channel (e.g. remove "European Digital Nomad Investors" from FACEBOOK).
            Channel and audience IDs are resolved internally — you only need the human-readable
            channel type and audience name.

            Works on both campaign structures. On a Channel-First / Native (N×N×N) campaign the
            audience is cleared from its WizNativeAdContainer(s); any container then left with no
            asset at all (no audience, target group, keyword, ad or offer) is dropped.

            KEYWORDS: remove, delete, audience, group, channel, campaign, targeting

            WHEN TO USE:
            - User wants to remove a specific audience from a channel
            - User wants to clean up targeting groups from one or more channels
            - Multiple audiences across multiple channels can be removed in a single call

            RESPONSE:
            - Returns the refreshed campaign state plus a removal_results list with one
              entry per requested removal recording its success or error. ALWAYS check
              removal_results — a partial failure (e.g. one of two names not found) still
              returns normally, so report only what actually came back successful.

            REQUIRED PARAMETERS:
            - campaign_id: Campaign ID (numeric identifier)
            - channel_audiences: Object mapping channel type → list of audience names to remove

            CHANNEL TYPES: FACEBOOK, INSTAGRAM, GOOGLE_ADS, LINKEDIN, MICROSOFT_ADS, REDDIT, TWITTER

            EXAMPLES:

            Remove one audience from FACEBOOK:
            remove_audiences_from_campaign({
                "campaign_id": 42545,
                "channel_audiences": {
                    "FACEBOOK": ["European Digital Nomad Investors_p2w8"]
                }
            })

            Remove audiences from multiple channels at once:
            remove_audiences_from_campaign({
                "campaign_id": 42545,
                "channel_audiences": {
                    "FACEBOOK": ["Audience A", "Audience B"],
                    "LINKEDIN": ["Audience C"]
                }
            })

            INTEGRATION WITH OTHER TOOLS:
            - Use get_campaign_by_wizard_id to inspect current audiences per channel before removing
            - Use search_campaigns_by_names to find the campaign ID

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
campaign_idYesThe unique identifier of the campaign
channel_audiencesYesMap of channel type to list of audience names to remove. Example: {"FACEBOOK": ["Audience A"], "LINKEDIN": ["Audience B"]}

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations declare readOnlyHint=false and destructiveHint=true, so the agent already knows this is a destructive operation. The description adds significant detail beyond that: it explains the behavior on Channel-First/Native campaigns (dropping empty containers), and—critically—discloses that partial failures occur and the agent must check the removal_results list because a normal return does not mean all removals succeeded. This is a crucial behavioral nuance that is not in the annotations, and it is clearly articulated.

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?

The description is lengthy but well-structured with clear sections (intro, when to use, response, required parameters, channel types, examples, integration). It is front-loaded with the core purpose, and every section adds meaningful information—especially the response-handling note and examples. While it could be trimmed slightly, the organization prevents it from feeling bloated, and the length is justified by the tool's destructive nature and the need to convey partial-failure behavior.

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?

Given there is no output schema, the description fully explains the response format (refreshed campaign state + removal_results) and the critical behavior that partial failures return normally. It also covers both campaign structures, lists all supported channel types, and provides integration suggestions with related tools. An agent has everything needed to call this tool correctly and interpret the results, making it contextually complete.

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?

The input schema already describes both parameters (campaign_id and channel_audiences) with 100% coverage, so the baseline is 3. The description adds extra value by listing the supported channel types (FACEBOOK, INSTAGRAM, GOOGLE_ADS, etc.), clarifying that audience IDs are resolved internally (so only names are needed), and providing two concrete examples that illustrate the expected JSON structure. This goes beyond the schema's minimal descriptions, earning a 4.

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?

The description opens with a precise statement: 'Remove specific audiences from one or more channels in an existing campaign.' This clearly identifies the verb (remove), the resource (audiences), and the scope (channels within a campaign). It distinguishes itself from sibling removal tools by focusing on audiences (e.g., remove_ad_from_campaign, remove_keywords_from_campaign, remove_target_groups_from_campaign) and even names the exact scenario with a concrete example. The purpose is unambiguous.

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?

The description includes an explicit 'WHEN TO USE' section listing three specific conditions, and states the tool should be used when detaching a named audience/group from a channel. It also provides integration guidance by recommending get_campaign_by_wizard_id to inspect current audiences and search_campaigns_by_names to find the campaign ID. While it does not explicitly say when not to use it, the contrast with other remove tools is clear, and the guidance is actionable.

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