AdPlug MCP
Guide

Google Ads MCP for Claude

Turn Claude into a hands-on Google Ads partner. Audit accounts, pull spend and conversion reports across accounts, review campaigns, research keywords, add negative keywords, hunt wasted spend, and optimise campaigns by pausing, renaming, or rebudgeting. Every write previews first, so you see the exact change before it ships.

Updated May 4, 2026 · 5 minute read

Server URL

Paste this into Claude.ai → Settings → Connectors → Add custom connector.

https://api.adplug.app/mcp/google-ads

01

What it does

AdPlug Google Ads is a Model Context Protocol server that gives Claude read and scoped-write access to your Google Ads accounts. Claude calls 16 tools under the hood to answer your question, run a report, or stage a change.

Read tools paginate at 200 rows per page (max 1,000) with cursor tokens, so cross-account reports stay fast. Write tools always preview first: Claude shows the exact resource path, field, current value, and new value, and waits for your confirmation before executing.

Read tools

List accounts, account performance, campaign performance, daily trends, conversions, search terms, shared negative sets, keyword ideas, and a GAQL escape hatch for anything custom.

Write tools

Add negative keywords (campaign or shared-set), pause or enable campaigns, rename, and adjust budgets. Always with a preview step before anything changes.

02

Setup in 4 steps

From a fresh AdPlug account to Claude running real queries against your data takes about five minutes.

  1. Create your AdPlug account

    Go to adplug.app/signup. Sign in with Google or email, answer three short onboarding questions, and you land on the dashboard.

    AdPlug dashboard overview showing the Google Ads, LinkedIn Ads and Meta Ads connection cards.
    Your dashboard after signup. Each ad platform shows its connection state.
  2. Connect Google Ads

    Open the Connections page and click Connect Google Ads. AdPlug walks you through the Google OAuth flow with read and write scopes for the Google Ads API. Use the same Google identity that has access to the accounts you want Claude to see.

    If you manage clients through a Google Ads manager (MCC), connect the manager identity. AdPlug auto-resolves the manager link when running mutations on child accounts, so a single connection covers your whole hierarchy.

    AdPlug Connections page showing Google Ads connected with the Reconnect and Disconnect buttons.
    Once connected, the Google Ads card shows the authorising email and the date you connected.
  3. Add the connector to Claude

    Open claude.ai/customize/connectors and click Add custom connector, or jump straight to the modal at claude.ai/customize/connectors?modal=add-custom-connector.

    Name the connector Google Ads — AdPlug (or whatever you want), paste the server URL below, and click Add.

    https://api.adplug.app/mcp/google-ads
    Claude.ai Add custom connector modal with Google Ads - AdPlug as the name and https://api.adplug.app/mcp/google-ads as the URL.
    The Claude Add custom connector modal. Name on top, server URL below, then Add.

    The same URL also works in Claude Code, Cursor, VS Code, Codex, and any other MCP client that supports Streamable HTTP and Dynamic Client Registration.

  4. Connect and authenticate

    After clicking Add, the modal closes and a new connector tile appears. Click Connect on the tile. Claude opens a popup, sign in with the same email you used on AdPlug, then click Approve on the AdPlug authorise screen.

    AdPlug MCP Authorize access screen with Approve and Deny buttons.
    The AdPlug authorise screen. Click Approve to grant Claude access to your AdPlug account.

    The connector turns Connected and the 16 tools become available in any new Claude chat.

03

What you can ask Claude

These prompts work out of the box once your account is connected. Replace the example account name with your own, or let Claude pick.

Audit an account

Audit my Google Ads account for HomeStagingAI. Flag campaigns with no conversion tracking, ad groups with zero impressions in the last 30 days, and anything with quality score below 5.

Cross-account spend report

Pull last 30 days spend, conversions, cost per conversion, and ROAS across all my Google Ads accounts. Sort by spend descending.

Campaign performance

Show me last 30 days performance for all enabled campaigns in HomeStagingAI. Include impressions, clicks, CTR, average CPC, conversions, and conversion rate.

Keyword research

Suggest keyword ideas around “virtual home staging in London”. Include average monthly searches, competition, and top of page CPC.

Add negative keywords

Find search terms with more than $50 spent and zero conversions in the last 60 days. Preview adding them as campaign-level negatives, then I will confirm before you execute.

Find wasted spend

Across all my accounts, find keywords with cost per conversion more than 3x the campaign average over the last 30 days. List the worst 20.

Optimise campaigns

Pause campaigns with ROAS below 1.5 over the last 14 days that have spent at least $200. Preview the change first.

04

Privacy and security

AdPlug stores the minimum needed to make your connection work: your account email, Google identity, and an encrypted refresh token for the Google Ads API.

Encryption at rest

Refresh tokens are encrypted with Fernet (AES-128-CBC + HMAC-SHA256) before they hit the database. AdPlug does not store ad creatives, click-level data, or cached report exports.

Authentication uses OAuth 2.1 with PKCE and Dynamic Client Registration. Every MCP request is verified against a Supabase-issued JWT before any Google Ads API call is made. Disconnecting from the AdPlug dashboard revokes the token and stops Claude's access immediately.

Full detail in the Privacy Policy, Data Processing Agreement, and Google API disclosure.

05

Troubleshooting

Click any item to expand the answer.

Claude says USER_PERMISSION_DENIED on a report
The Google identity you connected does not have access to the customer ID Claude tried to query. Open ads.google.com, confirm the email has at least Read Only access on the account, then retry. If you only have access via an MCC manager, run the prompt without specifying an account ID and let Claude list accessible accounts first.
The connector shows zero accounts
You connected a Google identity that has no Google Ads access. Disconnect from the dashboard, then reconnect with the email that owns or manages your accounts.
OAuth window does not open in Claude.ai
Some browsers block popups for the auth flow. Allow popups for claude.ai and try again. If you are on a managed device, your IT policy may block third-party OAuth, so contact your admin to allow the AdPlug connector.
A mutation says preview is required
Write tools always run a preview step first. Ask Claude to preview the change, then say execute (or run with the preview token) to apply it. This is by design and protects against accidental writes.
Hitting the monthly request limit
Each call to a tool counts as one request. If you regularly hit the free or Pro cap, upgrade from the dashboard. The cap resets on the first of every month.
Claude returns stale data
Google Ads API data lags real time by a few hours for some metrics. For same-day reporting, request a date range that ends “yesterday” or older. Cost and conversion finalisation can take up to 24 hours.

06

Track your usage

Every tool call is logged to your AdPlug Usage & Audit Log. You can see how many calls you have left this month, watch the audit trail in real time, and search for individual tool runs to confirm what Claude actually did on your behalf.

AdPlug Usage and Audit Log page showing calls this month, current plan, next reset date, and a table of recent tool invocations.
Calls this month, your current plan, next reset date, and the full audit trail.

If a Claude prompt does not return what you expected, the audit trail is the fastest way to see which tool ran, how long it took, and whether it returned an error.

07

Get help

Email support@adplug.app with bug reports, feature requests, or setup questions. Most replies come back the same business day.

The AdPlug status indicator at the bottom of every page turns amber when something is wrong with the API.