Deep Dive· Shopping & PMax · 13 Min. Lesezeit

Der Shopping-Suchbegriffe-Report, den Google Ihnen nicht gibt

Shopping- und PMax-Reports zeigen die Anfrage, nie das Produkt. Bauen Sie den Query-×-Produkt-Report mit einem URL-Parameter und zwei GA4-Dimensionen neu.

Illustration pairing a stack of search queries with a single product, the missing link Google's reports hide.
Die Fakten sind echt — die Artikel-Cover nicht.

Kurz gesagt: Shopping- und PMax-Reports zeigen die Anfrage, nie das Produkt. Fügen Sie Ihren Kampagnen einen einzigen URL-Parameter (utm_content={product_id}) hinzu, und binnen einer Woche liefert GA4 den abgeschafften Report neu: jeder Klick als Anfrage × Produkt, mit Sitzungen, Conversions und Umsatz. In diesem Paar versteckt sich das Geld — welche Titel die Nachfrage verfehlen und welche Anfragen Budget verbrennen.

78 %
der Klicks als Query × Produkt gematcht
22
aktualisierte Kampagnen
1
URL-Parameter — das ist der ganze Stack
7 Tage
bis zu verifizierten Daten in GA4

Fügen Sie Ihren Shopping- und Performance-Max-Kampagnen einen URL-Parameter hinzu, und binnen einer Woche liefert Ihnen GA4 den Report, den Google still und leise abgeschafft hat: jeder bezahlte Klick gepaart als Anfrage × Produkt — mit Sitzungen, Konversionen und Umsatz dabei. Genau in diesem Paar versteckt sich das Geld — welche Produkte Müll-Traffic anziehen, welche Titel echte Nachfrage verfehlen, welche Anfragen Budget verbrennen und nie verkaufen. Der ganze Aufbau ist dieser eine Parameter; der Rest des Artikels handelt davon, was Sie mit dem machen, was zurückkommt.

Wenn Sie Shopping- oder Performance-Max-Kampagnen betreiben, kennen Sie den Suchbegriffe-Report. Was Ihnen vielleicht nicht aufgefallen ist — weil Google nie darauf hinweist — ist, was darin fehlt: das Produkt.

Sie sehen, dass jemand „kabelloser staubsauger unter 200” suchte. Sie sehen Klicks und Kosten. Sie sehen nicht, welches Ihrer 5.000 Produkte diese Anfrage auslöste, auf welchem sie landete oder welches sie verkaufte.

Vor Jahren gab Ihnen die AdWords API diese Paarung. Heute tut sie es nicht. Und für ein E-Commerce-Konto ist das keine kosmetische Lücke — Query-zu-Produkt ist, wo die echte Optimierung lebt: ob Ihre Titel zur echten Nachfrage passen, welche Produkte Müll-Traffic anziehen, warum ein Produkt Klicks bekommt, aber nie konvertiert.

Bevor Sie fragen: nein, es gibt keine Einstellung dafür. Kein Report, kein API-Feld, kein Script, das es von Googles Seite zurückholt. Sie müssen es selbst neu bauen — und der Nachbau ist fast peinlich einfach.

Der Fix: ein Parameter, zwei GA4-Dimensionen

Fügen Sie ein Tracking-Template hinzu

Auf Ihren Shopping- und PMax-Kampagnen: {lpurl}?utm_content={product_id}. Die ValueTrack-Variable {product_id} sendet die Merchant-Center-Produkt-ID mit jedem Klick.

GA4 speichert das Produkt

Das UTM landet in der Dimension Manueller Anzeigeninhalt der Sitzung (sessionManualAdContent).

GA4 kennt die Anfrage bereits

Auto-Tagging (gclid) füllt sessionGoogleAdsQuery in derselben Sitzung.

Joinen Sie die zwei Dimensionen

Jeder Paid-Klick wird zu einem Query-×-Produkt-Paar — mit Sitzungen, Conversion Rate und Umsatz angehängt.

