Vous pouvez utiliser GoogleAdsFieldService
pour demander dynamiquement le catalogue des ressources, des champs de ressources,
des clés de segmentation et des métriques disponibles dans les
GoogleAdsService Search et
SearchStream méthodes. Le catalogue fournit des métadonnées qui peuvent être utilisées par les clients de l'API Google Ads pour la validation et la construction d'instructions du langage de requête Google Ads.
Exemple de requête et de réponse HTTP
basées sur gRPC pour envoyer vos requêtes.La requête consiste en une HTTP GET adressée au serveur de l'API Google Ads à l'URL suivante :
https://googleads.googleapis.com/v25/googleAdsFields/{resource_or_field}
L'exemple suivant montre une requête suivie de la réponse renvoyée par GoogleAdsFieldService pour la ressource ad_group :
Requête
https://googleads.googleapis.com/v25/googleAdsFields/ad_group
Réponse
{
"resourceName": "googleAdsFields/ad_group",
"name": "ad_group",
"category": "RESOURCE",
"selectable": false,
"filterable": false,
"sortable": false,
"selectableWith": [
"campaign",
"customer",
"metrics.average_cpc",
"segments.device",
...
],
"attributeResources": [
"customer",
"campaign"
],
"metrics": [
"metrics.conversions",
"metrics.search_budget_lost_impression_share",
"metrics.average_cost",
"metrics.clicks",
...
],
"segments": [
"segments.date",
"segments.ad_network_type",
"segments.device",
...
]
}
Dans cet exemple, les tableaux importants sont les suivants :
attributeResources- Ressources qui peuvent être jointes implicitement à la ressource dans la clause
FROM. metrics- Métriques qui peuvent être sélectionnées avec la ressource dans la clause
FROM. Rempli uniquement pour les champs où lacategoryestRESOURCE. segments- Clés de segment qui peuvent être sélectionnées avec la ressource dans la clause
FROM. Elles segmentent les métriques spécifiées dans la requête. Rempli uniquement pour les champs où lacategoryestRESOURCE. selectableWith-
L'attribut
selectableWithd'un champ de ressource ou de segment spécifie d'autres ressources, segments ou métriques qui peuvent être sélectionnés dans la même requête GAQL. Cet attribut est essentiel lorsque vous souhaitez inclure des champs d'une ressource ou d'un segment qui n'est pas spécifié dans la clauseFROM.Lors de la construction d'une requête GAQL :
- La ressource de la clause
FROMest l'entité principale. Vous pouvez toujours sélectionner des champs de cette ressource. - Vous pouvez également sélectionner des métriques et des segments compatibles disponibles avec l'entité principale.
- Si vous incluez des champs d'une ressource ou d'un segment en dehors de la clause
FROM, vous devez vous assurer que cette ressource ou ce segment nonFROMest compatible avec tous les autres champs, segments et métriques sélectionnés dans la requête.
- La ressource de la clause
La liste
selectableWithd'une ressource spécifique (appelons-la Ressource A) contient toutes les autres ressources, tous les autres segments et toutes les autres métriques qui peuvent être sélectionnés avec les champs de la ressource A lorsque la ressource A n'est pas l'entité principale.Exemple :
Prenons l'exemple de requête suivant :
SELECT ad_group.id, segments.date, campaign.name FROM ad_groupLa clause
FROMspécifiead_group.Cette requête sélectionne
ad_group.id(à partir de la ressourceFROM),segments.dateetcampaign.name.Étant donné que
campaign.nameest sélectionné, mais quecampaignne figure pas dans la clauseFROM, vous devez vérifier sa compatibilité avec les autres éléments sélectionnés.Pour que cette requête soit valide, la ressource
campaigndoit être compatible avecsegments.date(un autre champ sélectionné). Vous devez donc vérifier l'attributselectableWithde la ressourcecampaign. Sisegments.dateest présent dans la listeselectableWithdecampaign, la requête est valide.
Si vous sélectionnez des champs d'une ressource qui ne figure pas dans la clause
FROM, la listeselectableWithde cette ressource doit inclure tous les autres segments et ressources présents dans votre clauseSELECT.
Détails des métadonnées
Vous pouvez demander le catalogue à l'aide de GoogleAdsFieldService aux niveaux suivants :
- Ressource
- Par exemple,
googleAdsFields/campaign. - Champ de la ressource
- Par exemple,
googleAdsFields/campaign.name. - Champ de segmentation
- Par exemple,
googleAdsFields/segments.ad_network_type. - Métrique
- Par exemple,
googleAdsFields/metrics.clicks.