From hopkin
Generate Google Ads performance reports and analytics using the Hopkin Google Ads MCP. Includes prerequisite checks, authentication flow, report generation workflows, keyword analysis, and developer feedback for unsupported write operations.
How this skill is triggered — by the user, by Claude, or both
Slash command
/hopkin:hopkin-google-adsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
This skill enables Claude to build comprehensive reports and perform analysis on Google Ads campaigns via the Hopkin Google Ads MCP. Use this skill when you need to:
This skill enables Claude to build comprehensive reports and perform analysis on Google Ads campaigns via the Hopkin Google Ads MCP. Use this skill when you need to:
The skill provides structured workflows for common Google Ads reporting tasks, with built-in best practices for data analysis and presentation.
Before using this skill, verify that the Hopkin Google Ads MCP is configured and the user is authenticated.
To verify the Hopkin Google Ads MCP is available:
google_ads_ prefixed tools in your available tools (e.g., google_ads_check_auth_status, google_ads_list_accounts)If no google_ads_ prefixed tools are available:
The Hopkin Google Ads MCP is not configured. To use this skill:
- Sign up at https://app.hopkin.ai
- Add the hosted MCP to your Claude configuration:
{ "mcpServers": { "hopkin-google-ads": { "type": "url", "url": "https://google.mcp.hopkin.ai/mcp", "headers": { "Authorization": "Bearer YOUR_HOPKIN_TOKEN" } } } }
- Restart Claude after updating configuration
After confirming the MCP is available, authenticate the user's Google Ads account:
google_ads_check_auth_status to see if the user is already authenticatedAt the start of any session, call google_ads_get_preferences with entity_type: "ad_account" and entity_id: "global" to check if the user has a stored default customer ID (and login_customer_id if applicable). If preferences are found, use them automatically without asking the user. After the user selects or confirms an account, offer to store it as a preference for future sessions using google_ads_store_preference.
Before generating reports, confirm you have:
google_ads_list_accounts to find their account.Some Google Ads users manage multiple client accounts through a Manager (MCC) account. When this is the case:
login_customer_id is: The MCC/manager account ID used to authenticate access to a child (client) account. It tells the API which manager account is making the request on behalf of the child account.google_ads_list_accounts returns accounts with a managerCustomerId field, or if google_ads_list_mcc_child_accounts returns results, or if the user says they manage client accounts.google_ads_list_campaigns, google_ads_list_ad_groups, google_ads_list_ads, google_ads_get_insights, google_ads_get_performance_report, google_ads_get_geo_performance, google_ads_get_asset_report, google_ads_get_activities, google_ads_get_conversion_actions, google_ads_get_keyword_performance, google_ads_get_search_terms_report, google_ads_list_negative_keywords, google_ads_list_negative_keyword_lists, google_ads_get_auto_applied_recommendationslogin_customer_id is required.google_ads_check_auth_status — Check if user is authenticated; only call when another tool returns an auth errorgoogle_ads_ping — Health check; verify the MCP server is reachablegoogle_ads_list_accounts — List accessible Google Ads accounts; child accounts include managerCustomerId indicating the MCC parentgoogle_ads_list_mcc_child_accounts — List child accounts under a Manager (MCC) accountgoogle_ads_list_campaigns — List campaigns for an accountgoogle_ads_list_ad_groups — List ad groups for a campaign or accountgoogle_ads_list_ads — List ads for an account, campaign, or ad groupgoogle_ads_get_performance_report — Recommended. Full-funnel report with funnel metrics (impressions, clicks, cost, ROAS) plus conversion breakdown by conversion action name — runs two queries in parallel. Supports segments: date, device, ad_network_type (for Performance Max channel breakdown)google_ads_get_geo_performance — Geographic performance breakdown by country, city, region, metro, or other geo levels. Uses geographic_view resource with automatic geo name resolution. Runs a parallel conversion breakdown query. Only tool that supports geographic segments — do not use google_ads_get_insights for geo data.google_ads_get_insights — Custom analytics: full control over metrics, segments, and GAQL; use when google_ads_get_performance_report does not cover the required custom query. Supports segments including date, device, ad_network_type, and conversion_action_namegoogle_ads_render_chart — MCP App. ALWAYS use this when the user asks for any chart, graph, map, or visualization. Do NOT substitute a table or text summary. Supports 6 types: bar (compare values across campaigns/placements), scatter (correlation between two metrics), timeseries (metrics over time), funnel (conversion stages), waterfall (cumulative contribution), choropleth (US state heatmap). Fetch the data first with insights or performance report tools, then pass the structured data here. This renders an interactive visual — it is the correct tool whenever a chart is explicitly requested.google_ads_get_conversion_actions — List conversion actions by status — foundational for understanding what conversions are tracked before interpreting ROAS or conversion metricsGuidance: Before analyzing conversion metrics or ROAS for any account, call
google_ads_get_conversion_actionsto establish which conversion actions are active and which are included in the aggregate "Conversions" metric.
google_ads_get_auto_applied_recommendations — Check which recommendation types Google is auto-applying to an account. Critical for understanding automated changes to campaigns (e.g., auto-adjusted bids, expanded keywords).google_ads_get_keyword_performance — Keyword metrics with quality scores, match type filtering, and orderinggoogle_ads_get_search_terms_report — Search terms report with status filtering and orderinggoogle_ads_list_negative_keywords — List negative keywords at campaign or ad-group level. Filter by match type or scope to a specific campaign/ad group. Essential for search term audit workflows — cross-reference with google_ads_get_search_terms_report to find wasteful queries that should be negated.google_ads_list_negative_keyword_lists — List shared negative keyword lists and their associated campaigns. Use to audit shared exclusion lists across campaigns.google_ads_get_asset_report — Asset-level performance report across AD_GROUP, CAMPAIGN, CUSTOMER, and ASSET_GROUP hierarchy levels. Returns per-asset metrics, performance labels, optional conversion breakdowns, and optional change history.google_ads_get_activities — Change history (audit log) for an account. Shows what changed, when, and by whom. Filter by resource type or specific asset_ids (automatically sets resource_type to ASSET).google_ads_render_chart — MCP App. Renders interactive data visualization charts. Supports bar, scatter, timeseries, funnel, waterfall, and choropleth chart types. Use after fetching data with analytics tools to present visual reports. Always render charts when presenting performance trends, campaign comparisons, or geographic data — do not substitute a table or text summary when a chart is requested.google_ads_store_preference — Store a persistent preference or observation for a Google Ads entity (account, campaign, ad group, or ad)google_ads_get_preferences — Retrieve all stored preferences for a Google Ads entitygoogle_ads_delete_preference — Delete a specific stored preference by keygoogle_ads_developer_feedback — Submit feature requests and workflow gap reportsNote: Every tool call requires a
reason(string) parameter for audit trail.
This skill supports eight primary report types and a developer feedback workflow for write operations.
After fetching report data, proactively render charts to make insights more accessible. Use google_ads_render_chart to visualize data — always pair charts with a summary table and textual insights.
When to use each chart type:
Charts enhance the report — they don't replace the analysis. Always include written insights alongside visualizations.
The Hopkin Google Ads MCP is read-only. When a user requests write operations (create campaign, update budget, pause ads, etc.):
google_ads_developer_feedback with:
feedback_type: "workflow_gap"title: Description of the write operation requesteddescription: What the user was trying to docurrent_workaround: How you worked around the limitation (if applicable)priority: Based on user's urgencyWhenever you complete a task and believe there should have been a faster or more efficient way to get the answer — for example, if you had to make multiple tool calls that could have been a single call, or if a dedicated tool for the workflow would have saved time — call google_ads_developer_feedback with:
feedback_type: "new_tool" or "improvement"title: Brief description of the missing capabilitydescription: Explain what you were trying to accomplish, the steps you had to take, and how a new or improved tool could have made it fastercurrent_workaround: The steps you took to work around the limitationpriority: "medium"This helps the Hopkin team prioritize building tools that make common workflows more efficient.
Users can provide feedback about this skill directly through the Hopkin Google Ads MCP. If a user wants to suggest improvements, report issues, or request new capabilities, call google_ads_developer_feedback on their behalf with the appropriate feedback_type (new_tool, improvement, bug, or workflow_gap) and include their feedback in the description.
Analyze campaign performance across geographic locations — countries, cities, regions, metros, and more. Identify top-performing geographies, underperforming regions, and geo-targeting opportunities.
Primary tool: google_ads_get_geo_performance — dedicated tool for geographic data using the geographic_view resource with automatic geo name resolution
See detailed workflow: references/workflows/geo-performance.md
Analyze overall campaign performance, compare campaigns across an account, identify top and bottom performers, understand ROAS and conversion metrics, and evaluate campaign effectiveness.
Primary tool: google_ads_get_performance_report with level: "CAMPAIGN" — provides full-funnel metrics plus per-conversion-action breakdowns in a single call
See detailed workflow: references/workflows/campaign-performance.md
Evaluate keyword performance, analyze search terms, understand quality scores, identify negative keyword opportunities, and optimize keyword bidding strategies.
Primary tools: google_ads_get_keyword_performance + google_ads_get_search_terms_report
Note: The keyword analysis workflow supports cross-referencing with google_ads_list_negative_keywords to identify search terms that should be negated. After pulling search terms, compare against existing negative keywords to find gaps in your exclusion strategy.
See detailed workflow: references/workflows/keyword-analysis.md
Examine individual ad effectiveness, analyze RSA (Responsive Search Ad) asset performance, identify best-performing ad copy, and understand creative impact on conversions.
Primary tools: google_ads_list_ads + google_ads_get_insights with level: "AD"
See detailed workflow: references/workflows/ad-performance.md
Monitor budget utilization and spending patterns, forecast end-of-period spend, identify budget-constrained campaigns, analyze cost efficiency, and ensure optimal budget allocation.
Primary tools: google_ads_list_campaigns for budgets + google_ads_get_insights with segments: ["date"] for daily trends
See detailed workflow: references/workflows/budget-spend.md
Analyze individual asset performance across all hierarchy levels — including RSA headline/description performance labels, PMax asset group assets, and account-wide assets. Identify top-performing creative assets, underperformers, and assets with policy issues.
Primary tool: google_ads_get_asset_report — multi-level asset performance with optional conversion breakdowns and change history
Key parameters:
levels — Limit to specific levels (e.g., ["AD_GROUP"] for RSA assets, ["CAMPAIGN"] for PMax)field_types — Filter by creative type (e.g., ["HEADLINE", "DESCRIPTION"] for RSA text assets)order_by — Sort by impressions, clicks, cost, conversions, or ctrinclude_change_history: true — Adds added_at/last_modified_at to each asset rowinclude_conversion_breakdown: true — Adds per-conversion-action breakdown (increases response size)Common use cases:
levels: ["AD_GROUP"], field_types: ["HEADLINE", "DESCRIPTION"]levels: ["CAMPAIGN"] (automatically includes ASSET_GROUP queries)order_by: "cost", limit: 50include_change_history: trueSee detailed workflow: references/workflows/asset-report.md
google_ads_list_accounts first and ask user which account to analyzeChoose metrics appropriate to campaign goal:
geo_target_city, geo_target_region, etc.) are only available on the geographic_view resource. Always use google_ads_get_geo_performance — never attempt geographic breakdowns via google_ads_get_insights.LOCATION_OF_PRESENCE (user physically there) and AREA_OF_INTEREST (user searching about the location). Distinguish between these when making targeting recommendations — physical presence is more reliable for local businesses.campaign_id to reduce noise and focus the analysis.limit parameter (up to 200) and note that results are ordered by cost descending by default, surfacing the highest-spend locations first.CRITICAL: Google Ads customer IDs must be without hyphens:
1234567890123-456-7890When users provide customer IDs with hyphens, remove them before making API calls.
When errors occur:
google_ads_check_auth_status; if not authenticated, direct the user to connect their account at https://app.hopkin.aiFor detailed troubleshooting guidance, see references/troubleshooting.md.
Common quick fixes:
google_ads_check_auth_status; direct user to connect their account at https://app.hopkin.aiFor more detailed information:
google_ads_list_negative_keywords and google_ads_list_negative_keyword_lists alongside google_ads_get_search_terms_report to identify search term exclusion gapsSkill Version: 2.4 Last Updated: 2026-03-22 Requires: Hopkin Google Ads MCP (https://app.hopkin.ai)
npx claudepluginhub pearmill/hopkin-plugins --plugin hopkinCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.