Auto-Tagging und das manuelle UTM bekämpfen einander nicht: gclid handhabt weiterhin Quelle, Medium und Kampagne; Ihr UTM trägt nur die Produkt-ID.

Wissen Sie, was Sie bekommen (und was nicht)

  • Nur geklickte Anfragen. Dieser Datensatz beginnt beim Klick. Anfragen, bei denen Ihre Anzeige erschien, aber niemand klickte, erreichen GA4 nie — Impression-Level-Analyse bleibt in Googles Standard-Report (ohne Produkte).
  • ~20 % der Klicks paaren nicht: Consent-abgelehnte Sitzungen, PMax-Flächen ganz ohne Anfrage (Display, YouTube, Gmail), Klicks, die nie Analytics auslösten.
  • Sitzungs-bezogen. Eine Sitzung = eine Produkt-ID — die geklickte, selbst wenn der Nutzer danach zehn andere durchstöbert.

Den Report aus GA4 ziehen

Im UI: Explorativ → Freie Form. Dimensionen: Manueller Anzeigeninhalt der Sitzung + Google Ads-Suchanfrage der Sitzung. Metriken: Sitzungen, Conversions, Kaufumsatz. Filter: Quelle/Medium der Sitzung = google / cpc.

Via Data API — für alles Ernsthafte speist das ein Dashboard oder einen BigQuery-Join:

from google.analytics.data_v1beta import BetaAnalyticsDataClient
from google.analytics.data_v1beta.types import (
    RunReportRequest, DateRange, Dimension, Metric, FilterExpression, Filter
)

request = RunReportRequest(
    property=f"properties/{GA4_PROPERTY_ID}",
    dimensions=[
        Dimension(name="sessionManualAdContent"),  # product ID
        Dimension(name="sessionGoogleAdsQuery"),    # search term
    ],
    metrics=[
        Metric(name="sessions"),
        Metric(name="conversions"),
        Metric(name="purchaseRevenue"),
    ],
    date_ranges=[DateRange(start_date="30daysAgo", end_date="today")],
    dimension_filter=FilterExpression(filter=Filter(
        field_name="sessionSourceMedium",
        string_filter=Filter.StringFilter(value="google / cpc"),
    )),
)

Joinen Sie sessionManualAdContent gegen Ihren Produkt-Feed (id → Titel, Preis, Kategorie), und der Report ist komplett: Query × Produkt × Titel × Ökonomie.

Verifiziert, nicht theoretisiert

Wir deployten das auf einem Live-Konto — einem tschechischen Elektronikhändler mit 22 aktivierten Shopping-Kampagnen — und prüften GA4 sieben Tage später:

GA4, 7 Tage nach dem Deployment

  • Zeilen google/cpc-Traffic 9.753
  • Trugen die Produkt-ID (utm_content) 96 %
  • Trugen die Suchanfrage (sessionGoogleAdsQuery) 81 %
  • Trugen beides — ein funktionierender Query-×-Produkt-Report 78 %

Jetzt der spaßige Teil: was die Paare Ihnen sagen

1 · Die Titel-Lücke

Stellen Sie die Anfragen neben den Titel und die Beschreibung, die sie auslösten. Der Mismatch springt heraus:

What people actually search
kabelloser staubsauger tierhaarestaubsauger für hundehaare allergiehaustier staubsauger leisebester staubsauger tierhaare 2026
What the title says
Staubsauger X300 Turbo 2000W — EAN 8595…
Beschreibung: „Hochwertiger Staubsauger mit modernem Design und reichem Zubehör."
The gap: Der Titel verkauft Watt, nach denen niemand sucht, und verfehlt den Tierhaar-Use-Case, nach dem alle suchen. (Illustratives Beispiel.)

Die Feed-Roadmap schreibt sich selbst. Und hier hört KI-Feed-Anreicherung auf, ein Vertrauenssprung zu sein, und wird zu einer messbaren Schleife: schreiben Sie den Titel um die Nachfrage herum, die Sie gerade bewiesen haben, und beobachten Sie dann, wie sich CTR und Conversion Rate pro Anfrage bewegen.

