Abfragestruktur

Abfragen für Ressourcen-, Segment- und Messwertfelder können an folgende Adresse gesendet werden: GoogleAdsService Suche oder SearchStream . Eine Abfrage in der Google Ads Query Language muss mithilfe der Funktion Sprachgrammatik. Eine Abfrage besteht aus mehreren Klauseln hinzufügen:

  • SELECT
  • FROM
  • WHERE
  • ORDER BY
  • LIMIT
  • PARAMETERS

Klauseln verwenden Feldnamen, Ressourcennamen, Operatoren, Bedingungen und Reihenfolgen Ihnen helfen, die richtigen Daten auszuwählen. Nach der Zusammenführung kann eine Anfrage über die Google Ads API gestellt werden.

klauseln

Video: GAQL-Feldkompatibilität

AUSWÄHLEN

Die SELECT-Klausel gibt eine Reihe von Feldern an, die in der Anfrage abgerufen werden sollen. SELECT verwendet eine durch Kommas getrennte Liste mit Ressourcenfeldern, Segmentfeldern und Metriken, die die Werte in der Antwort zurückgeben. Die SELECT-Klausel ist erforderlich in einer Abfrage.

Die folgende Beispielabfrage zeigt ein Beispiel für die Auswahl von Attributen für eine bestimmte Ressource:

SELECT
  campaign.id,
  campaign.name
FROM campaign

Sie können in einer einzelnen Anfrage verschiedene Feldtypen anfordern, zum Beispiel:

SELECT
  campaign.id,
  campaign.name,
  bidding_strategy.id,
  bidding_strategy.name,
  segments.device,
  segments.date,
  metrics.impressions,
  metrics.clicks
FROM campaign
WHERE segments.date DURING LAST_30_DAYS
  • Ressourcenfelder

    • campaign.id
    • campaign.name
  • Ressourcenfelder

    • bidding_strategy.id
    • bidding_strategy.name
  • Segmentfelder

    • segments.device
    • segments.date
  • Messwerte

    • metrics.impressions
    • metrics.clicks

Einige Felder sind in der SELECT-Klausel aus folgenden Gründen möglicherweise nicht zulässig: Einschränkungen:

  • Nicht auswählbare Felder werden abgefragt. Diese Felder haben ihre Selectable-Metadatenattribut wurde als false gekennzeichnet.
  • Attribute wiederkehrender Felder auswählen Diese Felder haben ihre isRepeated-Metadatenattribut wurde als true gekennzeichnet.
  • Auswahl von Feldern, die für die angegebene Ressource in FROM nicht verfügbar sind Klausel. Attribute einiger Ressourcen können nicht zusammen ausgewählt werden, auch nur ein ist eine Teilmenge aller Messwerte und Segmente für die Ressource in der FROM-Klausel angegeben werden.
  • Auswahl von Segmenten oder Messwerten, die nicht miteinander kompatibel sind Für Weitere Informationen hierzu finden Sie in der Abschnitt "Segmentierung".

Informationen zu den oben genannten Bedingungen finden Sie in unserer Referenzdokumentation. oder von GoogleAdsFieldService.

VOM

Die FROM-Klausel gibt die Hauptressource an, die zurückgegeben wird. Die Ressource in der FROM-Klausel definiert, welche Felder im anderen für die jeweilige Abfrage. Im Feld FROM-Klausel angegeben werden. Die FROM-Klausel ist in einer Abfrage an die erforderlich, GoogleAdsService Suche oder SearchStream Sie sollte jedoch nicht angegeben werden, wenn die Methode GoogleAdsFieldService

Während in der FROM-Klausel für eine bestimmte Abfrage nur eine Ressource enthalten sein kann, werden Felder aus Zugeordneten Ressourcen können ebenfalls verfügbar sein. Diese Ressourcen sind implizit mit der Ressource in der FROM-Klausel verknüpft, sodass Sie nur Attribute zur SELECT-Klausel hinzufügen, um die zugehörigen Werte zurückzugeben. Nicht alle Ressourcen haben zugeordnete Ressourcen. Im folgenden Beispiel können Sie die Anzeigengruppen-ID und die Kampagnen-ID aus Anzeigengruppen:

SELECT
  campaign.id,
  ad_group.id
FROM ad_group

Das Feld resource_name der Hauptressource wird immer zurückgegeben. Im folgenden Beispiel wird ad_group.resource_name im , obwohl sie nicht explizit in der Abfrage ausgewählt wurde:

SELECT ad_group.id
FROM ad_group

Dasselbe gilt für andere Ressourcen, wenn mindestens ein Feld ausgewählt ist. Beispiel: campaign.resource_name wird in die Antwort für den folgende Abfrage:

SELECT
  campaign.id,
  ad_group.id
FROM ad_group

WHERE

Die Klausel WHERE gibt die Bedingungen an, die beim Filtern von Daten für die Bei Verwendung der WHERE-Klausel können eine oder mehrere Bedingungen angegeben werden Trennen Sie sie mit AND. Jede Bedingung sollte dem Muster folgen, field_name Operator value Die WHERE-Klausel ist in einer Abfrage optional.

Im Folgenden finden Sie ein Beispiel für die Verwendung von WHERE, um Messwerte eines bestimmten Zeitpunkts zurückzugeben Zeitraum:

SELECT
  campaign.id,
  campaign.name,
  metrics.impressions
FROM campaign
WHERE segments.date DURING LAST_30_DAYS

Sie können mehrere Bedingungen kombinieren, um die Daten zu filtern. In diesem Beispiel wird die Anzahl der Klicks für alle Kampagnen mit Impressionen auf Mobilgeräten in den letzten 30 Tagen.

SELECT
  campaign.id,
  campaign.name,
  segments.device,
  metrics.clicks
FROM campaign
WHERE metrics.impressions > 0
  AND segments.device = MOBILE
  AND segments.date DURING LAST_30_DAYS

Segmente in der WHERE-Klausel müssen sich in der SELECT-Klausel befinden, wobei Folgendes gilt: die folgenden Datumssegmente, die als Hauptdatensegmente bezeichnet werden, Ausnahmen:

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

In der folgenden Abfrage ist segments.date ausgewählt. Da es sich bei diesem Segment um ein wichtiges Datumssegment handelt, ist ein begrenztes Datum erforderlich Bereich, der aus wichtigen Datumssegmenten in der WHERE-Klausel besteht, die angegeben werden soll

SELECT
  campaign.id,
  campaign.name,
  segments.date,
  metrics.clicks
FROM campaign
WHERE segments.date DURING LAST_30_DAYS

Alle Segmente, die die obige Bedingung erfüllen, sind: „Segmente.Datum“, „Segmente.Woche“, "Segmente.Monat", "Segmente.Quartal" und "Segmente.Jahr". Wenn eines dieser Segmente ausgewählt sind, muss mindestens eines davon in der WHERE-Klausel verwendet werden.

Beim Filtern ist es wichtig, zwischen Groß- und Kleinschreibung denken. Weitere Informationen finden Sie unter Groß-/Kleinschreibung.

Eine vollständige Liste der Operatoren finden Sie in der Sprache Grammatik.

ORDER BY

Die ORDER BY-Klausel gibt die Reihenfolge an, in der die Ergebnisse zurückgegeben werden sollen. zurückgegeben. So können Sie die Daten in aufsteigender oder absteigender Reihenfolge anordnen. basierend auf einem Feldnamen. Jede Sortierung wird als field_name angegeben, gefolgt von ASC oder DESC. Wenn weder ASC noch DESC angegeben ist, gilt die Standardreihenfolge. an ASC. Die ORDER BY-Klausel ist in einer Abfrage optional.

Mit der folgenden Abfrage werden die zurückgegebenen Kampagnen nach der Anzahl der Klicks von vom höchsten zum niedrigsten Wert:

SELECT
  campaign.name,
  metrics.clicks
FROM campaign
ORDER BY metrics.clicks DESC

Sie können in der ORDER BY-Klausel mehrere Felder angeben, indem Sie ein durch Kommas getrenntes Feld verwenden Liste. Die Sortierung erfolgt in der in der Abfrage angegebenen Reihenfolge. Wenn beispielsweise Anzeigengruppendaten ausgewählt werden, werden die Ergebnisse sortiert in aufsteigender Reihenfolge nach Kampagnenname, dann in absteigender Reihenfolge nach Anzahl der Impressionen, dann in absteigender Reihenfolge nach Anzahl der Klicks:

