Skip to main content
Glama
shopify-chatgpt-ads-mcp

shopify-chatgpt-ads-mcp

by Avada-AI

Create ad group (paused)

create_ad_group

Creates a paused ad group in a campaign with a bid strategy matched to the campaign objective, and optional product filters for feed campaigns.

Instructions

Create an ad group in a campaign, ALWAYS paused. Strategy must fit the campaign objective: clicks -> maximize_clicks or fixed_bid; conversions -> maximize_conversions or fixed_bid; impressions -> fixed_bid. Maximize needs a daily campaign budget and no max_bid. fixed_bid needs max_bid (per click; for impressions per single impression, so a 60 CPM is 0.06). Fixed bids (Max CPC) retire for existing campaigns on 2027-01-01 per OpenAI; prefer maximize_*. For a product-feed campaign, product_filters choose products (preview them with query_feed_products).

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": {
      "campaign_id": "<campaign_id>",
      "name": "<name>",
      "strategy": "<strategy>"
    },
    "name": "create_ad_group"
  }
}

Input Schema

NameRequiredDescriptionDefault
nameYes
max_bidNoMax bid for fixed_bid, in major units of the ad account currency, e.g. "50" or "12.50"
strategyYes
campaign_idYesCampaign id
descriptionNo
context_hintsNoWhen the ad is useful, e.g. "trail running shoes for rocky terrain"
product_filtersNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

A4/5.0
Behavior3/5

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

Annotations only declare it is a non-read-only, non-destructive, open-world write, so the description's 'ALWAYS paused' guarantee and the 2027-01-01 fixed-bid retirement note add real behavioral context. However it says nothing about permissions required, idempotency or duplicate handling, or what happens when the strategy/budget preconditions are violated. The added context is useful but the failure-mode story is absent.

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 create action and the paused invariant, then the strategy decision rules in a compact chained form. The deprecation-date sentence is slightly tangential but short and decision-relevant; no filler sentences.

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

Completeness3/5

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

Covers the two truly ambiguous inputs (strategy and bid) and the product-feed path, which is the bulk of what an agent needs for a 7-parameter mutation with no output schema. Gaps remain around return value shape, whether the parent campaign must be in a particular state, and error conditions, which matters for a create operation.

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?

With schema coverage at 43%, the description carries the semantic load well: it explains each strategy enum value, the max_bid dependency and unit conversion (per impression, 60 CPM = 0.06), and points to query_feed_products to preview product_filters. It leaves name/description/context_hints/campaign_id to the schema, which is acceptable since those are largely self-documenting.

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 ('Create an ad group in a campaign') plus the key invariant 'ALWAYS paused', which immediately separates it from activation/pause/update siblings. An agent can tell what object it makes and in what state.

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 explicit decision rules for strategy selection keyed to campaign objective (clicks -> maximize_clicks/fixed_bid, etc.), states prerequisites ('maximize needs a daily campaign budget and no max_bid'), and expresses a preference ('prefer maximize_*'). It does not say when to reach for update_ad_group or pause_ad_group instead, so it stops short of full alternative routing.

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