2 · Wer noch auf „Ihrer” Anfrage ist — und mit welchem Produkt

Eine Sache, die Sie nicht tun können: Negative Keywords pro Produkt hinzufügen. Google gibt Ihnen keinen solchen Hebel in Shopping oder PMax. Wenn ein Query-×-Produkt-Paar also unterperformt, ist die Frage nicht „wie schließe ich es aus” — es ist „warum unterperformt es”.

Nehmen Sie die Anfrage und scrapen Sie die Live-Ergebnisseite dafür. Konkret: DataForSEO, Endpoint serp/google/organic/live/advanced — ein POST mit dem Anfragetext und dem location_code Ihres Marktes, und Sie bekommen die ganze Ergebnisseite als strukturiertes JSON zurück: Paid-Anzeigen, Shopping-Blöcke mit Händlernamen und Preisen, organisch darunter. Bei ~0,0035 $ pro Anfrage kostet das Prüfen von 200 Anfragen etwa 0,70 $.

Ein typischer Befund: Ihr Mittelklasse-Schlafsack sammelt Klicks auf einer generischen Anfrage — und dieselbe Anfrage zeigt drei Budget-Marken derselben Kategorie zum halben Preis. Ihr Produkt ist nicht schlecht; es ist in genau dieser Auktion beim Preis ausgestochen.

Jetzt haben Sie echte Optionen: neu bepreisen; das Unterscheidungsmerkmal in den Titel pushen („Daunenfüllung, −15 °C Komfort”); das Produkt in eine Kampagne mit zur Margenrealität passendem Bidding verschieben; oder die Anfrage als Upper-Funnel akzeptieren und sie an Assisted-Metriken statt am Last Click messen.

3 · Struktur- und Bidding-Entscheidungen

Produkte, die High-Intent-Anfragen anziehen, verdienen eigene Asset Groups und Budgets. Produkte, die nur generischen Traffic sammeln, gehören in Catch-all-Gruppen mit konservativen Zielen. Dieser Report ist die Evidenzbasis für Shopping-Segmentierung — kein Bauchgefühl.

4 · Ein Gesundheits-Check für PMax

PMax sagt Ihnen fast nichts über Search. Dieser Report ist das Nächste, was Sie an ein Audit dessen kommen, was PMax tatsächlich für Sie auf der Search-Fläche kauft — pro Produkt.

Ich gehe einen echten Export mit Ihnen durch, Schritt für Schritt

Alles oben ist das Warum. Hier ist das Wie es wirklich aussieht — jeder Schritt, was Sie herunterladen, worauf Sie schauen und welche echte Zahl zurückkommt.

Die Daten stammen aus einem zweiten Konto: ein anderer mittelgroßer tschechischer Online-Shop (nicht der Elektronikhändler aus der GA4-Box oben — ich nehme ihn, weil sein Katalog breit genug ist, dass jedes Muster in voller Größe auftaucht). Ich habe seinen rohen Shopping-Suchbegriffe-Report über die Google Ads API in eine lokale SQLite-Tabelle gezogen und die Aggregationen unten darauf laufen lassen. Ein Vorbehalt gleich zu Beginn: Dieser Rohreport liefert Ihnen die Anzeigen- / Produktgruppe, unter der die Anfrage ausgeliefert wurde — nicht das einzelne Produkt. Genau diese Lücke schließt der UTM-Trick — aber selbst auf Produktgruppen-Ebene sind die Zwischenergebnisse laut genug, um den Punkt zu machen.

Quelle für jede Zahl in diesem Abschnitt: Shopping-Suchbegriffe-Report (Google Ads), ein mittelgroßer tschechischer Online-Shop, ~22,6 Mio. Zeilen, Daten gezogen April 2026.

Schritt 1 · Ziehen Sie den Rohreport und vermessen Sie den Haufen

Was Sie tun: Exportieren Sie den Shopping-Suchbegriffe-Report über die Google Ads API (search_term_view) in eine lokale Tabelle — SQLite, BigQuery, alles, worauf Sie ein GROUP BY laufen lassen. Warum genau das zuerst: Bevor Sie irgendetwas joinen, müssen Sie spüren, wie groß und wie verrauscht der rohe Haufen ist. Diese eine Tatsache setzt jede weitere Erwartung neu.

