Free Google Ads MCP: No-Code Setup

  • Free forever plan: connect unlimited Google Ads accounts, keep up to 30 days of history and get 100 automation credits a month.
  • Official Google Ads API: sign in with Google. No developer token, no Cloud project, and you can revoke access anytime.
  • Run Google Ads end to end: campaigns, search terms, keywords, reports and live dashboards.
  • Safe by default: new campaigns start paused, and Porter Metrics asks for your approval before it writes anything.
Try free

What is a Google Ads MCP server?

A Google Ads MCP server lets an AI assistant like Claude or ChatGPT read and manage your Google Ads accounts through the Model Context Protocol (MCP). You ask in plain language, and the assistant calls the Google Ads API for campaigns, keywords, search terms, budgets and reports.

  • Quick setup: paste https://mcp.portermetrics.com/mcp into Claude, ChatGPT or Cursor and sign in with Google. Full steps
  • Works in: Claude, ChatGPT, Claude Code, Cursor, VS Code and Codex
  • Data: 1,042 Google Ads fields, across every account your Google login reaches, client accounts under a manager account included
  • Changes: campaigns, ad groups, keywords, ads, budgets and assets, each after your approval; new campaigns start paused
  • Price: free plan, paid plans from $15 per account a month
  • Official Google server: yes, open source and read-only, hosted by you in your own Google Cloud project
Use cases

Google Ads MCP use cases

Ask for a report, a search-term cleanup or a new campaign, and Claude works from your live Google Ads accounts.

Reports

  • Live dashboards: turn any answer into a hosted dashboard that stays current, or start from the free Google Ads dashboard template for Claude.
  • Blended reports: Google Ads Cost and Clicks beside GA4 sessions and key events, or next to Meta Ads and Microsoft Ads, in one table.
  • Every client account: one question across the accounts under your manager account.
  • Schedules and alerts: a weekly report by email, and a message when Cost / conv. passes your cap.

Research

  • Keyword ideas: Google’s keyword ideas with search volume, competition and bid estimates, grouped the way you plan ad groups.
  • Match type and query mining: each Search keyword match type next to the Search term that triggered the ad.
  • Competitor search data: live Google results and competitor keywords for your terms, next to your own Google Ads numbers.
  • Geo search: find location targets by name before you build a campaign.

Audits

  • Wasted spend: every search term with Clicks and Cost but no conversions, grouped by campaign.
  • Impression share: Search Lost IS (budget) and Search Lost IS (rank), so you know what holds each campaign back.
  • Quality Score: low Keyword quality score next to Cost / conv., before you rewrite an ad or raise a bid.
  • Account audit: structure, naming, budgets, pacing and tracking, ranked by what to fix first.

Management

  • Campaigns: build Search, Performance Max, Demand Gen, Display, Shopping and App campaigns, created paused.
  • Keywords and negatives: add, pause or rebid keywords and add negatives from a search-term review.
  • Budgets and bids: shift budget between campaigns, with the plan shown before anything changes.
  • Ads and creative: responsive search ad copy, Demand Gen images and short videos, uploaded into the paused draft.
Reference

Google Ads MCP server reference

One MCP server: Google Ads fields, metrics, dimensions and actions reach Claude, ChatGPT and other AI clients through Porter’s MCP. The same server URL works in any MCP client that supports remote servers. The data comes from Porter’s Google Ads connector, which reads Google Ads through the official API.

Google Ads fields

Account objects: accounts · manager accounts · campaigns · ad groups · ads · keywords · assets · budgets · audiences

Campaign setup: Campaign · Campaign status · Advertising channel type · Budget Amount · Ad group

Ad fields: Ad type · Responsive Search Ad Headlines · Final URLs

Every field, label and description sits in the full Google Ads field reference.

Google Ads metrics

Visibility: Cost · Impressions · Search Impr. share · Search Lost IS (budget) · Search Lost IS (rank)

Engagement: Clicks · CTR · Avg. CPC

Conversion: Total conversions · Cost / conv. · Conversions value · Conv. value / cost

Context: vs previous period · vs target · trend · budget pacing

Google Ads dimensions and segments

Campaign: Account name / description · Campaign · Advertising channel type · Campaign status

Keyword and search term: Search keyword (Criterion) · Search keyword match type · Search term · Keyword quality score

Audience and geo: Country/Territory · Device

Time: Date · Week · Month · Day of Week · Hour of day

Google Ads actions

