Connect Google Ads to Claude Code
Google Ads in Claude Code
Claude Code reaches the Google Ads accounts of one Adrails workspace through the MCP server, from the terminal, in the project you are working in. It reads campaigns with their type, status, budget and bidding, ad groups with their keywords, ads with their copy and final URLs, the account's picture library and audiences, and Keyword Planner volumes and ideas. Every launch, pause or budget change it prepares is a proposal you apply in Adrails, never something Claude Code does on its own.
Reviewed Oct 4, 2026
Google Ads tools
What Claude Code can ask Adrails about Google Ads
| Tool | What it returns | Example question |
|---|---|---|
| reporting_overview | Spend, attributed revenue and named conversion events for the connected accounts, Meta and Google Ads alike, each in its latest synchronized window | What did the Search campaigns spend last month, and at what CPA? |
| performance_period | One account's spend, results, revenue, ROAS, CPA, impressions, clicks, CTR, CPC and CPM over an exact date range, at the account, campaign, ad group or asset group, or ad level | Compare this quarter with the last one at the campaign level. |
| campaigns_structure | How the account is built from the last sync: campaigns with type, status, budget and bidding, ad groups with their keywords, ads with copy, final URL and review | List the ad groups and keywords of the Brand campaign. |
| google_ads_library | The account's picture library, with asset ID, address and size, and its audiences, to reuse in a build or name as an audience signal | Which pictures and audiences does this account already have? |
| google_keyword_planner | Monthly searches and the top-of-page bid range of your keywords, or keyword ideas from a few words or a page, for the countries and language you name | What are the monthly searches and bids for these ten keywords in Germany? |
| targeting_options | The real Google Ads IDs of custom audiences, interests, languages or locations that match a query, as candidates | Find the location IDs for Lyon, Lille and Nantes. |
| findings_review | What the rule engine found on the selected campaigns, each finding with its evidence, snapshot date, objective, currency and severity | What tracking or targeting findings are open on my Google Ads campaigns? |
From the Adrails MCP tools reference and the Google Ads integration documentation on 4 October 2026.
01
What Claude Code reads from Google Ads
Google Ads is connected once in Adrails, under Ad accounts, when Google has finished verifying Adrails; a workspace already connected keeps its accounts. Adrails reads campaigns with their type, status, budget and bidding, ad groups with their keywords, ads with their copy and final URLs, the account's picture library and audiences, and Keyword Planner volumes and ideas, and Claude Code reaches the same data through the MCP server, with your sign-in and inside the one workspace you chose.
In Claude Code, the Google Ads reads come from 7 tools: reporting_overview, performance_period, campaigns_structure, google_ads_library, google_keyword_planner, targeting_options and findings_review. The table above says what each one returns and gives a question to type as it is. Every result comes back twice, as exact data for the model and as a readable table for you, so a figure Claude Code states can be traced to the call that produced it.
02
Connect Claude Code
Claude Code adds remote MCP servers from the command line. By default the server is added for the current project only; --scope user adds it for every project, and --scope project writes it to a .mcp.json file at the project root that your team can share through version control. If the browser does not open for the sign-in, copy the address Claude Code prints and open it yourself.
Every client uses the same server URL, https://adrails.ai/api/mcp, and the same sign-in: Claude Code registers itself, you sign in to Adrails, then choose the workspace and the permissions on the consent screen. Google Ads needs nothing on the Claude Code side, since it is already connected in that workspace under Ad accounts.
- 1. From your project directory, run claude mcp add --transport http adrails https://adrails.ai/api/mcp
- 2. In Claude Code, run /mcp, select adrails and authenticate
- 3. Your browser opens Adrails: sign in, choose the workspace and the permissions, and choose Allow access
- 4. Return to Claude Code and ask your first question
03
Three questions to start with
Ask in your own words: Claude Code picks the tool, Adrails returns the figures, and Claude Code's model does the reasoning, so a tool call uses no agent credit. Each result carries the exact data in structuredContent.result and the same figures as readable tables.
A question can be narrowed to some of the workspace's ad accounts with accountIds, never widened to accounts outside it. A result is at most 256,000 bytes, so a long period at the ad level is asked for in shorter ranges or one campaign at a time.
- What did the Search campaigns spend last month, and at what CPA?
- What are the monthly searches and top-of-page bids for these keywords in Germany?
- Prepare a Search campaign for our new product page with three ad groups, paused.
04
What happens when you ask for a change
No tool creates, edits, pauses, switches on or rebudgets a campaign, ad set or ad by itself. In Claude Code, google_ads_build creates a Search, Display, Demand Gen or Performance Max campaign with its ad groups, keywords and ads or its asset groups, or new ad groups and ads under what exists, all paused after Google validates the request; google_ads_edit changes ad texts, final URLs, keywords, names, campaign dates, target CPA or ROAS, extensions, places, languages, search themes and audience signals, validated by Google when prepared and again when applied, all or nothing; campaigns_change_budget raises or lowers a campaign budget by at most 30% in one change, and refuses a budget shared between campaigns.
Then campaigns_set_status pauses or resumes one campaign, ad group or ad and measures the result after 24 hours, 3 days and 7 days; campaigns_duplicate_to_draft duplicates a campaign paused, with its targeting, bidding, budget, extensions, keywords and ads. Each of them returns a proposal: a preview of the exact change and a link to the Review advertising change page in Adrails, where you, signed in as an owner or admin of the workspace, apply it or decline it. Adrails reads Google Ads again first and applies the change once, or blocks it if the entity moved in the meantime.
A launch is built paused, switching it on is a second proposal that lists every budget that starts spending, an applied change can be undone while the platform still matches what Adrails wrote, and a proposal expires 30 minutes after it is prepared. Allowing the tool call in Claude Code is Claude Code's own permission, not a decision on the change: the proposal waits on its page in Adrails until an owner or admin applies or declines it.
05
Permissions, cadence and limits
Read workspace data is required and covers every ad account of the workspace; Prepare advertising changes is a separate permission that only an owner or admin can grant, and a permission never goes beyond your role. A member who connects Claude Code reads Google Ads but sees no write tool.
Structure, findings and overviews come from the account's last synchronization, and performance_period reads an exact date range from Google Ads. accounts_list shows each account's last snapshot, and an owner or admin who granted Manage integrations can queue a refresh with meta_sync. Google Ads opens once Google finishes verifying Adrails. Connect Meta for now.
Calls on one connection run one at a time, at most 60 a minute per access token, and a connection works in the one workspace you chose at consent: to work in another, connect Claude Code again and choose it. Revoke Claude Code under Your connections on the MCP page in Adrails; removing the server in Claude Code does not revoke it there.
Go further
Read more
- Claude Code integrationClaude Code with Adrails: setup, the 63 tools and the controls, for every source of the workspace.
- Google Ads in AdrailsWhat Adrails reads, builds and edits on Google Ads, and what Google validates before anything is created.
- Connect an AI clientEvery client, step by step, then how to check the connection.
- MCP tools referenceEvery tool, its inputs and who can call it.
FAQ
Common questions
Does Claude Code need an API key for Google Ads?
No. Google Ads is connected once in Adrails, under Ad accounts, when Google has finished verifying Adrails; a workspace already connected keeps its accounts. Claude Code signs in to Adrails with OAuth, with no client ID or secret to copy, and tool results never contain provider credentials or Adrails tokens.
Can Claude Code change my Google Ads data?
Not by itself. Claude Code prepares the exact change, and an owner or admin signed in to Adrails applies it from the Review advertising change page; the prompt Claude Code shows in the terminal before a tool call is its own setting and applies nothing.
How fresh is the Google Ads data?
Structure, findings and overviews come from the account's last synchronization, and performance_period reads an exact date range from Google Ads. accounts_list shows each account's last snapshot, and an owner or admin who granted Manage integrations can queue a refresh with meta_sync.
Can I connect several Google Ads accounts?
A Claude Code connection covers every Google Ads account of the workspace, and accountIds narrows a call to some of them. Google Ads opens once Google finishes verifying Adrails. Connect Meta for now.