SELECT
  campaign.name,
  ad_group.name,
  metrics.impressions,
  metrics.clicks
FROM ad_group
ORDER BY
  campaign.name,
  metrics.impressions DESC,
  metrics.clicks DESC

LIMIT

Mit der LIMIT-Klausel können Sie die Anzahl der Ergebnisse angeben, die zurückgegeben werden sollen. Dies ist nützlich, wenn Sie nur an einer Zusammenfassung interessiert sind.

Beispielsweise kann LIMIT verwendet werden, um die Gesamtzahl der Ergebnisse für den folgende Abfrage:

SELECT
  campaign.name,
  ad_group.name,
  segments.device,
  metrics.impressions
FROM ad_group
ORDER BY metrics.impressions DESC
LIMIT 50

PARAMETER

Mit der PARAMETERS-Klausel können Sie Metaparameter für die Anfrage angeben. Diese Parameter können sich darauf auswirken, welche Arten von Zeilen zurückgegeben werden.

Derzeit werden die folgenden Metaparameter unterstützt:

include_drafts

Legen Sie include_drafts auf true fest, damit Entwurfsentitäten zurückgegeben werden können. Die Standardeinstellung ist false.

Die folgende Abfrage ruft Kampagnenentwürfe zusammen mit den regulären Kampagnen:

SELECT campaign.name
FROM campaign
PARAMETERS include_drafts=true

omit_unselected_resource_names

Setzen Sie omit_unselected_resource_names auf true, um zu verhindern, dass der Ressourcenname Jeder Ressourcentyp in der Antwort wird zurückgegeben, sofern er nicht explizit angefordert wird. in der SELECT-Klausel. Die Standardeinstellung ist false.

Beispiele für Weglassen_unausgewählter_Ressourcennamen
SELECT
  campaign.name,
  customer.id
FROM campaign
Returned resources:
campaign.resource_name
customer.resource_name

Die Standardeinstellung für omit_unselected_resource_names ist false, sodass werden alle "resource_name"-Felder zurückgegeben.
SELECT
  campaign.name,
  customer.id
FROM campaign
PARAMETERS omit_unselected_resource_names = true
Returned resources:
Keine.
omit_unselected_resource_names ist als true angegeben und campaign.resource_name und customer.resource_name nicht Teil der SELECT-Klausel sind.
SELECT
  campaign.name,
  campaign.resource_name
FROM campaign
PARAMETERS omit_unselected_resource_names = true
Returned resource:
campaign.resource_name
omit_unselected_resource_names wird als true angegeben und campaign.resource_name im Rahmen des SELECT-Klausel angegeben werden.

Zusätzliche Sprachregeln

Zusätzlich zu den Beispielen für jede Klausel enthält die Google Ads Query Language folgende Informationen: Verhaltensweisen, die genutzt werden können:

  • Es ist nicht erforderlich, dass sich das Hauptressourcenfeld im SELECT befindet. für eine Abfrage. Beispielsweise möchten Sie vielleicht nur eine oder mehrere Haupt- Ressourcenfelder zum Filtern von Daten:

    SELECT campaign.id
    FROM ad_group
    WHERE ad_group.status = PAUSED
    
  • Messwerte können exklusiv für eine bestimmte Ressource ausgewählt werden. keine anderen Felder aus der Ressource in der Abfrage erforderlich sind:

    SELECT
      metrics.impressions,
      metrics.clicks,
      metrics.cost_micros
    FROM campaign
    
  • Segmentierungsfelder können ohne zugehörige Ressourcenfelder ausgewählt werden oder Metriken:

    SELECT segments.device FROM campaign
    
  • Für das Feld resource_name (z. B. campaign.resource_name) kann es sich um zum Filtern oder Sortieren von Daten:

    SELECT
      campaign.id,
      campaign.name
    FROM campaign
    WHERE campaign.resource_name = 'customers/1234567/campaigns/987654'