Read actions: account details and manager status (customer_get, customer_verify_is_manager) · campaigns, ad groups, ads, keywords and budgets (campaign_list, adgroup_list, ad_list, keyword_list, budget_list) · any GAQL report (report_query) · keyword ideas (keyword_ideas_generate)

Write actions (each asks you first): create budgets, campaigns, ad groups, keywords and ads (budget_create, campaign_create, adgroup_create, keyword_create, ad_create) · change status, bids and budgets (campaign_update, adgroup_update, keyword_update, ad_update) · link assets and audiences (asset_link_to_campaign, adgroup_criterion_create_audiences)

Remove actions (permanent, each asks you first): keyword_remove · ad_remove · budget_remove · adgroup_criterion_remove

Not available: billing, payment methods and account user access stay in Google Ads.

Freshness: cost and clicks are close to real time. Conversions keep updating for days as Google attributes them back to the click date.

Other destinations

The same Google Ads connection also sends data to Data Studio (formerly Looker Studio), BigQuery and Google Sheets, at no extra cost.

Google caps API traffic through Google Ads API access levels. Porter makes the calls through its own approved access, so you never apply for a level yourself.

Security and trust

Safety and security

Reports from Porter’s Google Ads MCP are read-only, and every change stays in your hands. New campaigns, ad groups and ads are created paused, and Claude or ChatGPT asks for your approval before Porter writes anything to your Google Ads account.

Read-only first

Ask for reports, audits and research without writing to Google Ads. Analysis and campaign changes are separate jobs, so a report can’t edit a campaign.

Reporting priced per account

Reporting is billed per connected data source account. Asking one more question about the same account adds no cost.

Approved Google sign-in

Connect with your Google login through Porter. You skip the developer token, the Google Cloud project and the API keys.

Manager accounts stay scoped

Porter works in the advertiser accounts your login can reach. From a manager account, each write goes to the client account you name.

Draft mode by default

Campaigns, ad groups and ads start paused, and nothing serves until you approve it or turn it on in Google Ads. Removing a campaign, keyword, budget, ad group or asset group is permanent, so Porter asks first.

Budget guardrails

Porter shows the budget plan before it applies, and the change waits for your yes. A wrong budget costs real money, so it gets its own checkpoint.

Official API, no browser automation

Porter works through the official Google Ads API. Nothing clicks around the Google Ads interface on your behalf.

Revoke access anytime

Disconnect Porter from your connection settings whenever you want. Access ends with the Google connection you approved.

Worried about suspensions? Read whether Google Ads can ban you for using an MCP.

Setup

How to set up the Google Ads MCP server

Paste this server URL into your AI app, then sign in with Google:

https://mcp.portermetrics.com/mcp

First, create a free Porter account and connect Google Ads: Create → pick your AI app as the destination → Google Ads → sign in with Google → select your accounts.

Before you connect: use a Google login with Standard or Admin access to each account if you want Claude to make changes; Read only access is enough for reports. Agencies sign in with the manager account to reach every client account under it, per Google’s access levels guide.

How to install Google Ads MCP in Claude

  1. Open claude.ai and go to Settings → Connectors.
  2. Click Add custom connector.
  3. Name it Porter and paste https://mcp.portermetrics.com/mcp.
  4. Click Add, then sign in with the Google account you use in Porter and approve access.
  5. Ask Claude your first Google Ads question.

On Team and Enterprise plans, an owner adds the connector first. Anthropic’s custom connector guide covers the same steps.

Watch the Claude setup demo

How to install Google Ads MCP in ChatGPT

ChatGPT has two routes to the same data. The Porter Metrics app in ChatGPT’s app directory works on any plan with apps. The Porter MCP gets every new tool the day Porter ships it, on Business, Enterprise and Edu workspaces.

Porter Metrics app: in ChatGPT, open Apps, search “Porter Metrics”, click Connect and sign in with the Google account you use in Porter.

Porter MCP:

  1. Open ChatGPT on the web and go to Plugins.
  2. Click +, then Add custom MCP server.
  3. Name it Porter and paste https://mcp.portermetrics.com/mcp under Connection.
  4. Choose OAuth, tick “I understand and want to continue” and click Create as a plugin.
  5. Sign in with the Google account you use in Porter.

Pro accounts can add it with read access only, per OpenAI’s custom MCP server guide.

Watch the ChatGPT app demo

How to install Google Ads MCP in Claude Code, Cursor, VS Code and Codex