Lassen Sie ein schlichtes COUNT(*) und ein paar SUMs laufen, und das landet:

Der Rohhaufen — ein COUNT, drei SUMs

  • Report-Zeilen (Anfrage × Produktgruppe) 22.640.716
  • Eindeutige Suchbegriffe 5.370.131
  • Produktgruppen, unter denen sie liefen 10.393
  • Kosten / Umsatz (gemischter ROAS 6,8×) 2,57 Mio. / 17,4 Mio. CZK

Was Sie haben: 22,6 Millionen Zeilen, 5,4 Millionen eindeutige Anfragen. Das liest kein Mensch. Die einzige Aufgabe der Zahl ist, Ihnen den nächsten Schritt zu sagen — diesen Haufen entlang der Dimension kollabieren, die die Rechnungen zahlt — und Sie zu warnen, dass manuelle Zeile-für-Zeile-Triage aussichtslos ist.

Schritt 2 · Werfen Sie 96 % weg, bevor Sie irgendetwas analysieren

Was Sie tun: Zählen Sie die Zeilen mit null Klicks und filtern Sie sie heraus. Warum: Der Shopping-Suchbegriffe-Report loggt jede Anfrage, für die Ihre Anzeige erschien, und auf die meisten klickte niemand. Diese reinen Impressions-Zeilen können Sie nichts kosten und nichts verkaufen — sie sind Rauschen, das die Tabelle furchteinflößend aussehen lässt.

Situation: 22,6 Mio. Zeilen, Sie wissen nicht, wo Sie anfangen sollen. Aktion: WHERE clicks > 0. Ergebnis: Die Tabelle kollabiert auf 738.444 Zeilen — eine handhabbare Größe.

Die Impressions-Flut

  • Zeilen mit null Klicks (reine Impressions) 21.902.272 — 96,7 %
  • Zeilen, die Sie überhaupt etwas kosteten 738.444 — 3,3 %

Was Sie haben: 96,7 % der furchteinflößenden Zahl war nie etwas anderes als Rauschen. Sie arbeiten jetzt mit einer Tabelle von 738.000 Zeilen, nicht von 22,6 Millionen — und jede Aggregation unten läuft auf dem Teil, der wirklich Geld ausgibt.

Schritt 3 · Stellen Sie die eine Frage, die das Konto neu zeichnet

Was Sie tun: Teilen Sie bei den geklickten Zeilen die Kosten in „mindestens einmal konvertiert” vs. „nie konvertiert” und summieren Sie die Kosten je Gruppe. Warum: Das ist die Zahl, die aus „das Konto ist okay, ROAS 6,8” ein „der Großteil des Budgets tut nichts” macht. Es ist das zentrale Zwischenergebnis — berechnen Sie es vor jeder Optimierungsidee.

Die Null-Konversion-Bremse

  • Report-Zeilen, die null Mal konvertierten 99,75 %
  • Anteil der Gesamtkosten, den diese Zeilen fraßen 85,5 %
  • Kosten ohne eine einzige Konversion dahinter 2,20 Mio. CZK
  • Nur geklickte Zeilen — Anteil mit null Konversionen 92,3 %

Was Sie haben: 85 % des Budgets flossen durch Anfrage-×-Produktgruppe-Kombinationen, die nie ein einziges Mal konvertierten. Das ist kein Rundungsfehler, den Sie später glätten — es ist das Hauptereignis. Und Sie sahen es nur, weil Sie die Anfrage auf das kollabierten, wogegen sie verkauft wurde.

Schritt 4 · Prüfen Sie, ob die Verschwendung ein paar Schurken sind oder die ganze Menge

