| name | adspirer-google-ads |
| description | Create and manage Google Ads campaigns through Adspirer — Search, Performance Max, Demand Gen, YouTube, and Display. Use for Google Ads keywords, search terms, quality score, bid strategies, sitelinks and extensions, PMax asset groups, or anything on Google/AdWords. Covers the asset-bundle expiry and ad-group-id traps. |
Google Ads
Everything on Google goes through the google_ads router. Follow adspirer-mcp for the
two-step: {"action": "list_tools"} first, then {"action": "execute", "tool_name": ..., "arguments": {...}}.
Account parameter: customer_id, as a string. Hyphens are stripped for you.
Budgets are in dollars — $50/day is 50.0.
Creating a campaign
1. Pick the type. If the user just said "create a campaign," run select_google_campaign_type
rather than guessing. Search, Performance Max, Demand Gen, YouTube, and Display solve different
problems — references/campaign-types.md has the decision tree and the budget each type actually
needs to learn.
2. Gather what's required. Budget, final URL, locations, and the conversion goal. Resolve place
names with resolve_google_locations instead of guessing geo ids.
3. Prepare assets. For Performance Max, run discover_existing_assets first — the account
usually already has images and logos, and reusing them is faster and better than asking the user to
upload. Then validate_and_prepare_assets.
Asset bundles expire after one hour. If more than an hour passed between preparing assets and
creating the campaign, re-run validate_and_prepare_assets and use the fresh bundle. A stale
bundle fails at create time.