Pick your coding agent. Each one uses the same server URL and a Google sign-in, so no API key or credentials file sits in a config.

  1. Add Porter’s plugin in Claude Code. It installs the Porter connector and Porter’s skill in one step.
    /plugin marketplace add portermetrics/porter /plugin install porter-metrics@portermetrics
  2. Ask for your data. The first time, your browser opens: sign in with the Google account you use in Porter.
  3. No plugins? Add the server directly instead:
    claude mcp add --transport http porter https://mcp.portermetrics.com/mcp
  4. Check: /mcp shows porter as connected. Ask: “Which Google Ads accounts can you see?”
  1. Open Cursor Settings → Tools & Integrations and click New MCP Server. Cursor opens mcp.json.
  2. Paste this and save.
    { "mcpServers": { "porter": { "url": "https://mcp.portermetrics.com/mcp" } } }
  3. Click Connect next to porter and sign in with the Google account you use in Porter.
  4. Check: porter shows a green dot in Tools & Integrations. Open an Agent chat. Ask: “Which Google Ads accounts can you see?”
  1. Open the Command Palette (Ctrl/Cmd+Shift+P) and run MCP: Add Server → HTTP.
  2. Paste https://mcp.portermetrics.com/mcp, name it porter and choose Global. Or add it to .vscode/mcp.json:
    { "servers": { "porter": { "type": "http", "url": "https://mcp.portermetrics.com/mcp" } } }
  3. Allow the sign-in prompt and sign in with the Google account you use in Porter.
  4. Check: open Copilot Chat in Agent mode; Porter’s tools appear under the tools icon. Ask: “Which Google Ads accounts can you see?”
  1. Add Porter from your terminal.
    codex mcp add porter --url https://mcp.portermetrics.com/mcp
  2. Sign in. Your browser opens: sign in with the Google account you use in Porter.
    codex mcp login porter
  3. Check: codex mcp list shows porter as logged in. Start codex. Ask: “Which Google Ads accounts can you see?”

The same URL works in Windsurf, Cline, Zed and any client that supports remote MCP servers over HTTP.

Add Porter’s skill

Porter’s skill teaches Claude which Porter tools to call for each Google Ads task, so answers need fewer retries. In claude.ai, download https://mcp.portermetrics.com/skill.zip and upload it in Settings → Capabilities → Skills. In Claude Code, Porter’s plugin adds it for you, and other agents can run npx skills add portermetrics/porter.

Test the connection

Paste this into a new chat. It only reads data.

Use Porter only. List my Google Ads accounts and say which are manager accounts. For the first client account, show Cost, Clicks, Conversions and Cost / conv. by campaign for the last 7 full days. Say so if an account returns no data.

Guides and videos

Prompts

Google Ads MCP prompts

Copy a prompt into Claude or ChatGPT, then change the dates or thresholds to fit your account. Every change waits for your approval.

Reporting prompts

Wasted search terms

Find search terms from the last 30 days with Cost above $50 and zero Total conversions. Group them by campaign and suggest negatives, but don’t add them yet.

Impression share lost

For each Search campaign, show Search Impr. share, Search Lost IS (budget) and Search Lost IS (rank) for the last 30 days. Tell me which campaigns are held back by budget and which by rank.

Performance Max vs Search

Compare Performance Max and Search campaigns by Cost, Conversions value and Conv. value / cost for last month, split by Advertising channel type.

Quality Score check

List active keywords with Keyword quality score below 5 and Cost / conv. above the account average. For each, say whether to fix the ad, the landing page or the keyword.

Monthly pacing

Show month-to-date Cost by campaign against each budget and project where spend lands at month end.

Client account comparison

Compare every client account by Cost, Total conversions and Cost / conv. for the last 30 days, worst first.

Weekly report

Write a weekly Google Ads report in simple words: what changed, what worked, what got worse and what to do next.

Research and audit prompts

Keyword ideas

Get keyword ideas for ‘trail running shoes’ in the United States and group them by intent and ad group.

Spend to sessions and key events

Put Google Ads Cost and Clicks by campaign next to GA4 sessions and key events for the same campaigns, last 30 days.

Campaign QA before launch

Audit the paused campaign ‘Spring Sale Search’ before I turn it on. Check budget, bidding, locations, keywords, negatives, ad copy and final URLs.

The spend-to-sessions prompt blends Google Ads with the GA4 connector for Claude.

Management prompts

Add negatives from search terms

From the wasted search terms list, add the ones I approve as exact-match negatives at campaign level.

Budget optimizer

