Appearance
GAQL-Abfragen (Rezepte)
Copy-paste-fertige Abfragen für den google-ads-mcp (Tool search_search). Alle für Konto Spanholtz (customer_id: 5062677310, Login-MCC 6641786149). In Claude reicht es, das Rezept zu beschreiben oder die Feldliste zu nennen — die Parameter unten entsprechen dem MCP-Tool-Format.
Felder nachschlagen
Unbekannte Felder nie raten: metadata_get_resource_metadata mit resource_name: "campaign" (o. ä.) listet alle selektier-/filterbaren Felder samt Metriken und Segmenten.
Immer beachten: Geldwerte in Micros (÷ 1.000.000 = €).
Aktive Kampagnen + Strategie + Budget
json
{
"resource": "campaign",
"fields": ["campaign.id", "campaign.name", "campaign.status",
"campaign.advertising_channel_type", "campaign.bidding_strategy_type",
"campaign.ai_max_setting.enable_ai_max", "campaign_budget.amount_micros"],
"conditions": ["campaign.status = 'ENABLED'"]
}Impression-Share-Verluste (nur Search)
json
{
"resource": "campaign",
"fields": ["campaign.id", "campaign.name", "campaign.bidding_strategy_system_status",
"metrics.search_impression_share", "metrics.search_budget_lost_impression_share",
"metrics.search_rank_lost_impression_share", "metrics.cost_micros", "metrics.conversions"],
"conditions": ["campaign.status = 'ENABLED'",
"segments.date DURING LAST_30_DAYS",
"campaign.advertising_channel_type = 'SEARCH'"],
"orderings": ["metrics.cost_micros DESC"]
}Lesart: Budget-Verlust vs. Rang-Verlust → Regel 2. bidding_strategy_system_status = LEARNING_NEW → Karenz.
Conversion-Mix je Kampagne
Die wichtigste Abfrage des Kontos — wie viele „Conversions" sind echte Buchungen?
json
{
"resource": "campaign",
"fields": ["campaign.id", "campaign.name", "segments.conversion_action_name",
"metrics.conversions", "metrics.conversions_value"],
"conditions": ["segments.date DURING LAST_30_DAYS", "metrics.conversions > 0"],
"orderings": ["campaign.id", "metrics.conversions DESC"]
}Lesart: Anteil terminbuchung_abgeschlossen = echte Buchungen; Anteil „Anrufe von Anzeigen" > 50 % → Regel 3. Echte CPA = cost_micros der Kampagne ÷ Buchungs-Conversions.
Periodenvergleich
Zweimal ausführen — einmal LAST_30_DAYS, einmal expliziter Vorzeitraum:
json
{
"resource": "campaign",
"fields": ["campaign.id", "campaign.name", "metrics.cost_micros",
"metrics.conversions", "metrics.conversions_value", "metrics.clicks"],
"conditions": ["campaign.status = 'ENABLED'",
"segments.date BETWEEN '2026-05-29' AND '2026-06-27'"],
"orderings": ["metrics.cost_micros DESC"]
}Conversion-Actions (Hygiene-Check)
json
{
"resource": "conversion_action",
"fields": ["conversion_action.id", "conversion_action.name", "conversion_action.status",
"conversion_action.category", "conversion_action.value_settings.default_value",
"conversion_action.value_settings.always_use_default_value",
"conversion_action.include_in_conversions_metric"],
"conditions": ["conversion_action.status = 'ENABLED'"]
}Lesart: include_in_conversions_metric = true = primär (steuert Bidding). Soll-Zustand: Wertgewichtung.
Teure Suchbegriffe
json
{
"resource": "search_term_view",
"fields": ["search_term_view.search_term", "campaign.name",
"metrics.cost_micros", "metrics.clicks", "metrics.conversions"],
"conditions": ["segments.date DURING LAST_30_DAYS", "metrics.cost_micros > 10000000"],
"orderings": ["metrics.cost_micros DESC"],
"limit": 40
}(10000000 Micros = 10 €.) Lesart: Konkurrenznamen/Themenfremdes → Regel 4; Brand-Begriffe in Nicht-Brand-Kampagnen → Regel 5; gleicher Begriff mehrfach → Regel 8.
Keywords mit Qualitätsfaktor
json
{
"resource": "keyword_view",
"fields": ["campaign.name", "ad_group.name", "ad_group_criterion.keyword.text",
"ad_group_criterion.keyword.match_type", "ad_group_criterion.quality_info.quality_score",
"metrics.cost_micros", "metrics.conversions"],
"conditions": ["segments.date DURING LAST_30_DAYS", "metrics.cost_micros > 20000000",
"ad_group_criterion.status != 'REMOVED'"],
"orderings": ["metrics.cost_micros DESC"],
"limit": 40
}Lesart: QS ≤ 4 bei relevanten Kosten → Anzeige/Zielseite verbessern oder pausieren. QS 0 = keine Daten.
Anzeigen: Ad Strength & Freigabestatus
json
{
"resource": "ad_group_ad",
"fields": ["campaign.name", "ad_group.name", "ad_group_ad.ad.id",
"ad_group_ad.ad_strength", "ad_group_ad.policy_summary.approval_status",
"ad_group_ad.status"],
"conditions": ["ad_group_ad.status = 'ENABLED'", "campaign.status = 'ENABLED'",
"ad_group.status = 'ENABLED'"]
}Achtung: großes Ergebnis (Juli 2026: ~400 Zeilen) — Claude wertet es dann per jq aus. Lesart: DISAPPROVED sofort fixen; „Poor" + Rang-Verlust → Regel 7.
PMax-Asset-Gruppen
json
{
"resource": "asset_group",
"fields": ["campaign.name", "asset_group.name", "asset_group.ad_strength",
"asset_group.status"],
"conditions": ["asset_group.status = 'ENABLED'", "campaign.status = 'ENABLED'"]
}Sub-Konten des MCC auflisten
Gegen das MCC (customer_id: 6641786149) ausführen:
json
{
"resource": "customer_client",
"fields": ["customer_client.id", "customer_client.descriptive_name",
"customer_client.manager", "customer_client.level", "customer_client.status"]
}Änderungshistorie (max. 30 Tage!)
json
{
"resource": "change_event",
"fields": ["change_event.change_date_time", "change_event.change_resource_type",
"change_event.user_email", "change_event.client_type"],
"conditions": ["change_event.change_date_time DURING LAST_14_DAYS"],
"limit": 50
}Älter als 30 Tage: nur die UI-Änderungshistorie.