Connect Google Ads to ChatGPT, Claude, Gemini, and other LLMs
Description
Section titled “Description”Google Ads is Google's advertising platform for search, display, and video campaigns. Its data covers campaigns, ad groups, ads, keywords, spend, clicks, impressions, and conversions. To analyze it in ChatGPT, Claude, Gemini, or another LLM, use scheduled Coupler.io imports.
Also searched as AdWords, Google Adwords.
How to connect
Section titled “How to connect”Connect Google Ads to your AI tool with Coupler.io. Pick the tool you use to see how to install it.
Coupler.io imports a Google Ads report on a schedule and exposes the result to Claude through its own MCP server, so Claude queries a stored dataset instead of calling the Ads API during the conversation.
Works with
Pick the AI tool you use. The install steps below change to match it.
- Each AI tool sees only the datasets from data flows that have that tool as a destination. To use the same data in several tools, add each one as a destination on the data flow.
- Every AI tool destination replaces the data on each run; append mode is not supported.
How to install
Works in Claude web, Claude desktop, Claude mobile, Cowork, Claude Code.
In Claude web, desktop, and Cowork
- Install the Coupler.io connector from Claude's connector directory and click Connect.
- In the Connectors menu, click Connect again and sign in to Coupler.io.
- Open a new chat. Claude asks permission to use the Coupler.io tools the first time; allow them.
In Claude Code
- Start a new Claude Code session.
- Paste the connection command shown in the Claude destination step of your data flow.
- Restart the session.
- Run
/mcp, select Coupler.io, and click Authorize in the browser window that opens.
Check it worked
Ask Claude to list the datasets it can see. Allow the Coupler.io tools if it asks, and your Coupler.io datasets are listed.
Good to know
- On individual Claude Free and Pro plans the official connector may connect but fail to load its tools. The documented workaround is a custom connector: in Coupler.io, open AI integrations, click Custom connector, and copy the URL. Remove the official connector in Claude, then go to Connectors, Add, Add custom connector, give it a name with plain letters and spaces only (for example Coupler Custom), paste the URL, and connect.
- Local use with Claude desktop is also available through a Desktop Extension.
Coupler.io guide for ClaudeCoupler.io in the Claude connectors directory
Connects through the Coupler.io ChatGPT app.
In ChatGPT
- Open the Coupler.io app in ChatGPT, from the link in your Coupler.io account or the apps section of ChatGPT settings.
- Install the app and authorize it with your Coupler.io account.
- Start a new chat to pick up fresh data after a run, or ask ChatGPT to fetch it again in an ongoing conversation.
Check it worked
Ask ChatGPT to list the datasets it can see. Allow the Coupler.io tools if it asks, and your Coupler.io datasets are listed.
In Gemini CLI
- In the Gemini CLI destination step, generate the command that adds the Coupler.io MCP server, then run it in your terminal. It looks like
gemini mcp add coupler --transport=http --scope=user https://mcp.coupler.io/mcp/.... - Start Gemini CLI and run
/mcp auth couplerto sign in to Coupler.io.
Check it worked
Ask Gemini CLI to list the datasets it can see. Allow the Coupler.io tools if it asks, and your Coupler.io datasets are listed.
Added as a custom MCP data store with OAuth credentials from Coupler.io.
In Gemini Enterprise
- In the Gemini Enterprise destination step, create OAuth credentials and copy the Client ID and Client Secret. The secret is shown only once; if you lose it, regenerate it.
- In Gemini Enterprise, go to Data stores, Create data store, and choose Custom MCP server.
- Paste the MCP Server URL, Authorization URL, Token URL, and the scope
mcpfrom the destination step, together with the Client ID and Client Secret.
Check it worked
Ask Gemini Enterprise to list the datasets it can see. Allow the Coupler.io tools if it asks, and your Coupler.io datasets are listed.
Coupler.io guide for Gemini EnterpriseGoogle Cloud documentation
Added to a Copilot Studio agent as an MCP tool.
In Microsoft Copilot Studio
- Open your agent in Copilot Studio and confirm generative orchestration is on.
- Go to Tools, Add a tool, New tool, Model Context Protocol, and paste the Coupler.io MCP server URL shown in the destination step.
- For authentication, choose OAuth 2.0 and Dynamic discovery, then click Create. No client ID or secret is needed.
- The first time someone uses the tool, they see a consent card in chat and sign in to Coupler.io once.
Check it worked
Ask your Copilot Studio agent to list the datasets it can see. Allow the Coupler.io tools if it asks, and your Coupler.io datasets are listed.
Coupler.io guide for Microsoft Copilot StudioMicrosoft documentation
Perplexity currently uses the local Coupler.io MCP server, which runs in Docker.
In Perplexity
- In Perplexity, go to Settings, Connectors, click Add new connector, and choose the simpler settings.
- Name the connection coupler-io and enter the command
docker run --pull=always -e COUPLER_ACCESS_TOKEN --rm -i ghcr.io/railsware/coupler-io-mcp-server. - Add an environment variable called
COUPLER_ACCESS_TOKEN, then generate a Coupler.io personal access token and paste it as the value. - Save the configuration and accept the security warning about Docker.
Check it worked
Ask Perplexity to list the datasets it can see. Allow the Coupler.io tools if it asks, and your Coupler.io datasets are listed.
In Cursor
- Open the Coupler.io entry in Cursor's MCP directory and click Add to Cursor.
- In Cursor, find the new Coupler.io integration, click Needs authentication, then sign in with your Coupler.io account and grant access.
- Open the AI pane and ask about your dataset.
Check it worked
Ask Cursor to list the datasets it can see. Allow the Coupler.io tools if it asks, and your Coupler.io datasets are listed.
Coupler.io guide for CursorCoupler.io in the Cursor MCP directory
Connects to the Coupler.io MCP server through mcporter.
In OpenClaw
- Install the coupler-io skill from ClawHub. It holds the commands that connect the Coupler.io MCP server to OpenClaw with mcporter.
Check it worked
Ask OpenClaw to list the datasets it can see. Allow the Coupler.io tools if it asks, and your Coupler.io datasets are listed.
Connects any MCP-compatible client with a personal access token.
In your MCP client
- In the Custom MCP destination step, click Generate token and copy it together with the MCP server URL.
- Add the token and URL to your MCP client's JSON config, following the example config shown there.
Check it worked
Ask your MCP client to list the datasets it can see. Allow the Coupler.io tools if it asks, and your Coupler.io datasets are listed.
Good to know
- Treat the personal access token as a secret and do not share it.
- Behind a corporate firewall, allow outbound connections to the Coupler.io MCP endpoint.
What Coupler.io gives you from Google Ads
- Over 30 report types in total
- Frequently used: Campaign performance, Keywords performance, Ad group performance, Ad performance, Asset group performance, Custom GAQL
- Audience and demographics: Ad group audience performance, Campaign audience performance, Age range performance, Gender performance, User interest and user list
- Search and placement: Search query performance, Display keyword performance, Display topics performance, Placement performance, Landing page and Expanded landing page
- Geography and network: Geographic performance by country, state, or region, User location performance, Campaign performance by ad network type
- Other performance: Account performance, Click performance, Shopping performance, Responsive search ad performance, Video campaign performance
- Structural: Accounts, Campaigns, Ad groups, Ads. Settings: Campaign budgets, Campaign criterion, Campaign labels, Bidding strategies, Labels
- Metric categories: Budget, Clicks, Conversions, Cost, Performance, Cross sell and Sales, Video, Phone
- Time splits: Date, Day of week, Week, Month, Quarter, Year
An example question you can ask
Which campaigns increased spend but lost conversions last month, and how much of that was impression share lost to budget?
How the data reaches the AI tool
Coupler.io reads the Google Ads API, stores the result as a dataset, and serves it to Claude over its MCP server. Queries run on Coupler.io's side, so a large dataset does not have to fit into the model's context. Claude sees only datasets from data flows that have Claude as their destination.
- Historical data
- You set a start and end date; no hard limit on the range is stated, but long ranges with daily splits are slow
- For initial backfills the documentation recommends pulling in monthly or quarterly chunks to avoid API limits
- Refresh
- A successful manual run is required before a schedule can be set
- Scheduled refresh is described as hourly, daily, or a custom interval
- The platform supports intervals from every 15 minutes to monthly, depending on plan
- Combining several sources
- One data flow can take several sources and combine them with Join or Append before the data reaches Claude
- Google Ads is documented as merging with Google Analytics, Facebook Ads, CRM, or e-commerce data for a full-funnel view of spend and results
- Prerequisites
A Coupler.io account
Limits to expect
- Google Ads API quota can be exceeded globally or per account, returning a 429 with a retry delay; the documented fix is to wait roughly 4 hours for the quota to reset
- Rows with all-zero metrics are not returned by the API, so an ad or keyword with no activity in the period simply does not appear
- Low-volume search terms are grouped under Other search terms to meet Google's privacy thresholds
- Custom columns created in the Google Ads interface are not part of the API and cannot be pulled
- Impression share metrics are not summable across rows
- Performance Max campaigns have asset groups rather than traditional ads and ad groups
- Custom GAQL returns cost as cost_micros, which must be divided by 1,000,000
- Data is typically available within a few hours, but conversions may take 24 to 72 hours to finalise
Related skills
Section titled “Related skills”A skill gives the AI tool instructions for a task. It connects no data, so connect Google Ads first.
Budget pacing
- Am I on track with my Google Ads budget
- Will I overspend this month
View skillClient report
- What do I tell the client
View skillConversion tracking audit
- Can I trust my Google Ads conversion numbers
- Audit my conversion tracking
View skillCustom GAQL
- I need a Google Ads field that isn't in any report
- Can I get hourly Google Ads data
View skill
Show 7 more skillsShow fewer skills
Keyword and quality score analysis
- Which keywords make money
- My quality score dropped
View skillPerformance review
- How are my Google Ads doing
- Why did my cost per lead go up
View skillPMax transparency
- How is Performance Max doing
- Is PMax cannibalising my Shopping campaigns
View skillSettings audit
- Audit my Google Ads settings
- Is my account set up right
View skillWaste and scale
- Where am I wasting money on Google Ads
- Which keywords should I pause
View skillMarketing analytics
- Why did conversions drop
- Which channel has best ROI
View skillPPC analytics
- How are my ads performing
- Weekly PPC report
View skill
Related connectors
Section titled “Related connectors”No related connectors listed yet. Browse all connectors.
Questions
Section titled “Questions”Can Claude pause a campaign or change my bids?
No. Coupler.io is read-only against Google Ads: Claude queries an imported dataset and cannot change campaigns, budgets, or bids.
Does my manager account give Claude access to all my sub-accounts?
No. Manager (MCC) access does not automatically grant data access to sub-accounts; each ad account needs explicit Standard or Admin access. Note also that each ad account you select counts as one account toward your Coupler.io plan limit, because Google Ads is a tenant-based source.
Why does an import fail with a quota error?
The Google Ads API quota can be exhausted globally or per account, returning a 429 with a retry delay. The documented fix is to wait roughly 4 hours for the quota to reset, and to pull large backfills in monthly or quarterly chunks rather than years at once.
Why are some campaigns or keywords missing from my data?
The Google Ads API does not return rows where every metric is zero, so anything with no activity in the period simply does not appear. Separately, low-volume search terms are grouped under Other search terms to meet Google's privacy thresholds, and custom columns built in the Google Ads interface are not available through the API at all.
Why do my conversion numbers keep changing?
Google Ads data is typically available within a few hours, but conversions may take 24 to 72 hours to finalise. A report pulled this morning about yesterday will often disagree with the same report pulled next week.
Sources and corrections
Section titled “Sources and corrections”Researched on 2026-10-04. One route is covered, researched on 4 October 2026: the Coupler.io data platform. No dedicated Google Ads entry was reachable in Claude’s connector directory at the obvious address; the directory cannot be searched exhaustively, so no claim is made that none exists.
Something here wrong or out of date? Open a correction issue and it will be re-checked against the source.