google_ads_get_asset_report

Get Google Ads Asset Report

Google

Description

Asset-level performance report across hierarchy levels (AD_GROUP, CAMPAIGN, CUSTOMER, ASSET_GROUP). CAMPAIGN level automatically includes PMax asset groups. When levels is omitted, all levels are queried. Conversion breakdown, change history, and PMax audience signals (audiences and search themes) are opt-in to control response size. Video metrics are not available on asset resources. For creative inventory or copy exports, set include_asset_content: true — it resolves full sitelink copy (link text + both description lines), callout text, structured snippet values, call numbers, promotion targets, price offerings, and final URLs; without it, content is null for those asset types. Paginated: when a response includes nextCursor, call again with the same parameters plus cursor=<nextCursor>, and repeat until nextCursor is absent to get every row. A query that fails is named in warnings rather than silently returning nothing: a failed level's assets are missing from data and count, not absent from the account. If every level's row query fails, the call fails with the platform's error instead of returning an empty report. A cursor continues the queries page 1 read — a level that failed on the first page stays missing on later pages (omit cursor to retry it), and a level page 1 read that fails on a later page fails that call, which can be retried with the same cursor.

Read-only

Usage

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "google_ads_get_asset_report",
    "arguments": {
      "customer_id": "1234567890",
      "date_preset": "LAST_30_DAYS",
      "reason": "Review asset performance across all levels"
    }
  }
}

Parameters

NameTypeRequiredDescription
customer_id string Required 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 (18)
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. LAST_7_DAYS / LAST_30_DAYS are the 7 / 30 complete days ending yesterday (account time zone), as in Google Ads; THIS_MONTH runs through today.
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
campaign_ids array Optional Filter to one or more campaign IDs
ad_group_ids array Optional Filter to one or more ad group IDs
asset_ids array Optional Filter to one or more asset IDs
asset_types array Optional Filter by asset type(s): TEXT, IMAGE, YOUTUBE_VIDEO, SITELINK, CALLOUT, etc.
field_types array Optional Filter by field type(s): HEADLINE, DESCRIPTION, MARKETING_IMAGE, etc.
levels array Optional Levels to query: CUSTOMER, CAMPAIGN, AD_GROUP, ASSET_GROUP. CAMPAIGN automatically includes ASSET_GROUP (PMax). Defaults to all levels.
policy_approval_statuses array Optional Filter by policy approval status(es). Useful for surfacing disapproved or limited assets without paginating through all results.
include_change_history boolean Optional Add added_at, added_by, last_modified_at, last_modified_by via change_event queries. Limited to last 30 days of Google history.
include_conversion_breakdown boolean Optional Include per-conversion-action breakdown on each asset row. Adds 4 extra GAQL queries and significantly increases response size. Default false.
include_audience_signals boolean Optional Include PMax audience signals per asset group. Shows which audiences (remarketing lists, custom segments, interests) are configured as signals, and the search themes: each entry has a signalType of AUDIENCE (audienceResourceName, plus audienceName when resolvable) or SEARCH_THEME (searchThemeText, approvalStatus, and disapprovalReasons when disapproved).
include_asset_content boolean Optional Resolve full asset content via a second query against the asset resource: sitelink link text + description lines, callout text, structured snippet values, call numbers, promotion targets, price offerings, and final URLs. Required for creative inventory / copy exports — without it, content is null for SITELINK, CALLOUT, STRUCTURED_SNIPPET, PROMOTION, CALL, PRICE, and LEAD_FORM assets. Adds 1 extra query per page. Default false.
order_by string Optional Sort results by: impressions (default), clicks, cost, conversions, ctr. Applied globally after merging all levels.
impressions clicks cost conversions ctr
limit integer Optional Maximum rows to return per page (default: 20, max: 1000). Use cursor for subsequent pages.min: 1, max: 1000
cursor string Optional Opaque cursor from the previous response's nextCursor. Pass it with otherwise identical parameters to get the next page; a cursor reused with different filters is rejected. Omit for the first page.
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

All assets last 30 days

{
  "customer_id": "1234567890",
  "date_preset": "LAST_30_DAYS",
  "reason": "Review asset performance across all levels"
}

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

Ad group assets last 7 days

{
  "customer_id": "1234567890",
  "date_preset": "LAST_7_DAYS",
  "levels": [
    "AD_GROUP"
  ],
  "reason": "Ad group asset analysis"
}

hopkin google asset-report get --customer-id 1234567890 --date-preset LAST_7_DAYS --levels AD_GROUP

PMax assets by campaign

{
  "customer_id": "1234567890",
  "date_preset": "LAST_30_DAYS",
  "levels": [
    "CAMPAIGN"
  ],
  "reason": "PMax asset group analysis"
}

hopkin google asset-report get --customer-id 1234567890 --date-preset LAST_30_DAYS --levels CAMPAIGN

Top headlines by impressions

{
  "customer_id": "1234567890",
  "date_preset": "LAST_30_DAYS",
  "field_types": [
    "HEADLINE"
  ],
  "order_by": "impressions",
  "limit": 20,
  "reason": "Top headline analysis"
}

hopkin google asset-report get --customer-id 1234567890 --date-preset LAST_30_DAYS --field-types HEADLINE --order-by impressions --limit 20

PMax with audience signals

{
  "customer_id": "1234567890",
  "date_preset": "LAST_30_DAYS",
  "levels": [
    "ASSET_GROUP"
  ],
  "include_audience_signals": true,
  "reason": "PMax audience signal audit"
}

hopkin google asset-report get --customer-id 1234567890 --date-preset LAST_30_DAYS --levels ASSET_GROUP --include-audience-signals true

Creative inventory with sitelink copy

{
  "customer_id": "1234567890",
  "date_preset": "LAST_30_DAYS",
  "asset_types": [
    "SITELINK"
  ],
  "include_asset_content": true,
  "reason": "Export full sitelink copy and final URLs"
}

hopkin google asset-report get --customer-id 1234567890 --date-preset LAST_30_DAYS --asset-types SITELINK --include-asset-content true