Compare campaigns by Cost, Conv. value / cost and Search Lost IS (budget). Propose budget moves, and don’t apply anything until I approve.

Pause or rebid keywords

Find keywords with Cost above $100 and no conversions in the last 30 days. Propose pauses or lower bids, and wait for my approval.

Campaign from a brief

Build a Search campaign from the brief I paste next. Create the budget, campaign, ad groups, keywords and responsive search ads, all paused.

Alert agent

Every Monday, check active campaigns for Cost / conv. spikes, falling Conv. value / cost and spend with no conversions. Send me an alert when something needs review.
Who this is for

Who this is for

Porter’s Google Ads MCP is for marketers who run Google Ads and act on what they find. PPC managers, agencies, in-house teams and analysts use it to answer an account question in one prompt. The answer then becomes a change, a dashboard or an alert.

Agencies and freelancers

  • Every client account: one question across the accounts under your manager account, with no logging in and out.
  • Client reports: a live report the client opens on Monday that you never rebuilt.
  • Account audits: the quarterly review opens with what to fix.
  • Bulk changes: one instruction updates keywords or budgets across accounts, each change approved.

In-house marketers

  • Cross-channel reporting: Google Ads next to your other ad platforms and the rest of Porter’s 30+ data sources.
  • Executive reports: one link that’s already current when leadership opens it.
  • Attribution: Google Ads Cost beside GA4 key events and the revenue in your CRM.
  • Budget pacing: month-end spend projected while there’s still time to move it.

PPC managers

  • Search terms: the wasted-terms list is ready before Monday’s check-in.
  • Impression share: you know whether budget or rank is holding a campaign back.
  • Keywords: pause, rebid or add negatives from the chat, approved one by one.
  • New campaigns: a brief turns into a paused campaign you review in Google Ads.

Analysts

  • Field-level access: the same field labels in chat, Sheets and BigQuery, so numbers match across tools.
  • Questions in words: ask for data in a sentence, with no GAQL to write or debug.
  • Warehouse destinations: send the same Google Ads data to BigQuery or Google Sheets.
  • Alerts: a spike reaches you the day it happens.

When to use Google’s own instead

You’re a developer who wants read-only GAQL access and is happy to run a Google Cloud project. Google’s server is first-party, open code and enough for that job.

Comparison

Official Google Ads MCP vs. Porter

Google’s official Google Ads MCP server and Porter’s both connect Google Ads to AI clients through MCP. Google’s Google Ads MCP server guide describes a read-only release that runs GAQL queries and that you host yourself. Porter’s server is hosted, writes with approval and adds your other channels.

Google’s server gives your AI read access to one platform. Porter gives it the paid media job: every channel, the reporting, the creative and skills that already know the work.

Both read live Google Ads data through Google’s official API, with OAuth sign-in. Here is where they part.

PorterGoogle’s official MCP
Same job, different reach
SetupGoogle sign-in and one server URLYour Google Cloud project with API access, an OAuth client, then a local install or your own Cloud Run deploy
Steps before your first question3: connect Google Ads in Porter, paste the URL, sign in with GoogleA Cloud project with Google Ads API access, an OAuth client, then a pipx install or your own Cloud Run deploy
Credential files on your computerNoneAn OAuth client ID and secret, or application default credentials
ToolsRead, write and remove actions for campaigns, ad groups, ads, keywords, budgets and assets3: list_accessible_customers, search, get_resource_metadata
Developer tokenNot neededNot needed since Google’s sunset
Query styleReady-made fields with the labels you see in Google AdsGAQL queries
Manager accountsClient accounts under your manager account, with each write sent to the one you nameThe accounts your credentials can access
WritesCampaigns, budgets, ad groups, keywords, ads and assetsRead-only in the current release
Approval controlsCreated paused, approval before every writeNo writes to approve
PriceIncluded in every Porter plan, the free plan tooOpen code you host yourself
Only one side
Other channels30+ data sources: Meta Ads, LinkedIn Ads, GA4, HubSpot, Shopify and more—
Cross-channel questions in one conversationYes—
Blending sources into one numberYes—
Live dashboardsYes—
Scheduled reports and alertsYes—
Ad copy, image and video generationYes—
Attribution to GA4 and CRM dataYes—
Data Studio, Google Sheets, BigQuery, Power BIYes—
Skills for whole tasksYes—

Google’s column follows the tools and modes in Google’s MCP server guide (as of November 2026).

