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 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 Sie erhalten, wenn Sie diese Abfrage an GoogleAdsService.SearchStream senden, ä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 zuerst nach der Ressource segmentiert, die in der FROM-Klausel angegeben ist. 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 Messwerte werden implizit auf der 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. Das spiegelt sich in der Struktur des Ressourcennamens wider, der auch die Anzeigengruppe enthält.
Daher kann es vorkommen, dass Sie scheinbar doppelte Zeilen mit denselben Suchbegriffen in Ihren Ergebnissen erhalten, 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 mit 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 fragen weiterhin die Ressource ad_group ab. 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 Metadatenseite der Ressource ad_group.
Segmentressourcen
Wenn Sie aus bestimmten Ressourcen auswählen, können Sie möglicherweise implizit mit zugehörigen Ressourcen verknüpfen, indem Sie deren Felder zusammen mit den Feldern der Ressource in der FROM-Klausel auswählen. Weitere Informationen zu diesen Ressourcen finden Sie in der Liste Attributed Resources der Ressource auf der Metadatenseite 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, werden durch die Auswahl von Feldern aus einer dieser aufgeführten Ressourcen die Abfrageergebnisse weiter nach der zurückgegebenen resource_name dieser Segmenting Resource segmentiert. Beispielsweise wird die Ressource campaign als Segmenting
Resource für die Ressource campaign_budget aufgeführt.
Wenn Sie ein beliebiges Kampagnenfeld wie campaign.name aus der Ressource campaign_budget auswählen, wird nicht nur das Feld campaign.name zurückgegeben, sondern auch das Feld campaign.resource_name. Außerdem wird nach diesem Feld segmentiert.
Auswahl 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 sind mehr als 50 Segmente verfügbar, die Sie auswählen können. Die selectable_with-Liste für segments.hotel_check_in_date ist jedoch ein viel kleinerer Satz kompatibler Segmente. Wenn Sie also das Feld segments.hotel_check_in_date in die SELECT-Klausel einfügen, beschränken Sie die verfügbaren Segmente, die Sie auswählen können, auf die Schnittmenge dieser beiden Listen.
Einschränkungen für gemeinsame Segmente
Für einige Segmentfelder gelten explizite Auswahlbeschränkungen, die erfordern, dass sie zusammen mit einem übergeordneten Segment in der SELECT-Klausel angefordert werden:
- Wenn Sie
segments.ad_sub_network_typeauswählen (wodurch YouTube-Anzeigen-Subnetzwerke wie In-Stream, In-Feed und Shorts aufgeschlüsselt werden), müssen Sie auchsegments.ad_network_typeauswählen. - In v25 und höher müssen Sie bei Auswahl von
segments.ad_sub_format_type(wodurch nicht überspringbare YouTube-In-Stream-Anzeigen nach Dauer aufgeschlüsselt werden) auchsegments.ad_format_typeauswählen.
Implizite Filterung nach Segmentauswahl
Wenn Sie bestimmte Segmentfelder in Ihrer Abfrage auswählen, filtert die Google Ads API die Ergebnisse möglicherweise implizit, sodass nur Zeilen enthalten sind, 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 Felds unter segments.keyword (z. B. segments.keyword.info.text und segments.keyword.ad_group_criterion):
- Ausschluss von Zugriffen, die nicht über Keywords generiert wurden: Wenn Sie ein
segments.keyword.*-Feld in dieSELECT-Klausel aufnehmen, werden die Ergebnisse auf die Zeilen beschränkt, die direkt mit einem Keyword-Anzeigengruppenkriterium im Suchnetzwerk verknüpft sind. - Betroffene Kampagnentypen: Daten aus Kampagnentypen oder Anzeigengruppen, die nicht auf Keywords für Suchanzeigen basieren, werden daher aus den Ergebnissen ausgeschlossen.
Dazu zählen unter anderem:
- Dynamische Suchanzeigen (DSA): Die Ausrichtung von dynamischen Suchanzeigen basiert auf Websiteinhalten und nicht auf Keywords.
- Shopping-Kampagnen: Hier werden Produktgruppen anstelle von Keywords verwendet.
- Performance Max-Kampagnen: 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 Targeting-Methoden für das Displaynetzwerk segmentiert.
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.
Die Ausnahme von dieser Regel sind die folgenden Datumssegmente, die als Haupt-Datumssegmente bezeichnet werden:
segments.datesegments.weeksegments.monthsegments.quartersegments.year
Regeln für Felder des Haupt-Datumssegments
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 begrenzter Zeitraum angegeben werden, der aus Haupt-Datumssegmenten besteht. Die Datumssegmente müssen nicht mit denen in derSELECTübereinstimmen.
Beispiele
Ungültig: Da segments.date in der SELECT-Klausel enthalten ist, müssen Sie in der WHERE-Klausel für segments.date, segments.week, segments.month, segments.quarter oder segments.year einen endlichen Datumsbereich angeben.
|
SELECT campaign.name, metrics.clicks, segments.date FROM campaign |
Gültig: Diese Abfrage gibt Kampagnennamen und Klicks zurück, die im angegebenen Zeitraum erzielt wurden. 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-01-31' |
| Gültig: Diese Abfrage gibt Kampagnennamen und Klicks zurück, die nach Datum für alle Tage im angegebenen Zeitraum segmentiert sind. |
SELECT campaign.name, metrics.clicks, segments.date 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 Monat für alle Tage im angegebenen Zeitraum segmentiert sind. |
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 angegebenen Jahresbereich segmentiert sind. |
SELECT campaign.name, metrics.clicks, segments.quarter, segments.month FROM campaign WHERE segments.year >= 2020 AND segments.year <= 2024 |