Skip to Content
Tool referenceCreate Google shopping campaign

Create Google shopping campaign (adsap_google_create_shopping_campaign)

Platform: Google Ads · Read or write: Write · Plan: Early Access · Consumes a task: Yes · Preview supported: Yes

What it does

Creates a full standard Shopping campaign in one request: budget, campaign, location targeting, a Shopping ad group, the product ad and an All products listing group. Product data and images come from the linked Merchant Center, so there are no creative inputs. The campaign is always created paused. Ask for a preview first.

When to use it

  • Use it to advertise Merchant Center products with a standard Shopping campaign and your own bids, such as manual_cpc with a cpc_bid.
  • The account needs an active Merchant Center link. With one link, the tool finds the merchant_id on its own. With more than one, pass campaign.merchant_id.
  • To limit the campaign to one feed label, pass feed_label with a value from adsap_google_list_feed_labels. Leave it out to advertise all feeds.
  • It takes no ad text, no images and no language targeting. Product data and ad language come from the Merchant Center feed.
  • It supports a preview call, and a preview uses no task. For Performance Max, including retail, use adsap_google_create_pmax_campaign.

Worked example

You ask

“Preview a standard Shopping campaign in account 1234567890. 30 a day, France, manual CPC at 0.40.”

The assistant calls adsap_google_create_shopping_campaign

{ "ad_account_id": "1234567890", "campaign": { "name": "Summer collection, Shopping", "daily_budget": 30, "bidding_strategy": "manual_cpc", "cpc_bid": 0.4 }, "geo": { "location_ids": ["2250"] }, "dry_run": true }

Adsap returns

The field names are the ones Adsap returns. The values are examples.

{ "ok": true, "dry_run": true, "platform": "google", "action": "create_shopping_campaign", "plan": { "campaign": { "name": "Summer collection, Shopping", "status_at_create": "PAUSED", "daily_budget": 30, "bidding_strategy": "manual_cpc", "cpc_bid": 0.4, "cpc_bid_ceiling": null, "target_roas": null, "merchant_id": "5000000001", "campaign_priority": 0, "feed_label": null }, "geo": { "location_ids": ["2250"], "negative_location_ids": [] }, "language_targeting": "not supported for standard Shopping (follows the Merchant Center feed)", "ad_group": { "name": "Summer collection, Shopping - ad group", "type": "SHOPPING_PRODUCT_ADS" }, "listing_group": "root-only UNIT (\"All products\", one bid)", "operations_count": 6, "conversion_actions_found": 3 }, "bidding_strategy": "manual_cpc", "google_validation": "passed" }

How to read it

plan is what Adsap would send to Google. status_at_create is PAUSED, so nothing spends yet. merchant_id is the Merchant Center account the tool found from the account’s active link. feed_label is null, so every feed is advertised. listing_group confirms a single “All products” group that carries the cpc_bid.

google_validation is passed when Google accepts the plan. Otherwise it holds Google’s error message. The response also carries a warnings list and a one-sentence human_readable_summary. If the account has no active link, the call fails with NO_MERCHANT_LINK. To create the campaign, the assistant repeats the call without dry_run and gets a campaign_id and an ad_group_id back.

Parameters

Descriptions are shortened from the tool schema. Your assistant sees the full text.

NameTypeRequiredDescription
ad_account_idstringYesBare 10-digit Google Ads customer ID (from adsap_google_list_ad_accounts). No dashes, no act_ prefix.
campaignobjectYes
campaign.namestringYes
campaign.daily_budgetnumberYesDaily budget in the ACCOUNT CURRENCY as a plain number (e.g. 10). NOT micros, NOT cents.
campaign.bidding_strategyone of auto, manual_cpc, maximize_clicks, target_roasNoThe documented standard Shopping set. ‘auto’ (default) = Maximize Clicks. ‘manual_cpc’ requires cpc_bid.
campaign.cpc_bidnumberNoMax CPC bid in the account currency for the ad group and the ‘All products’ unit node. REQUIRED with manual_cpc; optional otherwise (Google requires a unit-node bid, so 0.01 is set automatically under automated bidding).
campaign.cpc_bid_ceilingnumberNoOptional max-CPC ceiling for maximize_clicks (targetSpend.cpcBidCeilingMicros). Only valid with bidding_strategy maximize_clicks.
campaign.target_roasnumberNoTarget return on ad spend as a multiplier (3.5 = 350%). REQUIRED with bidding_strategy target_roas; Google needs roughly 15 conversions in 30 days.
campaign.campaign_priorityintegerNo0 (default), 1 or 2. Higher wins when the same product is eligible in several of the account’s OWN standard Shopping campaigns. Retail Performance Max always outranks standard Shopping regardless of this value.
campaign.feed_labelstringNoRestrict the campaign to ONE Merchant Center feed label (must match the label EXACTLY, case-sensitive: get valid values from adsap_google_list_feed_labels). Omit to advertise products from all feeds.
campaign.merchant_idstringNoMerchant Center account id override. Usually omit: it is auto-resolved from the account’s active Merchant Center link (clean error when there are zero or multiple links).
geoobjectYes
geo.location_idsarray of stringYesGeo target constant ids to TARGET (from adsap_google_search_geo_targets). Campaign-level, like Search.
geo.negative_location_idsarray of stringNoGeo target constant ids to EXCLUDE.
ad_groupobjectNo
ad_group.namestringNoAd group name (defaults to ‘<campaign name> - ad group’).
dry_runbooleanNoPreview only: the request is validated and the resolved payload returned, nothing is created or changed.

Example prompts

  • “Preview a standard Shopping campaign at 30 dollars a day for France with manual CPC at 0.40.”
  • “Create a Shopping campaign for my UK feed label only.”
  • “Create the Shopping campaign we just previewed.”

Notes

The account needs an active Merchant Center link. When a retail Performance Max campaign and standard Shopping target the same products, Google’s Ad Rank decides which one serves. Target ROAS needs about 15 conversions in the last 30 days.

  • adsap_google_create_app_campaign: Create a complete Google App campaign in ONE atomic request: budget, campaign (ALWAYS created PAUSED: activate later with…
  • adsap_google_create_demand_gen_campaign: Create a complete Google Ads Demand Gen campaign (YouTube, Discover, Gmail, Maps and the Google Display Network) in ONE atomic request…
  • adsap_google_create_display_campaign: Create a classic standalone Google Display campaign in ONE atomic request: budget, campaign (ALWAYS created PAUSED: activate later with…
  • adsap_google_create_pmax_campaign: Create a complete Google Ads Performance Max campaign in ONE atomic request: budget, campaign (ALWAYS created PAUSED: activate later with…
  • adsap_google_create_search_campaign: Create a complete Google Ads Search campaign in ONE atomic request: budget, campaign (ALWAYS created PAUSED: activate later with…
  • adsap_google_list_campaigns: List Google Ads campaigns in a Google Ads account (cache-first; auto-refreshes from Google when the cache is missing or older than 1 hour).

Guide

Read Google Shopping campaigns for the workflow around this tool, and the Tool reference for every tool.

The Google Ads MCP server  page shows how to connect Google Ads to Claude, ChatGPT or Perplexity.

Last updated on