Yours, read with your permission
Google Ads as an MCP data source
Request a demo Play this question →
- ~1 day behind, always labelled
- OAuth 2.1 · read-only
- Claude, ChatGPT, Cursor, VS Code
- Terms · keywords · groups · pages
- Linked through your MCC account
Asked in your assistant
Are we paying for keywords we already rank for?
This source, on its own
- Ad spend$48,210
- Average CPC$2.14
- Cost per conversion$61.80
this source stops here
- ✕Did rivals outrank us organically?no competitor data
- ✕Was the CPC rise real?no significance test
- ✕Is the landing page slow?not in the source
- ✕Are AI answers taking clicks?different surface
The same question, routed wider
- ✓ Google Ads spend, bids, impression share
- ✓ Search Console organic ranks on the same keywords
- ✓ Your taxonomy grouped by your product lines
- ✓ Statistical engine overlap sized, significance-gated
What comes back
- Terms in organic top 338
- Spend on them$11,400
- Safe to pause-test9 terms
Illustrative
- Setup~2 minutesOAuth sign-in, no developer token, no server to host.
- ScopeRead-onlyNo bid, budget or campaign can be changed through it.
- Sources behind itEightAds alone works. Seven more join when connected.
- Tools58 across 11 categoriesFour cover paid; the assistant routes to them.
What a Google Ads MCP server does
An MCP server is the connection between your assistant and a system that holds data. Connect one for Google Ads and your assistant can read the account you already run: spend, cost per click, cost per conversion, impression share, and the search terms that actually triggered your ads, without opening the reporting interface first.
Paid data on its own describes an auction. What it cannot describe is the ground you already hold. The question every paid team is eventually asked is whether the spend defends a position or duplicates one, and answering it needs the organic side of the same keyword.
Connect Google Ads in about two minutes
One endpoint, an OAuth sign-in, and the account your team already manages.
- 01 Add the endpoint Paste it into your client's MCP settings. One server, every source, there is no per-source endpoint to manage.
https://mcp.quattr.com/mcp - 02 Sign in with Quattr OAuth 2.1 in the browser. The session is bound to your organisation and scoped read-only; no developer token is minted and nothing is hosted by you.
- 03 Say which keyword you mean The search term that triggered an ad and the keyword you bid on are different fields. Ask in plain language and the assistant names which one it grouped by.
What you can ask on day one
Plain questions, not query language. Each one runs against the Ads account alone, nothing else has to be connected first.
-
Are we paying for keywords we already rank for? -
How did CPC and cost per conversion trend this month against last? -
Which campaigns lose the most impression share to rank, and what would closing it cost? -
Show me the search terms with spend and no conversions in the last 30 days. -
Which ad groups got more expensive without getting more conversions?
The Google Ads tools it exposes
-
paid_search_overviewSpend, CPC, cost per conversion and conversions by term, keyword, ad group or campaign. R5 Rewarded -
paid_organic_overlapKeywords you buy and already rank for, with the spend attached to each overlap. R5 Rewarded -
paid_impression_shareShare of the available auction won, and how much of the rest was lost to rank. R2 Retrieved -
paid_organic_performance_comparisonPaid and organic side by side on clicks, cost and conversions for the same period. R5 Rewarded
You never name one of these. The assistant routes the question; the reference is public so an answer can be checked against what it was built from.
Where Google Ads reads, what it assumes beneath, and what it cannot reach. Filled rungs are measured; hatched rungs are taken on faith.
- R5 Rewarded reads here Three tools: the click produced a conversion Ads recorded.
- R4 Represented assumed, not measured This source takes this rung on faith. Another one has to prove it.
- R3 Referenced assumed, not measured This source takes this rung on faith. Another one has to prove it.
- R2 Retrieved reads here One tool, impression share: how often you were retrieved into the auction at all.
- R1 Reachable assumed, not measured This source takes this rung on faith. Another one has to prove it.
A reading at any rung is only as trustworthy as the rungs beneath it. The split is the point. Impression share is measured near the bottom; conversions near the top with three rungs assumed between them. Reading one as evidence for the other skips those rungs.
Where a single-source Google Ads MCP stops
Not at a feature the vendor forgot. At the edge of what the auction records.
- Do we already rank for what we buy? The Ads account records the auction it took part in. Whether you hold position three organically for the same term is recorded in a system the account has never seen. needs Search Console
- Did the organic click go to a rival? Impression share describes the auction you competed in, not the results page around it. A competitor gaining the organic position above your ad is invisible from inside the account. needs Rank tracking
- Did the click become a business result? Ads counts the conversions it is configured to count. Whether those match the goals your organisation reports on, and what they were worth, lives in analytics. needs GA4 / Adobe
- Was the page ready for the visit? You paid for the arrival. Whether the page rendered quickly enough to keep the visitor is measured separately, and a slow template raises cost per conversion quietly. needs Lighthouse / CWV
Seven more sources answer what Google Ads structurally cannot
Every source is one you already own or one Quattr collects for you. Connect none of them and the paid answers still work. Connect any of them and spend stops being judged against itself.
- Search Console yours The organic side of the same keyword. Which terms you buy while already ranking, and which you would lose entirely without the ad. 1 to 2 days behind
- GA4 or Adobe yours The conversion rate itself, read rather than derived, plus the named goals that decide whether cost per conversion is cheap or expensive. loads nightly
- Server logs yours What was actually served to the landing page you are buying traffic for, including redirects and error responses that quietly waste spend. hours to nightly
- Site crawl Quattr Whether the destination is sound: canonicals, redirect chains and depth on the pages your ads point at. per crawl schedule
- Rank tracking Quattr The results page around your ad. Who holds the organic positions on terms you bid for, and whether the ground under a campaign moved. ~1 day behind
- AI visibility Quattr Whether answer engines are handling the question you are bidding on, which changes what the auction is worth before the CPC ever moves. ~1 day behind
- Lighthouse / CWV Quattr Page experience on the landing templates you pay to send people to. Slowness on a paid destination is spend leaking after the click. varies by site
- The ladder that orders them R1 Reachable → R2 Retrieved → R3 Referenced → R4 Represented → R5 Rewarded. A broken lower rung invalidates every reading above it. The method →
Quattr MCP compared with a standalone Google Ads MCP
A category comparison, not a claim about any one vendor. A standalone connector is a good piece of software doing a narrower job; the table is here so you can tell which situation you are in before installing anything.
| Dimension | A standalone connector | Quattr MCP | When it matters |
|---|---|---|---|
| Google Ads coverage | The full API surface, queried with Google Ads Query Language against any resource. | Spend, CPC, cost per conversion, impression share and the paid-organic join, as governed analyses. | If you need an arbitrary query against a resource we do not surface, the standalone tool is the one. |
| Other sources | None. One server per source; your assistant holds several unrelated connectors. | Seven more behind the same endpoint, joined on your segments rather than on keyword strings. | The moment the question is whether spend defends a position or duplicates it. |
| How a question is answered | Your assistant composes the query language, then interprets the rows it gets back. | The question is routed to a governed analysis that states its scope and returns a verdict. | When a wrong query returns a plausible number instead of an error. |
| Significance | Not offered. A 4% CPC rise and a 40% rise look alike. | Changes are tested before they are called changes, and undecidable ones are reported as undecidable. | Monthly budget reviews, where most movement is noise. |
| Conversion rate | Derived as conversions divided by clicks if you ask for it that way. | Read from your analytics source, never derived by dividing one system's numerator by another's denominator. | Any figure that leaves the paid team and reaches a finance conversation. |
| Segmentation | Campaign, ad group and label structure as it exists in the account. | Your own taxonomy, product lines, intents, page groups, built during onboarding and shared with organic. | When paid and organic have to be compared on the same grouping. |
| Time to first answer | Minutes once you have a developer token and somewhere to run the server. | Minutes once the account is set up, because the taxonomy shared with organic exists before the first question. | Honestly, this row favours the standalone tool when you want an answer this afternoon. |
| Cost | Free and open source. You supply the developer token and the hosting. | Included with a Quattr subscription. No separate MCP product, no separate bill. | If you are not a Quattr customer, the standalone tool is the one you can use this afternoon. |
Rows describe a category, checked against publicly documented behaviour. Named-vendor claims live on the comparison pages, dated. If a row is wrong or out of date, it is a defect, tell us and it changes.
What Google Ads itself will not tell you
- The search term is not the bidded keywordThe query that triggered an ad and the keyword you bid on are different fields, and a report grouped by one is not a report grouped by the other. Answers name which grouping produced them.
- Conversion rate does not come from AdsDividing Ads conversions by Ads clicks produces a number that looks right and is wrong in a way nobody can see. The rate is read from your analytics source instead.
- Search-term rows are withheldTerms below a privacy threshold are not reported, so the search-terms view never sums to the campaign total. A breakdown says when it does not reconcile rather than presenting the smaller figure as the whole.
- Conversions restate after the factConversions are attributed with lookback windows, so a recent figure is provisional and tends to rise for days afterwards. Yesterday's cost per conversion is an early reading, not a final one.
Freshness, permissions and what is stored
- Freshness
- About a day behind. Ads reporting settles overnight, so same-day spend is provisional and labelled as provisional.
- Scope
- Read-only. No bid, budget, campaign or asset can be changed through the MCP.
- Sign-in
- OAuth 2.1 in the browser. No developer token is minted and no server is hosted by you.
- Tenancy
- Sessions are bound to your organisation. A session cannot reach another tenant's account.
- Your prompts
- Your assistant sends the question to the server to route it. It is not used to train anything.
- Account link
- Linked through an MCC manager account at onboarding and read through the Google Ads API. Three years of history is standard and the window can be customised.
Origin event to answered card for Google Ads, with the stage each stated limit attaches to.
- lag enters
- data leaves
- modelling begins
- 01 The auction runs
- 02 Click and conversion recorded
- modelling begins: The search term that triggered the ad is a different field from the keyword you bid on.
- 03 Overnight settlement
- lag enters: Conversions restate upward as lookback windows close.
- 04 MCC-linked API read
- data leaves: Search-term rows are withheld below a threshold.
- 05 Joined to organic
- modelling begins: Conversion rate does not come from Ads.
Two different fields with a one-to-many relationship, one of them incomplete by policy.
A report grouped by keyword is not a report grouped by search term. They are different fields with a one-to-many relationship, and the search-term side is incomplete by policy, so the two will not reconcile, and neither is wrong.
Who can connect it, and what it costs
The MCP is included with a Quattr subscription. There is no separate MCP product and no separate bill. If your organisation already uses Quattr, the Ads account is almost certainly linked on the platform side already, and the MCP is a new doorway to data you are paying for.
The joins depend on setup. Segments and product lines are configured first, which is what lets paid and organic be compared on the same grouping rather than on keyword strings. If you want a number today with none of that in place, the official connector is the honest recommendation, it is free, and if you already hold a developer token it runs in an afternoon.
Learn to read the numbers yourself
- topic Paid and organic interplay Coverage against share of voice, the overlap table, and the pause test that settles spend.
- topic Holdouts that earn causal language How to design the test before claiming the saving, and what a valid lift claim requires.
- metric Cost per conversion Definition, denominator, and why it moves for days after the day it describes.
- report The paid and organic overlap report What belongs in it, what does not, and which rows are candidates rather than conclusions.
Questions people ask before connecting
Is this an official Google product?
No. Google publishes its own open-source Google Ads MCP server, which you host yourself. This is Quattr's server, reading the account linked to your Quattr organisation.
Can it pause a campaign or change a bid?
No. The scope is read-only, as is Google's own server today. An assistant that can move budget is a different risk profile from one that can only report on it.
How does Quattr get access to the account?
Through an MCC manager-account link set up at onboarding, read through the Google Ads API. You are not asked for a developer token, and nothing runs on your infrastructure.
Can it tell me our Google Ads conversion rate?
Yes, and it will not calculate it by dividing conversions by clicks. The rate is read from your analytics source, because mixing two systems that count differently produces a confident wrong number.
Why don't the search terms add up to the campaign total?
Google withholds low-volume search terms for privacy, so that view is structurally smaller than the campaign figure. The answer says so rather than presenting the smaller number as the whole.
How far back can it look?
Three years is the standard window, and it can be customised per account. Anything beyond what was retained at ingestion is honestly unavailable rather than estimated.
What if I connect Ads and nothing else?
Everything on this page above the comparison table works, including impression share and cost trends. Questions needing organic or analytics get a refusal that names what is missing.
Is a standalone Google Ads MCP ever the better choice?
Yes. If you want arbitrary query-language access to every resource in the API, and you are comfortable holding a developer token and hosting a server, the official one is free and does that well.
All eight sources, one spine
Watch this source answer real questions
All runs →
2 min 3 secYou are buying clicks you already own. So cut them?Google Ads + Search Console · Paid organic balance◐Recreated from an anonymized session
2 min 18 secThe deck is due tomorrow. The numbers live in five places.Search Console + Rank tracking + AI visibility + Web analytics + Google Ads · Monthly exec review◐Recreated from an anonymized session