Segmentierung

Die Segmentierung ist in der Google Ads-Benutzeroberfläche als separates Menü verfügbar. Sie können die Segmentierung in der Google Ads API implementieren, indem Sie einer Abfrage das entsprechende Feld hinzufügen. Angenommen, Sie fügen einer Abfrage segments.device hinzu. Das Ergebnis ist ein Bericht mit einer Zeile für jede Kombination aus Gerät und der angegebenen Ressource in der FROM-Klausel. Die statistischen Werte (Impressionen, Klicks, Conversions usw.) werden auf die einzelnen Zeilen aufgeteilt.

In der Google Ads-Benutzeroberfläche kann jeweils nur ein Segment verwendet werden. Mit der API können Sie jedoch mehrere Segmente in derselben Abfrage angeben.

SELECT
  campaign.name,
  campaign.status,
  segments.device,
  metrics.impressions
FROM campaign

Die Ergebnisse, die beim Senden dieser Anfrage an GoogleAdsService.SearchStream zurückgegeben werden, ähneln diesem JSON-String:

{
  "results":[
    {
      "campaign":{
        "resourceName":"customers/1234567890/campaigns/111111111",
        "name":"Test campaign",
        "status":"ENABLED"
      },
      "metrics":{
        "impressions":"10922"
      },
      "segments":{
        "device":"MOBILE"
      }
    },
    {
      "campaign":{
        "resourceName":"customers/1234567890/campaigns/111111111",
        "name":"Test campaign",
        "status":"ENABLED"
      },
      "metrics":{
        "impressions":"28297"
      },
      "segments":{
        "device":"DESKTOP"
      }
    }
  ]
}

In diesem Beispielergebnis sind die Attribute für das erste und zweite Objekt, einschließlich des Ressourcennamens, identisch. Die Impressionen werden nach Gerät segmentiert. Daher können für dieselbe Kampagne zwei oder mehr Objekte zurückgegeben werden.

Implizite Segmentierung

Jeder Bericht wird anfangs nach der in der FROM-Klausel angegebenen Ressource segmentiert. Das Feld resource_name der Ressource in der FROM-Klausel wird zurückgegeben und Messwerte werden danach segmentiert, auch wenn das Feld resource_name nicht explizit in der Abfrage enthalten ist. Wenn Sie beispielsweise ad_group als Ressource in der FROM-Klausel angeben, wird ad_group.resource_name automatisch zurückgegeben und Messwerte werden implizit auf ad_group-Ebene segmentiert.

Für diese Abfrage:

SELECT metrics.impressions
FROM ad_group

Sie erhalten einen JSON-String wie diesen:

{
  "results":[
    {
      "adGroup":{
        "resourceName":"customers/1234567890/adGroups/2222222222"
      },
      "metrics":{
        "impressions":"237"
      }
    },
    {
      "adGroup":{
        "resourceName":"customers/1234567890/adGroups/33333333333"
      },
      "metrics":{
        "impressions":"15"
      }
    },
    {
      "adGroup":{
        "resourceName":"customers/1234567890/adGroups/44444444444"
      },
      "metrics":{
        "impressions":"0"
      }
    }
  ]
}

Das Feld resource_name von adGroup wird immer zurückgegeben, da ad_group in der FROM-Klausel als Ressource angegeben ist.

search_term_view

Die Ressource search_term_view wird auch implizit nach Anzeigengruppe segmentiert, nicht nur nach Suchbegriff, was sich in der Struktur des Ressourcennamens widerspiegelt, der auch die Anzeigengruppe enthält. Daher können in Ihren Ergebnissen scheinbar doppelte Zeilen mit denselben Suchbegriffen angezeigt werden, wenn diese Zeilen zu verschiedenen Anzeigengruppen gehören:

{
  "results":[
    {
      "searchTermView":{
        "resourceName":"customers/1234567890/searchTermViews/111111111~2222222222~Z29vZ2xlIHBob3RvcyBpb3M",
        "searchTerm":"google photos"
      },
      "metrics":{
        "impressions":"3"
      },
      "segments":{
        "date":"2024-06-15"
      }
    },
    {
      "searchTermView":{
        "resourceName":"customers/1234567890/searchTermViews/111111111~33333333333~Z29vZ2xlIHBob3RvcyBpb3M",
        "searchTerm":"google photos"
      },
      "metrics":{
        "impressions":"2"
      },
      "segments":{
        "date":"2024-06-15"
      }
    }
  ]
}