Was Sie tun: Sortieren Sie die geklickten Zeilen nach Kosten, nehmen Sie die obersten 1 % und 10 % und sehen Sie, wie viel der Gesamtkosten sie halten. Warum: Das entscheidet Ihre Taktik. Verbrennt eine Handvoll Anfragen das Budget, pausieren Sie sie und fertig. Ist die Verschwendung dünn verteilt, bringt das Pausieren von Anfragen nichts — Sie brauchen strukturelle Eingriffe.

Wo die verschwendeten Kosten wirklich sitzen

  • Oberste 1 % der geklickten Zeilen nach Kosten 10,5 % der Kosten
  • Oberste 10 % der geklickten Zeilen nach Kosten 29,8 % der Kosten

Was Sie haben: Die Bremse ist der Long Tail, nicht ein paar Schurken — die obersten 1 % der teuren Zeilen halten kaum ein Zehntel der Kosten. Also ändert das Pausieren von 20 schlechten Anfragen nichts. Das ist der datengestützte Grund, die Struktur zu reparieren (welches Produkt sitzt in welcher Kampagne mit welchem Ziel) statt einzelnen Anfragen hinterherzujagen — und eine Erinnerung, dass Google Ihnen Negatives pro Produkt ohnehin nicht erlaubt.

Schritt 5 · Finden Sie heraus, warum der Long Tail leckt: eine Anfrage, viele Produkte

Was Sie tun: Zählen Sie für jeden Suchbegriff, unter wie vielen verschiedenen Produktgruppen er ausgeliefert wurde. Warum: Es erklärt die Verschwendung mechanisch. Shopping matcht eine Anfrage gegen die Signale Ihres gesamten Feeds, nicht gegen die Relevanz eines Produkts — also leckt eine einzelne Anfrage in unverwandte Ecken Ihres Katalogs, und Sie zahlen für jeden Fehlschuss.

Situation: „Anti-Bell-Gerät” verbrennt immer wieder Budget. Aktion: COUNT(DISTINCT ad_group) für diesen Begriff. Ergebnis: Er lief unter 139 verschiedenen Anzeigen- / Produktgruppen für 976 CZK und ~0 Konversionen. „lego technic” berührte 300.

Anfrage-Streuung über den Katalog

  • Begriffe, die unter mehr als einer Produktgruppe liefen 46,7 %
  • Meiste Produktgruppen, die eine Anfrage erreichte 6.661
  • „Anti-Bell-Gerät" → Gruppen / Kosten / Konversionen 139 / 976 CZK / ~0

Was Sie haben: Fast die Hälfte Ihrer Anfragen ist über mehrere Produktgruppen verschmiert, und die schlimmsten erreichen Tausende. Das ist der Motor der Null-Konversion-Bremse aus Schritt 3 — und genau das, was Sie endlich sehen, sobald jeder Klick die ID seines Produkts trägt.

Schritt 6 · Schauen Sie sich die schlimmsten Fehlpaarungen an — sie sind absurd

Was Sie tun: Ziehen Sie die teuersten Zeilen, die nie konvertierten, und lesen Sie die Anfrage neben der Produktgruppe, gegen die sie verkauft wurde. Warum: Die Aggregat-Zahlen überzeugen Ihre Tabelle; diese drei Zeilen überzeugen Ihren Chef. Sie sind das menschenlesbare Gesicht von Schritt 5.

Teuerste Anfrage-×-Produktgruppe-Paare mit null Konversionen (übersetzt und anonymisiert; illustrativ für die echten Zeilen).
SuchanfrageAusgeliefert unter ProduktgruppeKlicksKostenKonv.
Hunde-TrainingshalsbandHandtaschen97270 CZK0
Anti-Bell-GerätBabyartikel76239 CZK0
lego technicBeleuchtung70169 CZK0

Eine Hunde-Trainingshalsband-Anfrage, bezahlt unter der Gruppe Handtaschen. Ein Anti-Bell-Gerät, verkauft gegen Babyartikel. Die Produktgruppe hat nichts mit der Anfrage zu tun — Google matchte auf grobe Feed-Signale, kassierte den Klick und berechnete ihn Ihnen. Mit Anfrage × Produkt sehen Sie das auf einen Blick; im Standardreport von Google nie. (Illustratives Beispiel — Kategorien übersetzt und anonymisiert.)

