google_ads_get_url_tracking_config

Get URL & UTM Tracking Configuration

Google

Description

Complete URL and UTM tracking configuration across every Google Ads hierarchy level — account, campaign, ad group, ad, keyword and asset — in one call. Preferred tool for any UTM or tracking audit; do not chain list_campaigns + list_ad_groups + list_ads + get_account_summary for this. Returns each entity's own tracking template, final URL suffix, custom parameters and final URLs, plus the effective value resolved through Google's precedence chain (account → campaign → ad group → ad → keyword) and labelled with the level that set it. Every field is always present: a field that is not set is null, never omitted — so "no tracking template here" is verifiable rather than merely unobserved. The coverage block reports how many entities were scanned at each level across the whole account, not just the returned page; observed: true with entities_with_own_values: 0 is a verified pass, not a coverage gap. scope defaults to "all" (every entity, paginated on large accounts); pass scope: "overrides" for an audit — it returns only entities that set a value at their own level and usually fits in one page. ValueTrack macros such as {lpurl} and {campaignid} are returned verbatim and are never parsed or expanded.

Read-onlyIdempotentOpen-world

Usage

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "google_ads_get_url_tracking_config",
    "arguments": {
      "customer_id": "1234567890",
      "scope": "overrides",
      "reason": "UTM tracking audit"
    }
  }
}

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 (9)
NameTypeRequiredDescription
login_customer_id string Optional MCC (Manager) Customer ID; required for managed accountsmaxLength: 20, pattern: ^[\d-]+$
levels array Optional Hierarchy levels to scan. Defaults to all six. ACCOUNT is always included regardless, because it is the root of every effective-value chain.
scope string Optional "all" (default) returns every entity at the requested levels with its effective config — complete, and paginated on large accounts. "overrides" returns only entities that set at least one URL field at their own level: the compact answer to "what is configured where", and the right choice for an audit. The coverage block is identical in both modes and always describes the full scan.
all overrides
campaign_ids array Optional Restrict the scan to these campaigns and their descendants
ad_group_ids array Optional Restrict the scan to these ad groups and their descendants
status array Optional Entity status filter. Defaults to ["ENABLED"] — a removed campaign cannot serve a mistagged URL.
limit integer Optional Maximum rows in `data` per page (default 200, max 1000)min: 1, max: 1000
cursor string Optional Opaque pagination cursor from a previous response nextCursor
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

Audit what is configured where (compact)

{
  "customer_id": "1234567890",
  "scope": "overrides",
  "reason": "UTM tracking audit"
}

hopkin google url-tracking-config get --customer-id 1234567890 --scope overrides

Every entity with its effective config

{
  "customer_id": "1234567890",
  "reason": "Full URL tracking enumeration"
}

hopkin google url-tracking-config get --customer-id 1234567890

Drill into one campaign and its descendants

{
  "customer_id": "1234567890",
  "campaign_ids": [
    "9876543210"
  ],
  "reason": "Campaign tracking template review"
}

hopkin google url-tracking-config get --customer-id 1234567890 --campaign-ids 9876543210

Sitelinks and other assets only

{
  "customer_id": "1234567890",
  "levels": [
    "ASSET"
  ],
  "scope": "overrides",
  "reason": "Check asset-level tracking overrides"
}

hopkin google url-tracking-config get --customer-id 1234567890 --levels ASSET --scope overrides

Keyword-level overrides in one ad group

{
  "customer_id": "1234567890",
  "levels": [
    "KEYWORD"
  ],
  "ad_group_ids": [
    "5555555555"
  ],
  "scope": "overrides",
  "reason": "Check keyword final URL suffixes"
}

hopkin google url-tracking-config get --customer-id 1234567890 --levels KEYWORD --ad-group-ids 5555555555 --scope overrides