Obwohl die beiden zurückgegebenen Objekte in diesem Beispiel Duplikate zu sein scheinen, unterscheiden sich ihre Ressourcennamen, insbesondere im Teil der Anzeigengruppen-ID. Das bedeutet, dass der Suchbegriff "google photos" am selben Datum (2024-06-15) zwei Anzeigengruppen (ID 2222222222 und 33333333333) zugeordnet ist. Die API hat also wie vorgesehen funktioniert und in diesem Fall keine doppelten Objekte zurückgegeben.

Auswählbare Segmentfelder

Nicht alle Segmentfelder können für eine bestimmte Ressource in der FROM-Klausel ausgewählt werden. Angenommen, Sie führen weiterhin Abfragen für die Ressource ad_group aus. Damit ein Segmentfeld über die ad_group-Ressource ausgewählt werden kann, muss es in der Segments-Liste für ad_group vorhanden sein. Die Liste Segments ist der gelbe Bereich der Tabelle mit den verfügbaren Feldern auf der Metadatenseite der Ressource ad_group.

Segmentressourcen

Wenn Sie Daten aus bestimmten Ressourcen auswählen, haben Sie möglicherweise die Möglichkeit, verwandte Ressourcen implizit zu verknüpfen, indem Sie ihre Felder zusammen mit den Feldern der Ressource in der FROM-Klausel auswählen. Diese verknüpften Ressourcen finden Sie in der Liste Attributed Resources auf der Metadatenseite der Ressource in der FROM-Klausel. Bei der Ressource ad_group können Sie auch Felder aus der Ressource campaign auswählen. Das Feld resource_name aller Attributed Resources mit mindestens einem Feld in der SELECT-Klausel wird automatisch zurückgegeben, auch wenn das Feld resource_name nicht explizit in der Abfrage enthalten ist.

Ähnlich wie bei der Auswahl von Attributed Resource Feldern können Sie auch Segmenting Resource Felder auswählen. Wenn eine bestimmte Ressource auf ihrer Metadatenseite eine Segmenting Resources-Liste hat, wird die Abfrage durch die zurückgegebenen resource_name des entsprechenden Segmenting Resource weiter segmentiert, wenn Felder aus einer der aufgeführten Ressourcen ausgewählt werden. Die Ressource campaign wird beispielsweise als Segmenting Resource für die Ressource campaign_budget aufgeführt. Wenn Sie ein beliebiges Kampagnenfeld wie campaign.name aus der campaign_budget-Ressource auswählen, wird nicht nur das Feld campaign.name zurückgegeben, sondern auch das Feld campaign.resource_name, das segmentiert wird.

Auswahlmöglichkeiten zwischen Segmenten und Messwerten

Ein bestimmtes Segmentfeld ist möglicherweise nicht mit einigen der anderen Segmentfelder oder mit einigen der Messwertfelder kompatibel. Wenn Sie herausfinden möchten, welche Segmentfelder miteinander kompatibel sind, sehen Sie sich die Liste selectable_with der Segmente in der SELECT-Klausel an.

Für die ad_group-Ressource stehen mehr als 50 Segmente zur Auswahl. Die selectable_with-Liste für segments.hotel_check_in_date ist jedoch eine viel kleinere Gruppe kompatibler Segmente. Wenn Sie das Feld segments.hotel_check_in_date in die SELECT-Klausel einfügen, beschränken Sie die verfügbaren Segmente, die Sie noch auswählen können, auf die Überschneidung dieser beiden Listen.

Gemeinsame Segmentbeschränkungen

Für einige Segmentfelder gelten explizite Auswahlbeschränkungen, die erfordern, dass sie zusammen mit einem übergeordneten Segment in der SELECT-Klausel angefordert werden:

Implizites Filtern durch Segmentauswahl

Wenn Sie bestimmte Segmentfelder in Ihrer Abfrage auswählen, werden die Ergebnisse in der Google Ads API möglicherweise implizit gefiltert, sodass nur Zeilen mit dem entsprechenden Segment und einem Wert enthalten sind.

Auswirkungen von segments.keyword.*