Schritt 7 · Jetzt die Auszahlung: die 0,25 %, die das ganze Konto bezahlen

Was Sie tun: Kehren Sie Schritt 3 um — isolieren Sie nur die Zeilen, die konvertierten, und summieren Sie ihre Kosten und ihren Umsatz. Warum: Das ist der Grund, warum die ganze Übung zählt. Sobald Sie die Gewinner von der Bremse trennen, schützen Sie die Gewinner und hungern den Rest aus.

Die Scheibe, die ihren Platz verdient

  • Zeilen, die konvertierten (Anteil an allen) 57.209 — 0,25 %
  • Was sie kosteten 372k CZK
  • Was sie zurückbrachten 17,4 Mio. CZK
  • ROAS dieser Scheibe 46,8×

Was Sie haben: Ein Viertelprozent der Zeilen läuft mit 46,8× ROAS und trägt faktisch das ganze Konto; die übrigen 99,75 % ziehen die gemischte Zahl auf 6,8× herunter. Diese Scheibe zu finden, ihr Budget zu schützen und alles andere strukturell von ihr wegzuschieben — das ist die ganze Arbeit. Und nichts davon geht, solange nicht jede Zeile das Produkt trägt, gegen das sie verkauft wurde. Genau das kauft Ihnen der Ein-Parameter-UTM vom Anfang dieses Artikels.

The part you can steal

Das Template + die drei Fallen

{lpurl}?utm_content={product_id}
  1. Packen Sie keinen Custom-Parameter in utm_campaign. Google Ads bereinigt Custom-Parameter-Werte — Ihre Kampagnennamen werden umgeschrieben und die historische GA4-Kontinuität bricht. Senden Sie nur utm_content; Auto-Tagging erledigt den Rest.
  2. Wenden Sie es nur auf AKTIVIERTE Shopping- + PMax-Kampagnen an. Search braucht es nicht; pausierte Kampagnen verschmutzen nur Ihre Änderungshistorie.
  3. API-Falle: deployen Sie programmatisch? Aktuelle Google-Ads-API-Versionen haben client.get_type(“FieldMask”) gestrichen — importieren Sie stattdessen field_mask_pb2.FieldMask.

FAQ

Funktioniert das für Performance Max?

Ja, für die Search-/Shopping-Fläche. Display-, YouTube- und Gmail-Klicks tragen die Produkt-ID, aber keine Anfrage — erwarten Sie bei diesen Zeilen eine leere Query-Dimension.

Bricht das UTM meine GA4-Attribution?

Nein. Auto-Tagging (gclid) handhabt weiterhin Quelle/Medium/Kampagne; Sie fügen nur Anzeigeninhalt hinzu. Was Dinge brechen würde, ist ein Custom-Parameter in utm_campaign — tun Sie das nicht.

Warum nur 78 % Abdeckung?

Consent Mode, anfragenlose PMax-Flächen und Analytics-Blocker fressen den Rest. 78 % reichen für jeden Use Case oben — Sie lesen Muster, prüfen keine Cents.

Kann ich Anfragen sehen, für die meine Anzeige erschien, aber niemand klickte?

Nein. Dieser Datensatz beginnt beim Klick. Impression-Level-Analyse bleibt im Standard-Suchbegriffe-Report — ohne Produkte.

Funktioniert das Muster außerhalb von Google — Bing, Sklik?

Ja, es überträgt sich: jede Plattform mit einem URL-Template, einem Produkt-Makro und einer Analytics-Dimension, die es auffängt. Die konkreten Makros unterscheiden sich pro Plattform.

Wie lange bis ich nutzbare Daten habe?

Hängt vom Volumen ab. Unser Konto hatte einen brauchbaren Report in 7 Tagen; kleinere Konten sollten 30 sammeln.

Worum es hier eigentlich geht

Willst du dieses Maß an Transparenz in deinem Konto?

Eine E-Mail. Ich sage dir ehrlich, ob es sich für dein Setup lohnt.

Kontakt aufnehmen →