google_ads_get_performance_report

Get Google Ads Performance Report

Google

Description

Segmented and multi-level performance reporting. FIRST, CHECK THE REQUEST: for a plain account-level overview with no segments and no level breakdown — a quick performance summary, "how is this account doing", or account totals over a date range — use google_ads_get_account_summary instead; it returns those totals pre-aggregated in a single call. Use this tool when a level (CAMPAIGN, AD_GROUP) or a segment (device, date, network type) is actually needed. Comprehensive funnel metrics with per-conversion-action breakdowns. Supports segments for device breakdown (DESKTOP, MOBILE, TABLET), daily trends, and network type analysis. Preferred over google_ads_get_insights for standard analysis. Runs parallel queries for top-level funnel and conversion action breakdown. Supported levels automatically include the Demand Gen Platform Comparable conversion family (platform_comparable_conversions, cost/value/rate variants); row-level reports return null for non-Demand Gen rows. Search impression share is included at CAMPAIGN and AD_GROUP levels (budget-lost variants campaign-level only). Set include_new_vs_returning to add a conversions breakdown by new vs returning customer (segments.new_versus_returning_customers; new customers = NEW + NEW_AND_HIGH_LTV buckets summed) for cost-per-new-customer reporting on customer-acquisition-goal campaigns. Use google_ads_get_insights for custom metric selection. For geographic data, use google_ads_get_geo_performance instead.

Read-onlyIdempotentOpen-world

Usage

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "google_ads_get_performance_report",
    "arguments": {
      "customer_id": "1234567890",
      "date_preset": "LAST_30_DAYS",
      "reason": "Monthly performance review"
    }
  }
}

Parameters

NameTypeRequiredDescription
customer_id string Required The Google Ads Customer ID (10 digits, with or without dashes)maxLength: 20, pattern: ^[\d-]+$
reason string Required Why this tool call is neededminLength: 1, maxLength: 500
Optional parameters (10)
NameTypeRequiredDescription
login_customer_id string Optional MCC (Manager) Customer ID; required for managed accountsmaxLength: 20, pattern: ^[\d-]+$
date_preset string Optional Predefined date range: TODAY, YESTERDAY, LAST_7_DAYS, LAST_30_DAYS, THIS_MONTH, LAST_MONTH
TODAY YESTERDAY LAST_7_DAYS LAST_30_DAYS THIS_MONTH LAST_MONTH
date_range object Optional Custom date range {start_date, end_date} in YYYY-MM-DD
level string Optional Report level (default: CAMPAIGN): ACCOUNT, CAMPAIGN, AD_GROUP, AD. CAMPAIGN, AD_GROUP, and AD reports automatically include platform_comparable_conversions for Demand Gen rows (null for non-Demand Gen).
ACCOUNT CAMPAIGN AD_GROUP AD
segments array Optional Additional segments for the main metrics: date, device, ad_network_type. Conversion action breakdowns are always included automatically via a separate query.
campaign_id string Optional Filter to a specific campaign IDmaxLength: 20, pattern: ^\d+$
ad_group_id string Optional Filter to a specific ad group IDmaxLength: 20, pattern: ^\d+$
include_all_conversions boolean Optional When true, includes an additional all-conversions breakdown (metrics.all_conversions, all_conversions_value, value_per_all_conversions) segmented by conversion_action_name. This captures ALL conversion actions including those not marked "Include in Conversions" (e.g., view-through, cross-device, store visits).
include_new_vs_returning boolean Optional When true, includes an additional breakdown of conversions by segments.new_versus_returning_customers (NEW, RETURNING, NEW_AND_HIGH_LTV, UNKNOWN) via a separate query, aggregated over the date range. New customers are split across the NEW and NEW_AND_HIGH_LTV buckets — sum both, then combine with the main query cost to compute cost-per-new-customer. Only populated for campaigns using a customer acquisition goal; if the breakdown query fails, the breakdown is empty and a warnings entry explains why.
connection_id string Optional Optional ID of a specific connection to use for this call. Omit to use the actor's default connection for this network. Call <platform>_list_connections to discover available connection IDs.

Examples

Campaign overview

{
  "customer_id": "1234567890",
  "date_preset": "LAST_30_DAYS",
  "reason": "Monthly performance review"
}

hopkin google performance-report get --customer-id 1234567890 --date-preset LAST_30_DAYS

Daily trend

{
  "customer_id": "1234567890",
  "date_preset": "LAST_7_DAYS",
  "segments": [
    "date"
  ],
  "reason": "Daily performance trend"
}

hopkin google performance-report get --customer-id 1234567890 --date-preset LAST_7_DAYS --segments date

Account summary

{
  "customer_id": "1234567890",
  "date_preset": "LAST_30_DAYS",
  "level": "ACCOUNT",
  "reason": "Account-level overview"
}

hopkin google performance-report get --customer-id 1234567890 --date-preset LAST_30_DAYS --level ACCOUNT

Device breakdown

{
  "customer_id": "1234567890",
  "date_preset": "LAST_30_DAYS",
  "segments": [
    "device"
  ],
  "reason": "Device analysis"
}

hopkin google performance-report get --customer-id 1234567890 --date-preset LAST_30_DAYS --segments device

Cost per new customer

{
  "customer_id": "1234567890",
  "date_preset": "LAST_30_DAYS",
  "include_new_vs_returning": true,
  "reason": "New vs returning customer acquisition analysis"
}

hopkin google performance-report get --customer-id 1234567890 --date-preset LAST_30_DAYS --include-new-vs-returning true