Ein häufiges und wichtiges Beispiel für dieses Verhalten ist die Auswahl eines beliebigen Felds unter segments.keyword (z. B. segments.keyword.info.text und segments.keyword.ad_group_criterion):

  • Ausschluss von Zugriffen, die nicht über Keywords generiert werden:Wenn Sie ein segments.keyword.*-Feld in Ihre SELECT-Klausel aufnehmen, werden die Ergebnisse auf Zeilen beschränkt, die direkt mit einem Anzeigengruppenkriterium für ein Keyword im Suchnetzwerk verknüpft sind.
  • Betroffene Kampagnentypen:Daten von Kampagnentypen oder Anzeigengruppen, die nicht auf Such-Keywords basieren, werden daher aus den Ergebnissen ausgeschlossen. Dazu zählen unter anderem:
    • Dynamische Suchanzeigen (DSA): DSA-Ziele basieren auf Websiteinhalten und nicht auf Keywords.
    • Shopping-Kampagnen:Hier werden Produktgruppen anstelle von Keywords verwendet.
    • Performance Max-Kampagnen:Anzeigen aus Performance Max-Kampagnen können zwar in der Suche ausgeliefert werden, die Berichte werden jedoch in der Regel nicht nach denselben Keyword-Kriterien segmentiert.
  • Displaynetzwerk:Die segments.keyword.*-Felder beziehen sich auf Keywords, die im Suchnetzwerk verwendet werden. Sie werden nicht nach Displaynetzwerk-Keywords oder anderen Display-Targeting-Methoden segmentiert.

Regeln für Segmente in der WHERE-Anweisung

Wenn ein Segment in der WHERE-Klausel enthalten ist, muss es auch in der SELECT-Klausel enthalten sein. Eine Ausnahme von dieser Regel bilden die folgenden Datumssegmente, die als wichtige Datumssegmente bezeichnet werden:

  • segments.date
  • segments.week
  • segments.month
  • segments.quarter
  • segments.year

Regeln für die wichtigsten Felder für Datumssegmente

Die Segmente segments.date, segments.week, segments.month, segments.quarter und segments.year funktionieren so:

  • Diese Segmente können in der WHERE-Klausel gefiltert werden, ohne in der SELECT-Klausel zu erscheinen.
  • Wenn eines dieser Segmente in der SELECT-Klausel enthalten ist, muss in der WHERE-Klausel ein endlicher Zeitraum angegeben werden, der aus Kernsegments für Datumsangaben besteht. Die Datumssegmente müssen nicht mit denen übereinstimmen, die in SELECT angegeben sind.

Beispiele

Ungültig:Da segments.date in der SELECT-Klausel enthalten ist, müssen Sie für segments.date, segments.week, segments.month, segments.quarter oder segments.year einen endlichen Zeitraum in der WHERE-Klausel angeben.
SELECT
  campaign.name,
  metrics.clicks,
  segments.date
FROM campaign
Gültig:Diese Abfrage gibt Kampagnennamen und Klicks zurück, die im angegebenen Zeitraum angefallen sind. segments.date muss nicht in der SELECT-Klausel enthalten sein.
SELECT
  campaign.name,
  metrics.clicks
FROM campaign
WHERE segments.date >= '2024-01-01'
  AND segments.date <= '2024-01-31'
Gültig:Bei dieser Abfrage werden Kampagnennamen und Klicks nach Datum segmentiert für alle Tage im eingeschlossenen Datumsbereich zurückgegeben.
SELECT
  campaign.name,
  metrics.clicks,
  segments.date
FROM campaign
WHERE segments.date >= '2024-01-01'
  AND segments.date <= '2024-01-31'
Gültig:Bei dieser Abfrage werden Kampagnennamen und Klicks nach Monat segmentiert für alle Tage im eingeschlossenen Zeitraum zurückgegeben.
SELECT
  campaign.name,
  metrics.clicks,
  segments.month
FROM campaign
WHERE segments.date >= '2024-01-01'
  AND segments.date <= '2024-01-31'
Gültig:Diese Abfrage gibt Kampagnennamen und Klicks zurück, die nach Quartal und dann nach Monat für alle Monate im eingeschlossenen Jahresbereich segmentiert sind.
SELECT
  campaign.name,
  metrics.clicks,
  segments.quarter,
  segments.month
FROM campaign
WHERE segments.year >= 2020
  AND segments.year <= 2024