Les requêtes sur les champs de ressource, de segment et de métrique peuvent être envoyées à
GoogleAdsService
Search ou SearchStream
méthodes. Pour créer une requête dans le langage de requête Google Ads, vous devez la créer à l'aide de la méthode
grammaire du langage. Une requête se compose de plusieurs
:
SELECT
FROM
WHERE
ORDER BY
LIMIT
PARAMETERS
Elles utilisent des noms de champ, des noms de ressources, des opérateurs, des conditions et classements pour vous aider à sélectionner les bonnes données. Une fois combinés en un vous pouvez envoyer une demande à l'aide de l'API Google Ads.
Clauses
Vidéo: Compatibilité des champs GAQL
SELECT
La clause SELECT
spécifie un ensemble de champs à extraire dans la requête.
SELECT
prend une liste de champs de ressource, de champs de segment séparés par une virgule,
et les métriques, en renvoyant les valeurs dans la réponse. La clause SELECT
est
obligatoire dans une requête.
L'exemple de requête ci-dessous montre comment sélectionner des attributs pour une ressource:
SELECT
campaign.id,
campaign.name
FROM campaign
Vous pouvez demander différents types de champs dans une même requête, par exemple:
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
Champs de la ressource
campaign.id
campaign.name
Champs de la ressource
bidding_strategy.id
bidding_strategy.name
Champs de segment
segments.device
segments.date
Métriques
metrics.impressions
metrics.clicks
Il est possible que certains champs ne soient pas autorisés dans la clause SELECT
pour les raisons suivantes :
restrictions:
- Interroger des champs non sélectionnables Ces champs ont leurs valeurs
Attribut de métadonnées
Selectable
marqué commefalse
. - Sélection des attributs des champs répétés. Ces champs ont leurs valeurs
Attribut de métadonnées
isRepeated
marqué commetrue
. - Sélection des champs qui ne sont pas disponibles pour la ressource donnée dans
FROM
. Les attributs de certaines ressources ne peuvent pas être sélectionnés ensemble. un sous-ensemble de toutes les métriques et de tous les segments sera disponible pour la ressource dansFROM
. - Sélectionner des segments ou des métriques qui ne sont pas compatibles entre eux Pour Pour en savoir plus, consultez les section sur la segmentation.
Vous trouverez des informations relatives aux conditions ci-dessus dans notre documentation de référence.
ou à partir de GoogleAdsFieldService
.
FROM
La clause FROM
spécifie la ressource principale qui sera renvoyée. La
ressource dans la clause FROM
définit les champs pouvant être utilisés dans tous les autres
pour la requête donnée. Vous ne pouvez spécifier qu'une seule ressource dans le champ
FROM
. La clause FROM
est obligatoire dans une requête envoyée au
GoogleAdsService
Search ou SearchStream
. Toutefois, vous ne devez pas l'indiquer lorsque vous utilisez la méthode
GoogleAdsFieldService
Bien qu'une seule ressource puisse exister dans la clause FROM
pour une requête donnée, les champs
provenant des ressources attribuées peuvent également être disponibles. Ces ressources sont
implicitement jointe à la ressource dans la clause FROM
. Il vous suffit donc de
ajoutez leurs attributs à la clause SELECT
pour renvoyer leurs valeurs. Il est possible que
ressources ont des ressources attribuées. Dans l'exemple suivant, vous pouvez demander
à la fois l'ID du groupe d'annonces et l'ID de la campagne des groupes d'annonces:
SELECT
campaign.id,
ad_group.id
FROM ad_group
Le champ resource_name
de la ressource principale est toujours renvoyé.
Dans l'exemple suivant, ad_group.resource_name
sera inclus dans
bien qu'il ne soit pas explicitement sélectionné dans la requête:
SELECT ad_group.id
FROM ad_group
Il en va de même pour les autres ressources lorsqu'au moins un champ est sélectionné.
Par exemple: campaign.resource_name
sera inclus dans la réponse pour le
la requête suivante:
SELECT
campaign.id,
ad_group.id
FROM ad_group
WHERE
La clause WHERE
spécifie les conditions à appliquer lors du filtrage des données pour le
requête. Lorsque vous utilisez la clause WHERE
, vous pouvez spécifier une ou plusieurs conditions
à l'aide de AND
pour les séparer. Chaque condition doit suivre le modèle
field_name Operator value
La clause WHERE
est facultative dans une requête.
Voici un exemple d'utilisation de WHERE
pour renvoyer des métriques d'une heure donnée
période:
SELECT
campaign.id,
campaign.name,
metrics.impressions
FROM campaign
WHERE segments.date DURING LAST_30_DAYS
Vous pouvez combiner plusieurs conditions pour filtrer les données. Cet exemple va demander le nombre de clics pour toutes les campagnes ayant enregistré des impressions sur mobile dans au cours des 30 derniers jours.
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
Les segments de la clause WHERE
doivent se trouver dans la clause SELECT
, avec le paramètre
les plages de dates suivantes, appelées segments de dates principaux,
étant des exceptions:
segments.date
segments.week
segments.month
segments.quarter
segments.year
Dans la requête suivante, notez que segments.date
est sélectionné.
Comme ce segment est un segment de date principal, il nécessite une date finie
plage composée de segments de dates principaux dans la clause WHERE
à fournir.
SELECT
campaign.id,
campaign.name,
segments.date,
metrics.clicks
FROM campaign
WHERE segments.date DURING LAST_30_DAYS
Tous les segments qui remplissent la condition ci-dessus sont: segments.date, segments.week,
"segments.mois", "segments.trimestres" et "segments.année". Si l'un de ces segments
sont sélectionnées, au moins l'un d'entre eux doit être utilisé dans la clause WHERE
.
Lors du filtrage, il est important de garder la sensibilité à la casse de votre opérateur à l'esprit. Pour en savoir plus, consultez la section Sensibilité à la casse.
Pour obtenir la liste complète des opérateurs, consultez la langue grammaire.
ORDER BY
La clause ORDER BY
spécifie l'ordre dans lequel les résultats doivent être
renvoyé. Cela vous permet d'organiser les données par ordre croissant ou décroissant.
en fonction d'un nom de champ. Chaque ordre est spécifié sous la forme d'un field_name
suivi de
ASC
ou DESC
. Si aucune des valeurs ASC
ni DESC
n'est spécifiée, les valeurs par défaut sont triées.
à ASC
. La clause ORDER BY
est facultative dans une requête.
La requête suivante trie les campagnes renvoyées en fonction du nombre de clics enregistrés par ordre décroissant:
SELECT
campaign.name,
metrics.clicks
FROM campaign
ORDER BY metrics.clicks DESC
Vous pouvez spécifier plusieurs champs dans la clause ORDER BY
à l'aide d'un fichier
liste. Le tri s'effectuera dans la même séquence que celle spécifiée dans la requête.
Par exemple, si cette requête sélectionne les données d'un groupe d'annonces, les résultats sont triés
dans l'ordre croissant par nom de campagne, puis dans l'ordre décroissant en fonction du nombre de
impressions, puis par nombre de clics décroissant:
SELECT
campaign.name,
ad_group.name,
metrics.impressions,
metrics.clicks
FROM ad_group
ORDER BY
campaign.name,
metrics.impressions DESC,
metrics.clicks DESC
LIMIT
La clause LIMIT
vous permet de spécifier le nombre de résultats à renvoyer.
Ceci est utile si vous vous intéressez uniquement à un résumé.
Par exemple, LIMIT
peut être utilisé pour limiter le nombre total de résultats pour la
la requête suivante:
SELECT
campaign.name,
ad_group.name,
segments.device,
metrics.impressions
FROM ad_group
ORDER BY metrics.impressions DESC
LIMIT 50
PARAMÈTRES
La clause PARAMETERS
vous permet de spécifier des méta-paramètres pour la requête.
Ces paramètres peuvent avoir une incidence sur les types de lignes renvoyées.
Actuellement, les méta-paramètres suivants sont acceptés:
include_drafts
Définissez include_drafts
sur true
pour autoriser le renvoi des entités brouillons.
La valeur par défaut est false
.
Par exemple, la requête suivante permet d'extraire des brouillons de campagne campagnes:
SELECT campaign.name
FROM campaign
PARAMETERS include_drafts=true
omit_unselected_resource_names
Définissez omit_unselected_resource_names
sur true
pour empêcher le nom de ressource de
que chaque type de ressource dans la réponse soit renvoyé, sauf demande explicite
dans la clause SELECT
. La valeur par défaut est false
.
Exemples omises_unselected_resource_names | |
---|---|
SELECT campaign.name, customer.id FROM campaign |
Returned resources: campaign.resource_name
La valeur par défaut de omit_unselected_resource_names est false .
Tous les champs "resource_name" sont renvoyés.
|
SELECT campaign.name, customer.id FROM campaign PARAMETERS omit_unselected_resource_names = true |
Returned resources: Aucune. omit_unselected_resource_names est spécifié en tant que true .
et campaign.resource_name et customer.resource_name
ne font pas partie de la clause SELECT .
|
SELECT campaign.name, campaign.resource_name FROM campaign PARAMETERS omit_unselected_resource_names = true |
Returned resource: campaign.resource_name
omit_unselected_resource_names est spécifié en tant que true
et campaign.resource_name demandés dans le cadre
SELECT .
|
Règles supplémentaires concernant les langues
En plus des exemples associés à chaque clause, le langage de requête Google Ads propose les fonctionnalités suivantes : comportements pouvant être utilisés:
Il n'est pas obligatoire que le champ de ressource principal se trouve dans
SELECT
pour une requête. Par exemple, vous pouvez n'utiliser qu'un ou plusieurs des champs de ressource pour filtrer les données:SELECT campaign.id FROM ad_group WHERE ad_group.status = PAUSED
Les métriques peuvent être sélectionnées exclusivement pour une ressource donnée. aucun autre champ de la ressource sont requis dans la requête:
SELECT metrics.impressions, metrics.clicks, metrics.cost_micros FROM campaign
Les champs de segmentation peuvent être sélectionnés sans champ de ressource associé ou métriques:
SELECT segments.device FROM campaign
Le champ
resource_name
(campaign.resource_name
, par exemple) peut être utilisées pour filtrer ou trier les données:SELECT campaign.id, campaign.name FROM campaign WHERE campaign.resource_name = 'customers/1234567/campaigns/987654'