Pick Google’s server for read-only GAQL work in your own Cloud project. Pick Porter when the job includes changes, other channels or reports someone else opens.

Porter vs other hosted Google Ads MCPs

Hosted Google Ads MCPs such as Zapier, Adspirer, Two Minute Reports and Composio also skip the Cloud setup. Porter is built for teams that report on and run several accounts and channels:

1

Every account at once

One prompt answers for all your client accounts, not one account per setup.

2

Google Ads next to 30+ sources

GA4, Google Tag Manager, Meta Ads, Microsoft Ads and Shopify, blended in one answer.

3

Competitor search data

Keywords, live search results and competitor pages, next to your own Google Ads numbers.

4

Reports outside the chat

Live dashboards, scheduled email reports, and the same data in Data Studio, BigQuery and Google Sheets.

5

Safe writes

New campaigns start paused, and every change waits for your approval.

6

Claude and ChatGPT both covered

A remote MCP URL, plus an approved app in ChatGPT’s app directory.

Google Ads MCP pricing

The Google Ads MCP is included in every Porter plan, the free-forever plan too. Reporting is billed per connected account.

  • 14-day trial: everything unlimited, no credit card.
  • Free forever: unlimited connected accounts, 30 days of history (15 days in AI chats), 100 automation credits a month.
  • Paid Reporting: from $15 per account a month, or $12.50 billed annually.
  • Unlimited questions: AI chats, queries and dashboards are included. Reads are free; each completed change uses 1 automation credit.
5 accounts
Monthly billing
$40
Annual billing, per month
$33.33
Per account
$8.00

Reporting price for connected accounts, in USD. AI chats, queries and dashboards are unlimited. Annual billing is 10 months for 12.

The more accounts you connect, the lower the price per account. See the full calculator on Porter pricing.

Frequently asked questions

Is there an MCP for Google Ads?

Yes, more than one. Google publishes a read-only server you host yourself, and Porter runs a hosted one at https://mcp.portermetrics.com/mcp. Porter's reads Google Ads and makes changes you approve. The Porter MCP is included in every Porter plan, the free-forever plan too.

Does Google have an official Google Ads MCP?

Yes. Google's Google Ads MCP server is open code that runs GAQL queries and, in its current release, only reads data. You host it locally or on Cloud Run with your own Google Cloud project and OAuth client. Porter adds hosted setup, approved writes and your other channels.

Is there a Google Ads MCP on GitHub?

Yes. Google's own server lives in the googleads/google-ads-mcp repository, and community servers exist too. Each one needs your own Google Cloud project and OAuth client. Porter's is hosted, so there's nothing to install.

Do I still need a Google Ads developer token?

No. Google sunset developer tokens on September 9, 2026, and Google Ads API access now comes from your Google Cloud project's access level. With Porter you skip both steps: sign in with Google, paste the server URL and ask your first question about your Google Ads accounts.

What is the Google Ads MCP server URL?

Porter's Google Ads MCP server URL is https://mcp.portermetrics.com/mcp. Paste it into Claude, ChatGPT or any MCP client as a custom connector, then sign in with Google. Google's own server is installed from its GitHub repository, so you use the address of your own local install or Cloud Run deploy.

Is the Google Ads API free?

With Porter, the Google Ads API side is handled for you, so you never apply for API access or set up a Cloud project. You pay Porter per connected account for Reporting and by credits for Automation. The free-forever plan covers unlimited connected accounts and 100 credits a month.

Why can't Claude create a campaign in my manager account?

A manager account can't run ads. Campaigns go in a client account under it, so name the client account and Porter sends the change there.

Why does a change fail with a permission error?

Your Google login needs Standard or Admin access to that account to make changes. Read only access can report but not edit, so ask an account admin to raise your access.

Why don't conversions match the Google Ads interface?

Conversions keep updating for days as Google attributes them back to the click date. Compare the same date range, the same conversion column and the account's time zone.

Why does a query return no rows?

Check the account, the date range and any status filter: removed campaigns are left out by default. An empty result isn't a permission error.

Start free

Connect Google Ads to Claude or ChatGPT and run your first report, search-term review or paused campaign draft.

Start free: unlimited Google Ads accounts on the free-forever plan, or a 14-day trial with everything unlimited and no card.

  • Agencies: every client account answers to one prompt.
  • PPC managers: wasted terms and budget caps show up before the weekly check-in.
  • In-house marketers: leadership gets a live link to the numbers.
  • Analysts: the same fields in chat, Sheets and BigQuery.