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 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 Anfrage 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 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 Anzeigengruppenebene segmentiert.
Für diese Anfrage
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.
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 ad_group
-Ressource.
Segmentressourcen
Wenn Sie Felder aus bestimmten Ressourcen auswählen, haben Sie möglicherweise die Möglichkeit, implizit Joins für zugehörige Ressourcen auszuführen. Dazu wählen Sie deren Felder zusammen mit den Feldern der Ressource in der FROM
-Klausel aus. 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
eines beliebigen 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 und Sie Felder aus einer der aufgeführten Ressourcen auswählen, wird die Abfrage anhand der zurückgegebenen resource_name
dieser Segmenting Resource
weiter segmentiert. 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. Um herauszufinden, welche Segmentfelder miteinander kompatibel sind, sehen Sie sich die selectable_with
-Liste 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
ist jedoch eine viel kleinere Gruppe kompatibler Segmente. Wenn Sie das Feld segments.hotel_check_in_date
in die SELECT
-Klausel einfügen, werden die verfügbaren Segmente, die Sie noch auswählen können, auf die Überschneidung dieser beiden Listen beschränkt.
Wenn Sie bestimmte Segmente hinzufügen, können die Messwerte in der Zusammenfassungszeile sinken. Wenn segments.keyword.info.match_type
einer Abfrage mit FROM ad_group_ad
hinzugefügt wird, wird mit diesem Segment festgelegt, dass nur die Datenzeilen mit Keywords abgerufen werden sollen. Alle Zeilen, die nicht mit einem Keyword verknüpft sind, werden entfernt. In diesem Fall sind die Messwerte niedriger, da alle Messwerte ohne Keyword ausgeschlossen werden.
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. Ausgenommen von dieser Regel sind die folgenden Datumssegmente, die als wichtige Datumssegmente bezeichnet werden:
segments.date
segments.week
segments.month
segments.quarter
segments.year
Regeln für Felder des Hauptdatensegments
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 Kernsegmenten für das Datum besteht. Die Datumssegmente müssen nicht mit den inSELECT
angegebenen Segmenten übereinstimmen.
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 angegebenen Zeitraum erzielt wurden. 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-02-01' |
Gültig:Diese Abfrage gibt Kampagnennamen und Klicks zurück, die nach Datum segmentiert sind, und zwar für alle Tage im Datumsbereich. |
SELECT campaign.name, metrics.clicks, segments.date FROM campaign WHERE segments.date > '2024-01-01' AND segments.date < '2024-02-01' |
Gültig:Mit dieser Abfrage werden Kampagnennamen und Klicks nach Monat segmentiert für alle Tage im Zeitraum zurückgegeben. |
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 Jahresbereich 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, wie die Struktur des Ressourcennamens zeigt, der auch die Anzeigengruppe enthält. Daher erhalten Sie einige 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 Duplikate zu sein scheinen, unterscheiden sich ihre Ressourcennamen, insbesondere im Teil „Anzeigengruppe“. Das bedeutet, dass der Suchbegriff „Google Fotos“ den beiden Anzeigengruppen (ID 2222222222
und 33333333333
) am selben Datum (2024-06-15) zugeordnet wird.
Wir können also davon ausgehen, dass die API wie vorgesehen funktioniert hat und in diesem Fall keine doppelten Objekte zurückgegeben hat.