In den folgenden Abschnitten erfahren Sie, wie Sie Suchberichte in Suchanzeigen erstellen. 360 Reporting API.
Suchdienst
Die Search Ads 360 Reporting API bietet einen speziellen Dienst für die Suche und Berichterstellung.
SearchAds360Service
ist ein einheitlicher Dienst zum Abrufen und Melden von Objekten
mit zwei Suchmethoden: SearchStream
und Search
. Suchanfragen sind
Die Daten werden in einem Abfragestring übergeben, der in der Search Ads 360 Query Language geschrieben wurde. Sie können Abfragen für Folgendes definieren:
- Spezifische Attribute von Objekten abrufen
- Leistungsmesswerte für Objekte basierend auf einem Zeitraum abrufen
- Ordnen Sie Objekte anhand ihrer Attribute.
- Ergebnisse mithilfe von Bedingungen filtern, die angeben, welche Objekte zurückgegeben werden sollen
- Begrenzen Sie die Anzahl der zurückgegebenen Objekte.
Bei beiden Suchmethoden werden alle Zeilen zurückgegeben, die Ihrer Abfrage entsprechen. Wenn Sie zum Beispiel
campaign.id
, campaign.name
und metrics.clicks
abrufen, gibt die API eine
SearchAds360Row
, die ein Kampagnenobjekt mit den Feldern id
und name
enthält
und ein metrics
-Objekt mit dem festgelegten Feld clicks
.
Suchmethoden
SearchStream
Sendet eine einzelne Anfrage und initiiert eine dauerhafte Verbindung mit der Search Ads 360 Reporting API unabhängig von der Berichtsgröße.
- Der Download von Datenpaketen beginnt sofort mit dem gesamten Ergebnis Datenpuffer im Cache gespeichert werden.
- Ihr Code kann mit dem Lesen der zwischengespeicherten Daten beginnen, ohne auf bis zum Ende des Streams.
Search
Es werden mehrere aufeinanderfolgende Anfragen zum Herunterladen des gesamten Berichts gesendet.
SearchStream
bietet in der Regel eine bessere Leistung, da hier die
Roundtrip-Netzwerkzeit, die für die Anforderung einzelner Seiten erforderlich ist. Wir empfehlen die Verwendung von
SearchStream
für alle Berichte mit mehr als 10.000 Zeilen. Es gibt keine signifikante
Leistungsunterschied zwischen den Methoden für kleinere Berichte (weniger als 10.000 Zeilen).
Die von Ihnen verwendete Methode hat keinen Einfluss auf Ihre API-Kontingente und -Limits: Eine einzelne Abfrage oder ein einzelner Bericht wird als ein Vorgang gezählt, unabhängig davon, ob die Ergebnisse per Pager oder Streaming dargestellt werden.
Beispiel für eine Suchanfrage
Diese Beispielabfrage gibt Leistungsdaten für ein Konto für die letzten 30 Tage zurück nach Kampagne, segmentiert nach Gerät:
SELECT
campaign.name,
campaign.status,
segments.device,
metrics.impressions,
metrics.clicks,
metrics.ctr,
metrics.average_cpc,
metrics.cost_micros
FROM campaign
WHERE segments.date DURING LAST_30_DAYS
Anfrage stellen
Um eine Anfrage zu senden, müssen Sie einen customer_id
- und einen query
-String übergeben.
an SearchAds360Service.SearchStream
oder SearchAds360Service.Search
.
Die Anfrage besteht aus einem HTTP-POST
an die Search Ads 360 Reporting API.
des Servers unter einer der folgenden URLs abrufen:
https://searchads360.googleapis.com/VERSION_NUMBER/customers/CUSTOMER_ID/searchads360:searchStream
https://searchads360.googleapis.com/VERSION_NUMBER/customers/CUSTOMER_ID/searchads360:search
Hier sehen Sie ein vollständiges Beispiel für die Berichtsdefinition von searchStream
in
einer HTTP-POST
-Anfrage:
POST /VERSION_NUMBER/customers/CUSTOMER_ID/searchads360:searchStream HTTP/1.1 Host: searchads360.googleapis.com User-Agent: curl Content-Type: application/json Accept: application/json Authorization: Bearer [OAUTH_2.0_ACCESS_TOKEN] Parameters: { "query" : "SELECT campaign.name, campaign.status, segments.device, metrics.impressions, metrics.clicks, metrics.ctr, metrics.average_cpc, metrics.cost_micros FROM campaign WHERE segments.date DURING LAST_30_DAYS" }
Antwort verarbeiten
SearchAds360Service
gibt eine Liste von SearchAds360Row
-Objekten zurück.
Jeder SearchAds360Row
steht für ein Objekt, das von der Abfrage zurückgegeben wird. Jedes Objekt
besteht aus einer Reihe von Attributen, die basierend auf den angeforderten Feldern ausgefüllt werden.
in der SELECT
-Klausel der Abfrage ein. Nicht in SELECT
enthaltene Attribute
werden in der Antwort nicht in die Objekte eingefügt.
Bei der folgenden Abfrage wird beispielsweise jedes SearchAds360Row
-Objekt nur mit dem Parameter
campaign.id
, campaign.name
und campaign.status
. Andere Attribute wie
campaign.engine_id
oder campaign.bidding_strategy_type
werden weggelassen.
SELECT
campaign.id,
campaign.name,
campaign.status
FROM campaign
Referenzdokumentation
Abschnitt Referenz
enthält alle Informationen, die Sie
benötigen, um jedes Artefakt richtig zu verwenden. Es gibt
eine Seite für jede Ressource, z. B. ad_group
und
campaign
Die Seiten segments
und metrics
alle verfügbaren Segmente und Messwertfelder auf.
Einige Ressourcen, Segmente und Messwerte sind nicht kompatibel und können nicht verwendet werden während andere vollständig kompatibel sind und sich ergänzen. Jedes Ressourcenseite die folgenden Informationen enthält (falls verfügbar) und angemessen) usw.:
- Zugeordnete Ressourcen
Bei einigen Ressourcen können Sie ggf. zugehörige indem Sie ihre Felder zusammen mit den Feldern der Ressource in Ihre
FROM
-Klausel. Die Ressourcecampaign
ist beispielsweise ein zugeordnete Ressource derad_group
-Ressource. Das bedeutet, dass Sie Felder wiecampaign.id
undcampaign.bidding_strategy_type
in Ihr zurück, wennad_group
in IhrerFROM
-Klausel verwendet wird.Im Abschnitt Zugeordnete Ressourcen sind die verfügbaren zugeordneten Ressourcen aufgeführt. Nicht haben alle Ressourcen zugeordnete Ressourcen.
- Spalte „Ressourcenfelder“
Alle Felder der Ressource sind in der Spalte Ressourcenfelder enthalten. Jedes Ressourcenfeld ist mit weiteren Details verlinkt, Beschreibung, Kategorie, Datentyp, Typ URL, filterbar, selectable, wiederholt werden können.
- Spalte „Segmente“
Mit einer bestimmten Ressource können nicht alle Segmentfelder ausgewählt werden.
In der Spalte Segmente sind die
segments
-Felder aufgeführt, die Sie in denSELECT
-Klausel wie die Felder der Ressource. Jedes Feld enthält einen Link zur vollständigen Details zum Feld, einschließlich Beschreibung, Kategorie, Datentyp und Typ URL, filterbar, auswählbar, sortierbar und wiederholt. Wenn Sie Wenn Sie die Ressource in derFROM
-Klausel verwenden, können Sie das Drop-down-Menü Ja/Nein verwenden. um nicht verfügbare Segmente herauszufiltern.- Spalte „Messwerte“
Bei einer bestimmten Ressource können nicht alle Messwertfelder ausgewählt werden.
In der Spalte Messwerte sind die
metrics
-Felder aufgeführt, die du in denSELECT
-Klausel wie die Felder der Ressource. Jedes Feld enthält einen Link zur vollständigen Details zum Feld, einschließlich Beschreibung, Kategorie, Datentyp und Typ URL, filterbar, auswählbar, sortierbar und wiederholt. Wenn Sie indem Sie die Ressource in derFROM
-Klausel verwenden, nutzen Sie das Drop-down-Menü Ja/Nein, um und filtern Sie Messwerte heraus, die nicht verfügbar sind.
- Ressourcen segmentieren
Einige Ressourcen haben segmentierte Ressourcenfelder, die Sie auswählen können, wenn Die Ressource befindet sich in der
FROM
-Klausel. Wenn Sie beispielsweise eincampaign
-Ressourcenfeld wiecampaign.name
, wenn Verwendung voncampaign_budget
in derFROM
-Klauselcampaign.resource_name
automatisch zurückgegeben und nach dem Segment segmentiert wird, dacampaign
ein Ressource voncampaign_budget
wird segmentiert.Im Abschnitt Ressourcen segmentieren werden die verfügbaren Segmentierungsressourcen aufgeführt. Nicht alle Ressourcen haben Segmentierungsressourcen.
- Auswählbar mit
Einige
segments
-Felder sind nicht mit anderen Ressourcen, Segmenten und Messwerte.Die Seite
segments
enthält ein erweiterbares Feld Auswählbar mit für jedessegments
-Feld, das Listet alle kompatiblen Ressourcenfelder,metrics
-Felder und anderesegments
auf die Sie in dieSELECT
-Klausel aufnehmen können.
Segmentierung
Sie können die Suchergebnisse segmentieren, indem Sie
segments.FIELD_NAME
der SELECT
-Klausel Ihrer Abfrage hinzu.
Beispiel: segments.device
im
Abfrage unten führt zu einem Bericht mit einer Zeile für die impressions
von jedem
Gerät für die in der FROM
-Klausel angegebene Ressource.
SELECT
campaign.name,
campaign.status,
segments.device,
metrics.impressions
FROM campaign
Die von SearchAds360Service.SearchStream
zurückgegebenen Ergebnisse sehen in etwa so aus:
wie diesen 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"
}
},
...
]
}
Unter segments
finden Sie
Liste verfügbarer Segmentfelder, die Sie verwenden können.
Mehrere Segmente
Sie können in der SELECT
-Klausel Ihrer Abfrage mehrere Segmente angeben. Die
Antwort ein SearchAds360Row
-Objekt für jede Kombination der
Instanz der in der FROM
-Klausel angegebenen Hauptressource und der
Wert jedes ausgewählten segment
-Felds
Die folgende Abfrage gibt beispielsweise eine Zeile für jede Kombination von
campaign
, segments.ad_network_type
und segments.date
.
SELECT
segments.ad_network_type
segments.date
FROM campaign
Beachten Sie, dass die Ergebnisse implizit nach jeder Instanz des Haupt- Ressource, aber nicht nach den Werten der einzelnen ausgewählten Felder.
Die folgende Beispielabfrage führt zu einer Zeile pro Kampagne, nicht zu einer Zeile pro Kampagne
unterschiedlichen Wert des Felds campaign.status
.
SELECT
campaign.status,
metrics.impressions
FROM campaign
WHERE segments.date DURING LAST_14_DAYS
Implizite Segmentierung
Jeder Bericht ist anfangs nach der Ressource segmentiert, die in den FROM
angegeben ist.
Klausel. Messwerte sind nach dem Feld resource_name
dieser Ressource segmentiert
Diese Beispielabfrage gibt automatisch ad_group.resource_name
und implizit zurück
werden damit Messwerte auf ad_group
-Ebene segmentiert.
SELECT metrics.impressions
FROM ad_group
Der zurückgegebene JSON-String sieht in etwa so aus:
{
"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"
}
}
]
}
Zentrale Datumssegmente
Sie können zentrale Datumssegmente in der WHERE
-Klausel verwenden, um ein Datum anzugeben.
oder einen bestimmten Zeitraum.
Die folgenden Segmentfelder werden als zentrale Datumssegmente bezeichnet:
segments.date
, segments.week
, segments.month
, segments.quarter
und
segments.year
Diese Beispielabfrage gibt clicks
-Kampagnenmesswerte für die letzten 30 Tage zurück.
SELECT
campaign.id,
campaign.name,
segments.date,
metrics.clicks
FROM campaign
WHERE segments.date DURING LAST_30_DAYS
Die Felder für grundlegende Datumssegmente stellen eine Ausnahme von der allgemeinen Regel dar, bei der Sie
kann in Ihrer WHERE
-Klausel kein Segmentfeld verwenden, es sei denn, Sie fügen auch das
SELECT
-Klausel angegeben werden. Weitere Informationen finden Sie unter Unzulässiges Filtern.
Informationen.
Grundlegende Regeln für Datumssegmente:
Sie können ein zentrales Datumsfeld in Ihrer
WHERE
-Klausel verwenden, ohne es in dieSELECT
-Klausel angegeben werden. Sie können das Feld auch in beide Klauseln aufnehmen.Diese Beispielabfrage gibt während des Datums
clicks
-Messwerte nach Kampagnenname zurück Bereich.segments.date
ist nicht in derSELECT
-Klausel enthalten.SELECT campaign.name, metrics.clicks FROM campaign WHERE segments.date > '2022-02-01' AND segments.date < '2022-03-01'
Wenn Sie ein zentrales Datumsfeld in die
SELECT
-Klausel aufnehmen, müssen Sie ein ein endliches Datum oder einen Zeitraum in derWHERE
-Klausel. Die in der Spalte DieSELECT
- undWHERE
-Klauseln müssen nicht übereinstimmen.Diese Beispielabfrage gibt
clicks
-Messwerte nach Kampagnenname zurück, segmentiert nach Monat für alle Tage im Zeitraum.SELECT campaign.name, metrics.clicks, segments.month FROM campaign WHERE segments.date > '2022-02-01' AND segments.date < '2022-03-01'
ISO 8601-Daten
Du kannst das Format YYYY-MM-DD
(ISO 8601) verwenden, um Daten und Zeiträume anzugeben.
Beispiel:
WHERE segments.date BETWEEN '2022-06-01' AND '2022-06-30'
WHERE segments.date >= '2022-06-01' AND segments.date <= '2022-06-30'
Für zentrale Datumssegmente, die einen bestimmten Zeitraum erfordern (segments.week
,
segments.month
, segments.quarter
) können Sie den =
-Operator mit der
ersten Tag des Zeitraums, zum Beispiel:
WHERE segments.month = '2022-06-01'
Vordefinierter Zeitraum
Sie können auch die folgenden vordefinierten Daten und Zeiträume verwenden:
Vordefinierter Zeitraum | |
---|---|
TODAY |
nur heute |
YESTERDAY |
nur gestern |
LAST_7_DAYS |
Vorherige 7 Tage ohne heute. |
LAST_BUSINESS_WEEK |
Vorherige 5-Tage-Arbeitswoche (Montag bis Freitag). |
THIS_MONTH |
alle Tage im aktuellen Monat |
LAST_MONTH |
alle Tage im vorherigen Monat |
LAST_14_DAYS |
Vorherige 14 Tage ohne heute. |
LAST_30_DAYS |
Vorherige 30 Tage ohne heute. |
THIS_WEEK_SUN_TODAY |
Zeitraum zwischen dem letzten Sonntag und dem aktuellen Tag. |
THIS_WEEK_MON_TODAY |
Zeitraum zwischen dem letzten Montag und dem aktuellen Tag. |
LAST_WEEK_SUN_SAT |
Zeitraum von 7 Tagen ab dem letzten Sonntag. |
LAST_WEEK_MON_SUN |
Zeitraum von 7 Tagen ab dem letzten Montag. |
Beispiel:
WHERE segments.date DURING LAST_30_DAYS
Keine Messwerte
Wenn Sie eine Abfrage ausführen, können Messwerte mit dem Wert Null für einige Entitäten. Weitere Informationen zum Umgang mit Messwerten ohne Werte in Abfragen
UNKNOWN enum-Typen
Wenn eine Ressource mit dem Enum-Datentyp UNKNOWN
zurückgegeben wird, bedeutet dies, dass
Der Typ wird in der API-Version nicht vollständig unterstützt. Diese Ressourcen haben möglicherweise
die über andere Benutzeroberflächen erstellt wurden. Eine neue Kampagne oder Anzeige
in der Search Ads 360-Benutzeroberfläche eingeführt, wird jedoch in der API-Version noch nicht unterstützt.
die Sie abfragen.
Sie können weiterhin Messwerte auswählen, wenn eine Ressource vom Typ UNKNOWN
ist, aber Sie
beachten Sie bitte Folgendes:
- Eine Ressource mit dem Typ
UNKNOWN
wird möglicherweise später unterstützt, bleibt aber erhaltenUNKNOWN
auf unbestimmte Zeit. - Neue Objekte des Typs
UNKNOWN
können jederzeit auftauchen. Diese Objekte sind abwärtskompatibel, da der enum-Wert bereits verfügbar ist. Wir stellen vor: mit dieser Änderung, sobald sie verfügbar sind, damit Sie ein genaues Ansicht Ihres Kontos. Die RessourceUNKNOWN
kann aufgrund von neuen Aktivitäten in Ihrem Konto über andere Benutzeroberflächen oder weil eine Ressource nicht mehr formell unterstützt. UNKNOWN
Ressourcen sind möglicherweise detaillierte Messwerte angehängt, die Sie Abfrage.UNKNOWN
-Ressourcen sind normalerweise vollständig in der Search Ads 360-Benutzeroberfläche sichtbar.