Shop MCP

Connect a module

Google Ads

ShopMCP connects to Google Ads via Google OAuth, then lets you pick direct accounts, Manager accounts, and MCC children from the accounts your Google user can access. Google Ads API access follows ShopMCP's OAuth Cloud project.

Production API access is managed by ShopMCP.Google Ads authorizes the Cloud project behind ShopMCP's OAuth client. Workspace users complete OAuth and choose the accounts to expose. If Google reports that the Cloud project is not approved for production, contact ShopMCP support. See Google's API access guidance.

1. Connect in ShopMCP

Open Settings → Integrations → Google Ads and click Connect with Google. Complete the OAuth consent flow with a Google user that can access the ad accounts you want ShopMCP to query.

2. Grant Google Ads access

Google will ask for the Google Ads API scope:

  • https://www.googleapis.com/auth/adwords — this is the only scope required for Google Ads API access

You do not need to create a Google Cloud project, enable the API, edit an OAuth consent screen, or apply for a developer token. ShopMCP owns the Google Cloud OAuth client and its Google Ads API access.

3. Choose accounts

After consent, ShopMCP lists:

  • Direct accounts the Google user can access
  • Manager accounts (MCCs) available to the Google user
  • MCC child accounts discovered through customer_client

Select one or more accounts to expose. ShopMCP stores the OAuth tokens encrypted-at-rest, records the selected customer id and optional login-customer-id for MCC access, and flips the Google Ads module to Connected for every API key in the workspace.

Write tools are off by default

ShopMCP's Google Ads package includes gated campaign writes for pause, resume, budget changes, negative keywords, and previewed Search campaign creation and edits. They register only when the workspace write toggle is enabled and the integration's rollout mode allows Google Ads writes.

Each write tool is locked to a field-level input allowlist. The Search campaign builder requires an exact customer ID, a preview hash, Google validation, a paused campaign, and readback before it reports success. Search edits are limited to supported fields on ShopMCP-marked paused campaigns.

Conversion actions, custom goals, and activation require separate review. Keep new campaigns paused until trial attribution and the full campaign configuration have been verified.

Token refresh

Google OAuth access tokens expire after approximately one hour. ShopMCP automatically refreshes them using the stored refresh token — the same mechanism used by the GA4 and Google Search Console modules. No manual intervention is needed unless the refresh token itself is revoked (e.g. the user removes ShopMCP from their Google account permissions).

If the refresh token is revoked, ShopMCP will surface a "Google OAuth token expired" error. Reconnect by clicking Connect with Google again to re-authorize.

Troubleshooting

  • PERMISSION_DENIED — the authenticated Google account does not have access to the selected Customer ID. Verify that the account you signed in with has at least read access to the ad account in Google Ads, directly or through the selected MCC.
  • CLOUD_PROJECT_NOT_APPROVED_FOR_PRODUCTION— ShopMCP's OAuth Cloud project needs production API access. Contact ShopMCP support; workspace users do not need their own Cloud project or developer token.
  • CUSTOMER_NOT_FOUND— the Customer ID is incorrect or the account has been cancelled. Double-check the 10-digit ID in the Google Ads UI. If you're using an MCC, make sure the Login Customer ID is also set correctly.
  • Rate limit exceeded (RESOURCE_EXHAUSTED) — Google Ads enforces API quotas. ShopMCP may retry read requests, but will not replay an ambiguous mutation. Wait a few minutes and try again. If this persists, contact ShopMCP support.
  • "Google OAuth token expired" — the refresh token was revoked. Re-authorize by clicking Connect with Google on the integration page.