Les requêtes sur des champs de ressource, de segment et de métrique peuvent être envoyées à la
GoogleAdsService Search ou SearchStream
méthode. Pour créer une requête en langage de requête Google Ads, utilisez la
grammaire du langage. Pour obtenir une présentation générale du
langage de requête Google Ads, consultez la page Présentation du langage de requête Google Ads. Une requête est composée de plusieurs clauses :
SELECTFROMWHEREORDER BYLIMITPARAMETERS
Les clauses utilisent des noms de champs, des noms de ressources, des opérateurs, des conditions et des ordres pour vous aider à sélectionner les données appropriées. Une fois combinée en une seule requête, vous pouvez envoyer la requête à l'API Google Ads.
Clauses
Les sections suivantes décrivent l'objectif et la syntaxe de chaque clause du langage de requête Google Ads.
SELECT
La clause SELECT spécifie un ensemble de champs à récupérer dans la requête.
SELECT prend une liste de champs de ressource, de champs de segment et de métriques séparés par des virgules, et renvoie les valeurs dans la réponse. La clause SELECT est obligatoire dans une requête.
L'exemple de requête suivant montre comment sélectionner des attributs pour une ressource donnée :
SELECT
campaign.id,
campaign.name
FROM campaign
Vous pouvez demander différents types de champs dans une seule 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 ressource principaux
campaign.idcampaign.name
- Champs de ressource attribués
bidding_strategy.idbidding_strategy.name
- Champs de segment
segments.devicesegments.date
- Métriques
metrics.impressionsmetrics.clicks
- Interroger des champs qui ne peuvent pas être sélectionnés. L'attribut de métadonnées
selectablede ces champs est défini surfalse. - Sélectionner des attributs de champs répétés. L'attribut de métadonnées
is_repeatedde ces champs est défini surtrue. - Sélectionner des champs qui ne sont pas disponibles pour la ressource donnée dans la clause
FROM. Les attributs de certaines ressources ne peuvent pas être sélectionnés ensemble, et seul un sous-ensemble de toutes les métriques et de tous les segments est disponible pour la ressource dans la clauseFROM. - Sélectionner des segments ou des métriques qui ne sont pas compatibles entre eux. Pour en savoir plus, consultez la section Segmentation.
Vous trouverez des informations sur les conditions précédentes dans notre documentation de référence ou dans GoogleAdsFieldService.
FROM
La clause FROM spécifie la ressource principale à renvoyer. La ressource de la clause FROM définit les champs qui peuvent être utilisés dans toutes les autres clauses de la requête donnée. Une seule ressource peut être spécifiée dans la clause FROM. La clause FROM est obligatoire dans une requête adressée à la méthode
GoogleAdsService Search ou SearchStream. Toutefois, la clause FROM ne doit pas être spécifiée lorsque vous utilisez
GoogleAdsFieldService.
Bien qu'une seule ressource puisse exister dans la clause FROM pour une requête donnée, les champs des ressources attribuées peuvent également être disponibles. Ces ressources sont jointes implicitement à la ressource de la clause FROM. Vous n'avez donc qu'à ajouter leurs attributs à la clause SELECT pour renvoyer leurs valeurs. Toutes les ressources n'ont pas de ressources attribuées. Dans l'exemple suivant, vous pouvez demander à la fois l'ID du groupe d'annonces et l'ID de campagne à partir 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 est inclus dans la réponse, même s'il n'est pas explicitement sélectionné dans la requête :
SELECT ad_group.id
FROM ad_group
Il en va de même pour les ressources attribuées lorsqu'au moins un champ est sélectionné.
Par exemple, campaign.resource_name est inclus dans la réponse à 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 la requête. Lorsque vous utilisez la clause WHERE, spécifiez une ou plusieurs conditions séparées par AND. Les conditions suivent généralement le modèle field_name Operator value (ou utilisent BETWEEN value AND value, IS NULL ou IS NOT NULL). La clause WHERE est facultative dans une requête.
L'exemple suivant utilise WHERE pour renvoyer des métriques sur une période donnée :
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 demande le nombre de clics pour toutes les campagnes ayant généré des impressions sur mobile 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 également figurer dans la clause SELECT, à l'exception des
segments de date suivants, appelés segments de date principaux :
segments.datesegments.weeksegments.monthsegments.quartersegments.year
Dans la requête suivante, segments.date est sélectionné.
Étant donné que ce segment est un segment de date principal, vous devez fournir une plage de dates finie
dans la WHERE clause composée de segments de date principaux:
SELECT
campaign.id,
campaign.name,
segments.date,
metrics.clicks
FROM campaign
WHERE segments.date DURING LAST_30_DAYS
Tous les segments qui répondent à la condition précédente sont segments.date, segments.week, segments.month, segments.quarter et segments.year. Si l'un de ces segments est sélectionné, au moins l'un d'eux doit être utilisé dans la clause WHERE.
Pour en savoir plus sur le filtrage par date, consultez la section Périodes.
Lors du filtrage, tenez compte de la sensibilité à la casse de votre opérateur. Pour en savoir plus, consultez la section Sensibilité à la casse.
Pour obtenir la liste complète des opérateurs, consultez la grammaire du langage.
ORDER BY
La clause ORDER BY spécifie l'ordre dans lequel les résultats sont renvoyés. 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 field_name suivi de ASC ou DESC. Si ni ASC ni DESC ne sont spécifiés, l'ordre par défaut est ASC. La clause ORDER BY est facultative dans une requête.
La requête suivante trie les campagnes renvoyées par nombre de clics, du plus élevé au plus bas :
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'une liste séparée par des virgules. Le tri s'effectue dans le même ordre que celui spécifié dans la requête.
Par exemple, dans cette requête qui sélectionne les données des groupes d'annonces, les résultats sont triés par ordre croissant par nom de campagne, puis par ordre décroissant par nombre d'impressions, puis par ordre décroissant par nombre de clics :
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.
Cela est utile si vous n'avez besoin que d'un sous-ensemble de résultats.
Par exemple, LIMIT peut limiter le nombre total de résultats pour la requête suivante :
SELECT
campaign.name,
ad_group.name,
segments.device,
metrics.impressions
FROM ad_group
ORDER BY metrics.impressions DESC
LIMIT 50
PARAMETERS
La clause PARAMETERS vous permet de spécifier des méta-paramètres pour la requête.
Ces paramètres peuvent avoir un impact sur les types de lignes renvoyées.
Les méta-paramètres suivants sont acceptés :
include_drafts
Définissez include_drafts sur true pour renvoyer les entités brouillons.
La valeur par défaut est false.
Par exemple, la requête suivante récupère les campagnes brouillons ainsi que les campagnes standards :
SELECT campaign.name
FROM campaign
PARAMETERS include_drafts = true
omit_unselected_resource_names
Définissez omit_unselected_resource_names sur true pour omettre le nom de ressource de chaque type de ressource dans la réponse, sauf s'il est explicitement demandé dans la clause SELECT. La valeur par défaut est false.
| Requête | Ressources renvoyées |
|---|---|
SELECT campaign.name, customer.id FROM campaign |
|
SELECT campaign.name, customer.id FROM campaign PARAMETERS omit_unselected_resource_names = true |
Aucun
|
SELECT campaign.name, campaign.resource_name FROM campaign PARAMETERS omit_unselected_resource_names = true |
|
Règles de langage supplémentaires
En plus des exemples de chaque clause, le langage de requête Google Ads est compatible avec les comportements suivants :
Le champ de ressource principal n'est pas obligatoire dans la clause
SELECTd'une requête. Par exemple, vous pouvez utiliser un ou plusieurs champs de ressource principaux pour filtrer les données sans les sélectionner :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 n'est requis dans la requête :
SELECT metrics.impressions, metrics.clicks, metrics.cost_micros FROM campaignLes champs de segmentation peuvent être sélectionnés sans aucun champ de ressource ni aucune métrique :
SELECT segments.device FROM campaignLe champ
resource_name(campaign.resource_name, par exemple) peut être utilisé pour filtrer ou trier les données :SELECT campaign.id, campaign.name FROM campaign WHERE campaign.resource_name = 'customers/1234567/campaigns/987654'