Connect Google Ads to AI assistants for advertising analytics and campaign management.
Part of the Insightful Pipe MCP Server Collection — Connect your Google Ads account to Claude, ChatGPT, Cursor, and other AI assistants using the Model Context Protocol (MCP). Analyze campaigns, optimize ad spend, and get AI-driven insights directly in your conversations.
https://google-ads.insightfulmcp.com/
Google Ads MCP is a remote Model Context Protocol server that enables AI assistants to interact with your Google Ads data. This MCP integration allows you to:
- Query campaign performance metrics using natural language
- Analyze ad group and keyword performance
- Get AI-powered recommendations for campaign optimization
- Monitor ROAS, CTR, CPC, and conversion metrics
- Create and manage campaigns, ad groups, and keywords
- Execute custom GAQL queries for advanced reporting
- Copy the MCP Server URL:
https://google-ads.insightfulmcp.com/ - Open Claude Connectors Settings
- Scroll to the bottom and click Add custom connector
- Paste the URL and click Add
- Click Connect on the connector to start authorization
- Click Authorize access in the browser to complete the connection
Custom MCP servers are added through ChatGPT's Developer mode. Availability depends on your ChatGPT plan, and workspace admins may need to allow it.
- Turn on Developer mode in ChatGPT settings
- Create a new app for a remote MCP server and paste the URL:
https://google-ads.insightfulmcp.com/ - Authorize with your InsightfulPipe account
See OpenAI's guide: Developer mode and MCP apps in ChatGPT
claude mcp add --transport http google-ads https://google-ads.insightfulmcp.com/Add the server to ~/.cursor/mcp.json (all projects) or .cursor/mcp.json (one project):
{
"mcpServers": {
"google-ads": {
"url": "https://google-ads.insightfulmcp.com/"
}
}
}Then authorize the connection when Cursor prompts you.
gemini mcp add --transport http google-ads https://google-ads.insightfulmcp.com/87 actions: 28 read, 59 write.
Show all 28 read actions
| Action | Description |
|---|---|
gaql |
Execute a GAQL (Google Ads Query Language) query |
generate_keyword_ideas |
Generate keyword ideas from seed keywords or URL using Keyword Planner |
get_account_info |
Customer account information and settings |
get_ad_group_bidding |
Ad group bidding strategy information |
get_ad_group_labels |
Ad group label associations |
get_ad_groups |
Ad group performance data and configuration |
get_ad_labels |
Ad group ad label associations |
get_ads |
Ad creative performance data and policy information |
get_audiences |
Audience targeting and demographic performance data |
get_campaign_bidding |
Campaign bidding strategy configurations |
get_campaign_budgets |
Campaign budget configuration and recommendations |
get_campaign_labels |
Campaign label associations |
get_campaigns |
Campaign performance data and configuration |
get_change_history |
Change status history for Google Ads entities |
get_clicks |
Click-level performance and location data |
get_client_accounts |
Customer client hierarchy and management information |
get_criterion_labels |
Ad group criterion label associations |
get_customer_labels |
Customer label associations |
get_display_keywords |
Display keyword targeting performance |
get_geo_performance |
Geographic and location-based performance data |
get_keywords |
Keyword performance data and statistics |
get_labels |
Label management and organization data |
get_non_manager_accounts |
Customer client non-manager accounts only |
get_shopping_performance |
Shopping campaign product-level performance data |
get_topics |
Topic targeting performance data |
get_user_interests |
User interest categories and availability |
get_user_locations |
User location-based performance data |
suggest_geo_targets |
Search for geo target constants by name (city, postal code, region) to get IDs for location targeting |
Show all 59 write actions
| Action | Description |
|---|---|
add_audience_targeting |
Target a user list (remarketing audience) with an ad group |
add_call_asset |
Add a phone call asset to the account (shows phone number with ads) |
add_callout_asset |
Add callout text snippets to a campaign (e.g., 'Free Shipping', '24/7 Support') |
add_demographic_targeting |
Add age and/or gender demographic targeting to an ad group |
add_dsa_webpage_targeting |
Add a webpage-targeting criterion to a DSA ad group (incl |
add_keywords |
Add keywords to an ad group |
add_label |
Create a new label for organizing campaigns, ad groups, and ads |
add_lead_form_asset |
Add a lead form to a campaign (users submit info directly from the ad) |
add_location_targeting |
Add geographic location targeting to a campaign (countries, cities, postal codes, regions) |
add_negative_keywords |
Add negative keywords at campaign or ad group level |
add_price_asset |
Add a price asset to the account (shows product/service pricing under ads) |
add_proximity_targeting |
Add radius/proximity targeting to a campaign (target users within a radius around coordinates) |
add_sitelinks |
Add sitelink assets to a campaign (clickable links below the ad) |
add_structured_snippet_asset |
Add a structured snippet to a campaign (category-based highlights) |
apply_label |
Apply a label to campaigns, ad groups, or ads |
attach_conversion_actions_to_campaign |
Bind specific conversion actions to an App campaign via Campaign.selective_optimization |
create_ad_group |
Create a new ad group (always created as PAUSED) |
create_app_ad |
Create an App ad in an existing App campaign ad group |
create_app_campaign |
Create an App campaign with its initial App ad group (always created as PAUSED) |
create_app_deep_link_asset |
Create an app deep link asset for App ads |
create_asset_group |
Add an asset group to an existing Performance Max campaign |
create_campaign |
Create a new campaign (always created as PAUSED) |
create_conversion_action |
Create a conversion action to track valuable user actions |
create_display_campaign |
Create a Display campaign with ad group and responsive display ad in one atomic request |
create_dsa_campaign |
Create a Dynamic Search Ads (DSA) Search campaign (always created as PAUSED) |
create_dynamic_search_ad |
Create a Dynamic Search Ad in a DSA ad group (always created as PAUSED) |
create_page_feed |
Create a DSA page feed (AssetSet of type PAGE_FEED) with page URLs and labels |
create_performance_max_campaign |
Create a Performance Max campaign with asset group in one atomic request |
create_responsive_display_ad |
Create a responsive display ad (always created as PAUSED) |
create_responsive_search_ad |
Create a responsive search ad (always created as PAUSED) |
create_search_campaign |
Create a new Search campaign (always created as PAUSED) |
create_user_list |
Create a new user list (remarketing audience) for Customer Match |
create_youtube_video_asset |
Create a reusable YouTube video asset by video ID |
link_asset_group_assets |
Attach existing assets to a Performance Max asset group |
link_page_feed_to_campaign |
Link a page-feed asset set to a DSA campaign (CampaignAssetSet) |
pause_ad |
Pause an individual ad |
pause_ad_group |
Pause an ad group |
remove_customer_list_members |
Remove members from a Customer Match user list |
remove_keywords |
Remove keywords from an ad group |
remove_negative_keywords |
Remove negative keywords at campaign or ad group level |
resume_ad |
Resume (enable) a paused ad |
resume_ad_group |
Resume (enable) a paused ad group |
set_asset_group_listing_filters |
Choose which Merchant Center products a Performance Max asset group advertises |
set_campaign_device_targeting |
Target or exclude a device for a whole campaign, including Demand Gen |
set_device_bid_modifier |
Set bid adjustment for a specific device type on an ad group |
unlink_asset_group_assets |
Detach assets from a Performance Max asset group |
update_ad |
Update an ad's status (enabled, paused, removed) |
update_ad_group |
Update an ad group: name, bids, targets, rotation, URL settings, or status (enabled, paused, removed) |
update_app_ad |
Update an existing App ad's inline text and referenced assets |
update_asset_group |
Update a Performance Max asset group: name, landing pages, or status (enabled, paused, removed) |
update_asset_group_signals |
Add or remove audience and search theme signals on an existing asset group |
update_campaign |
Update a campaign: name, dates, budget, bid targets, URL settings, or status (enabled, paused, removed) |
update_conversion_action |
Update an existing conversion action's settings |
update_keywords |
Update existing keywords (status, bids) |
update_responsive_search_ad |
Update an existing responsive search ad's headlines, descriptions, or URLs |
upload_click_conversions |
Upload offline click conversions (Enhanced Conversions for Leads) |
upload_customer_list |
Upload members to a Customer Match user list (remarketing audience) |
upload_image_asset |
Upload an image asset from a URL to Google Ads |
upload_media_bundle_asset |
Upload an HTML5 media bundle asset from a ZIP URL |
You decide what AI agents can do with each connected account:
- Turn individual actions on or off for every connected account, so agents only see the actions you allow.
- Connect as Read-only or Read & Write. A read-only connection can only enable read actions.
- Destructive actions stay off by default. Actions such as deletes are disabled until an admin enables them.
- Team access per account. Restricted team members only use the accounts they are granted, with the read actions enabled on them.
New Google Ads campaigns, ad groups and ads are created paused, so nothing goes live until you enable it.
"Show me my Google Ads campaign performance for the last 30 days"
"What are my top 10 performing keywords by conversion rate?"
"Generate keyword ideas for 'running shoes' using Keyword Planner"
"Run a GAQL query to get campaign metrics grouped by device"
"Create a new search campaign called 'Summer Sale' with a $50 daily budget"
"Add 'best running shoes' as a phrase match keyword to my Running campaign"
- Search Campaigns - Text ads on Google Search
- Display Campaigns - Visual ads across the Google Display Network
- Shopping Campaigns - Product listing ads
- Video Campaigns - YouTube and video partner ads
- Performance Max - AI-powered cross-channel campaigns
- App Campaigns - Mobile app promotion
- Save time - Query data without logging into Google Ads
- Natural language - No need to learn complex reporting interfaces
- AI insights - Get recommendations you might have missed
- Multi-account management - Query across client accounts
- Automated reporting - Generate client reports conversationally
- Scalable analysis - Analyze more data in less time
- MCP standard - Built on the open Model Context Protocol
- Easy integration - Works with any MCP-compatible AI assistant
- Full API access - Both read and write operations supported
- OAuth 2.0 - Secure authentication with Google
- Granular permissions - Control read vs write access
- Data encryption - All data transmitted securely
The Google Ads MCP server is included in every InsightfulPipe plan, together with all other MCP servers and the CLI. Plans start at $29.99/month with a 7-day free trial. See insightfulpipe.com/pricing for current plans.
- Claude skills for Google Ads — ready-made skills that run on your connected data
Visit insightfulpipe.com/mcp-servers to discover our full collection of MCP servers for marketing and analytics.
- Facebook Ads MCP - Meta advertising analytics
- TikTok Ads MCP - TikTok advertising
- LinkedIn Ads MCP - B2B advertising
- Microsoft Ads MCP - Bing advertising
- Pinterest Ads MCP - Pinterest advertising
- Snapchat Ads MCP - Snapchat advertising
- X Ads MCP - Twitter/X advertising
- Google Analytics MCP - Website analytics
- Google Search Console MCP - SEO analytics
- Documentation: insightfulpipe.com/docs
- All MCP Servers: insightfulpipe.com/mcp-servers
- Email: support@insightfulpipe.com
Insightful Pipe — AI-powered marketing analytics through MCP servers. Explore all integrations →
MIT License - see LICENSE for details.