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 segments.deviceeiner Abfrage hinzu. Das Ergebnis ist ein Bericht mit einer Zeile für jede Kombination aus Gerät
und der in der FROM Klausel angegebenen Ressource. Die statistischen Werte (Impressionen, Klicks, Conversions usw.) werden auf diese Kombinationen 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 Sie erhalten, wenn Sie diese Abfrage an GoogleAdsService.SearchStream senden, sehen in etwa so aus:
{
"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 sind nach Gerät segmentiert. Daher können für dieselbe Kampagne zwei oder mehr Objekte zurückgegeben werden.
Implizite Segmentierung
Jeder Bericht wird zunächst nach der in der FROM-Klausel angegebenen Ressource segmentiert. Das Feld resource_name der Ressource in der FROM-Klausel wird zurückgegeben und die 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 die Messwerte werden implizit auf
Anzeigengruppenebene danach segmentiert.
Für diese Abfrage
SELECT metrics.impressions
FROM ad_group
erhalten Sie 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.
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
ad_group Ressource aus. Damit ein Segmentfeld aus der Ressource ad_group ausgewählt werden kann, muss es in der Liste Segments für „ad_group“ vorhanden sein. Die Liste Segments ist der gelbe Teil der Tabelle mit den verfügbaren Feldern
auf der Ressource ad_group Metadatenseite.
Segmentressourcen
Wenn Sie aus bestimmten Ressourcen auswählen, haben Sie möglicherweise die Möglichkeit, implizit mit verknüpften Ressourcen zu verknüpfen, indem Sie deren 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. Im Fall der ad_group Ressource sehen Sie, dass Sie auch Felder aus der campaign
Ressource auswählen können. 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 Feldern für Attributed Resource können Sie auch Felder für Segmenting Resource auswählen. Wenn eine bestimmte Ressource auf ihrer Metadatenseite eine Segmenting Resources
Liste hat, wird die Abfrage weiter nach dem zurückgegebenen
resource_name dieser Segmenting Resource segmentiert, wenn Sie Felder aus einer dieser aufgeführten
Ressourcen auswählen. Beispielsweise ist
die campaign Ressource als Segmenting
Resource für die campaign_budget Ressource 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
zurückgegeben und die Ergebnisse werden danach segmentiert.
Auswahlmöglichkeiten zwischen Segmenten und Messwerten
Ein bestimmtes Segmentfeld ist möglicherweise nicht mit einigen der anderen Segmentfelder oder mit einigen der Messwertfelder kompatibel. Um herauszufinden, welche Segmentfelder miteinander kompatibel sind, sehen Sie sich die Liste selectable_with der Segmente in der SELECT-Klausel an.
Für die Ressource ad_group stehen mehr als 50
Segmente zur Auswahl. Die selectable_with Liste für
segments.hotel_check_in_date
enthält jedoch eine viel kleinere Anzahl kompatibler Segmente. Wenn Sie das Feld segments.hotel_check_in_date in die SELECT-Klausel aufnehmen, beschränken Sie die verfügbaren Segmente, die Sie auswählen können, auf die Schnittmenge dieser beiden Listen.
Implizites Filtern nach Segmentauswahl
Wenn Sie bestimmte Segmentfelder in Ihrer Abfrage auswählen, filtert die Google Ads API die Ergebnisse möglicherweise implizit, sodass nur Zeilen berücksichtigt werden, in denen dieses Segment anwendbar ist und einen Wert hat.
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 Traffic ohne Keywords:Wenn Sie ein beliebiges Feld
segments.keyword.*in IhreSELECT-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:Folglich werden Daten aus Kampagnentypen oder Anzeigengruppen, die nicht auf Such-Keywords basieren, aus den Ergebnissen ausgeschlossen. Dazu zählt unter anderem Folgendes:
- Dynamische Suchanzeigen (DSA) : DSA-Ziele basieren auf Websiteinhalten und nicht auf Keywords.
- Shopping-Kampagnen:Hier werden Produktgruppen anstelle von Keywords verwendet.
- Performance Max-Kampagnen:Performance Max-Kampagnen können zwar im Suchnetzwerk ausgeliefert werden, die Berichte werden jedoch in der Regel nicht nach denselben Keyword-Kriterien segmentiert.
Displaynetzwerk:Die Felder
segments.keyword.*beziehen sich auf Keywords, die im Suchnetzwerk verwendet werden. Sie segmentieren nicht nach Keywords im Displaynetzwerk oder anderen Targeting-Methoden für Displayanzeigen.
Best Practice:Wenn Ihre Analyse Leistungsdaten aus DSA, Shopping-Kampagnen oder anderen Quellen ohne Such-Keywords enthalten soll, nehmen Sie keine Felder aus segments.keyword.* in Ihre Abfrage auf. Analysieren Sie zuerst Daten für alle Kampagnentypen und wenden Sie die Keyword-Segmentierung nur an, wenn Sie sich auf die Leistung von Keywords für Suchanzeigen konzentrieren.
Regeln für Segmente in der WHERE-Klausel
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 Kern-Datumssegmente bezeichnet werden:
segments.datesegments.weeksegments.monthsegments.quartersegments.year
Regeln für Felder für Kern-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 derSELECT-Klausel zu erscheinen.Wenn eines dieser Segmente in der
SELECT-Klausel enthalten ist, muss in derWHERE-Klausel ein endlicher Zeitraum angegeben werden, der aus Kern-Datumssegmenten besteht. Die Datumssegmente müssen nicht mit denen übereinstimmen, die in derSELECT-Klausel angegeben sind.
Beispiele
Ungültig: Da segments.date in der SELECT-Klausel enthalten ist, müssen Sie in der WHERE-Klausel einen endlichen Zeitraum für segments.date, segments.week, segments.month, segments.quarter oder segments.year angeben.
|
SELECT campaign.name, metrics.clicks, segments.date FROM campaign |
Gültig: Diese Abfrage gibt Kampagnennamen und
Klicks zurück, die im Zeitraum angefallen sind. Beachten Sie, dass segments.date nicht in der SELECT-Klausel enthalten sein muss.
|
SELECT campaign.name, metrics.clicks FROM campaign WHERE segments.date > '2024-01-01' AND segments.date < '2024-02-01' |
| Gültig: Diese Abfrage gibt Kampagnennamen und Klicks zurück, die nach Datum für alle Tage im Zeitraum segmentiert sind. |
SELECT campaign.name, metrics.clicks, segments.date FROM campaign WHERE segments.date > '2024-01-01' AND segments.date < '2024-02-01' |
| Gültig: Diese Abfrage gibt Kampagnennamen und Klicks zurück, die nach Monat für alle Tage im Zeitraum segmentiert sind. |
SELECT campaign.name, metrics.clicks, segments.month FROM campaign WHERE segments.date > '2024-01-01' AND segments.date < '2024-02-01' |
| Gültig: Diese Abfrage gibt Kampagnennamen und Klicks zurück, die nach Quartal und dann nach Monat für alle Monate im Zeitraum segmentiert sind. |
SELECT campaign.name, metrics.clicks, segments.quarter, segments.month FROM campaign WHERE segments.year > 2019 AND segments.year < 2024 |
search_term_view
Die search_term_view Ressource wird auch implizit
nach Anzeigengruppe segmentiert, nicht nur nach Suchbegriff. Das spiegelt sich in der Struktur von
ihrem Ressourcennamen wider,
der auch die Anzeigengruppe enthält. Daher erhalten Sie möglicherweise scheinbar doppelte Zeilen mit denselben Suchbegriffen in den Ergebnissen. Diese Zeilen gehören jedoch zu einer anderen Anzeigengruppe.
{
"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 wie Duplikate aussehen, unterscheiden sich ihre Ressourcennamen tatsächlich, insbesondere im Teil „Anzeigengruppe“. Das bedeutet, dass der Suchbegriff „google photos“ am selben Datum (2024-06-15) den beiden Anzeigengruppen (ID 2222222222 und 33333333333) zugeordnet ist. Daraus lässt sich schließen, dass die API wie vorgesehen funktioniert hat und in diesem Fall keine doppelten Objekte zurückgegeben hat.