Terminologie clé
- Ressource
- Entité dans Google Ads, telle que
campaignouad_group. - Segment
- Dimension utilisée pour regrouper les données, par exemple
segments.dateousegments.device. Lorsque des segments sont inclus dans la clauseSELECTavec des métriques, les métriques sont divisées par segment. - Métrique
- Mesure des performances, telle que
metrics.impressionsoumetrics.clicks. - Ressource attribuée
- Ressource implicitement jointe à la ressource principale dans la clause
FROM, ce qui vous permet de sélectionner ses attributs ainsi que ceux de la ressource principale.
Interroger des informations sur les ressources ou les métadonnées
Le langage de requête Google Ads peut interroger l'API Google Ads pour obtenir les types d'informations suivants :
Ressources et leurs attributs, segments et métriques associés à l'aide de
GoogleAdsServiceSearch ou SearchStream : le résultat d'une requêteGoogleAdsServiceest une liste d'instancesGoogleAdsRow, chaqueGoogleAdsRowreprésentant une ressource.Si des attributs ou des métriques sont demandés, la ligne inclut également ces champs. Si des segments sont demandés, la réponse affiche également une ligne supplémentaire pour chaque tuple segment-ressource.
Métadonnées sur les champs et ressources disponibles dans
GoogleAdsFieldService: ce service fournit un catalogue de champs interrogeables avec des informations spécifiques sur leur compatibilité et leur type.Le résultat d'une requête
GoogleAdsFieldServiceest une liste d'instancesGoogleAdsField, chaqueGoogleAdsFieldcontenant des détails sur le champ demandé.
Pour en savoir plus sur la structure des requêtes, consultez Structure des requêtes et Grammaire du langage de requête Google Ads.
Requête d'attributs de ressource
Voici un exemple de requête de base pour les attributs de la ressource "campaign" qui illustre comment renvoyer l'ID, le nom et l'état de la campagne :
SELECT
campaign.id,
campaign.name,
campaign.status
FROM campaign
ORDER BY campaign.id
Cette requête trie les résultats par ID de campagne. Chaque GoogleAdsRow obtenu représente un objet campaign renseigné avec les champs sélectionnés, y compris l'resource_name de la campagne.
Pour connaître les autres champs disponibles pour les requêtes de campagne, consultez la documentation de référence sur Campaign.
Requête pour des métriques
En plus des attributs sélectionnés pour une ressource donnée, vous pouvez également interroger les métriques associées :
SELECT
campaign.id,
campaign.name,
campaign.status,
metrics.impressions
FROM campaign
WHERE campaign.status = 'PAUSED'
AND metrics.impressions > 1000
ORDER BY campaign.id
Cette requête ne filtre que les campagnes dont l'état est PAUSED et qui ont enregistré plus de 1 000 impressions, tout en les classant par ID de campagne. Chaque GoogleAdsRow résultant comporterait un champ metrics renseigné avec les métriques sélectionnées.
Pour obtenir la liste des métriques interrogeables, consultez la documentation sur Metrics.
Requête pour des segments
En plus des attributs sélectionnés pour une ressource donnée, vous pouvez également interroger les segments associés :
SELECT
campaign.id,
campaign.name,
campaign.status,
metrics.impressions,
segments.date
FROM campaign
WHERE campaign.status = 'PAUSED'
AND metrics.impressions > 1000
AND segments.date DURING LAST_30_DAYS
ORDER BY campaign.id
Comme pour l'interrogation des métriques, cette requête ne filtre que les campagnes dont l'état est PAUSED et qui ont enregistré plus de 1 000 impressions. Toutefois, cette requête segmente les données par date. Chaque GoogleAdsRow résultant représente donc un tuple d'une campagne et du segment de date.
La segmentation divise les métriques sélectionnées, en les regroupant par segment dans la clause SELECT.
Pour obtenir la liste des segments interrogeables, consultez la documentation sur Segments.
Interroger les attributs d'une ressource associée
Dans une requête portant sur une ressource donnée, vous pouvez effectuer une jointure avec d'autres ressources associées, si elles sont disponibles. Ces ressources associées sont appelées "ressources attribuées". Vous pouvez effectuer une jointure implicite avec des ressources attribuées en sélectionnant un attribut dans votre requête.
SELECT
campaign.id,
campaign.name,
campaign.status,
bidding_strategy.name
FROM campaign
ORDER BY campaign.id
Cette requête sélectionne non seulement les attributs de campagne, mais extrait également les attributs associés de chaque campagne sélectionnée. Chaque GoogleAdsRow obtenu représente un objet campaign renseigné avec les attributs de campagne sélectionnés, ainsi que l'attribut de stratégie d'enchères sélectionné bidding_strategy.name.
Pour connaître les ressources attribuées disponibles pour les requêtes de campagne, consultez la documentation de référence sur Campaign.
Bonnes pratiques
- Sélectionnez uniquement les champs dont vous avez besoin pour éviter les temps de réponse longs et les délais d'expiration.
- Utilisez
LIMITpendant le développement et les tests pour éviter de traiter des ensembles de résultats volumineux. - Appliquez des filtres dans la clause
WHEREpour réduire le transfert de données et la taille de la réponse. - Utilisez
GoogleAdsFieldServicepour vérifier la compatibilité des champs et les types de données avant de créer des requêtes complexes. - Sachez que certains champs, en particulier ceux impliquant de grandes quantités de données ou des calculs complexes, peuvent augmenter le coût des requêtes.
Muter en fonction des résultats de la requête
Lorsque vous interrogez une ressource donnée, vous pouvez immédiatement prendre les résultats renvoyés en tant qu'objets, les modifier et les renvoyer à la méthode de mutation dans le service de cette ressource. Voici un exemple de workflow :
- Exécutez une requête pour toutes les campagnes
PAUSEDqui ont enregistré plus de 1 000 impressions. - Récupérez l'objet
Campaignà partir du champcampaignde chaqueGoogleAdsRowde la réponse. - Remplacez l'état de chaque campagne par
ENABLEDau lieu dePAUSED. - Appelez
CampaignService.MutateCampaignsavec les campagnes modifiées et unFieldMaskcorrespondant pour les mettre à jour.
Métadonnées du champ
Les requêtes envoyées à GoogleAdsFieldService sont destinées à récupérer les métadonnées des champs.
Ces informations peuvent être utilisées pour comprendre comment les champs peuvent être utilisés ensemble dans une requête. Comme les données sont disponibles à partir de l'API et qu'elle fournit les métadonnées nécessaires pour valider ou créer une requête, les développeurs peuvent le faire de manière programmatique. Voici une requête type pour les métadonnées :
SELECT
name,
category,
selectable,
filterable,
sortable,
selectable_with,
data_type,
is_repeated
WHERE name = "<INSERT_RESOURCE_OR_FIELD>"
Vous pouvez remplacer <INSERT_RESOURCE_OR_FIELD> dans cette requête par une ressource (telle que customer ou campaign) ou un champ (tel que campaign.id, metrics.impressions ou ad_group.id).
Pour obtenir la liste des champs interrogeables, consultez la documentation sur GoogleAdsField.
Différences selon les versions
Bien que la syntaxe, les clauses et les opérateurs du langage de requête Google Ads soient identiques dans toutes les versions de l'API Google Ads compatibles (v23, v24, v25 et v26), le catalogue des ressources, segments, métriques et comportements de reporting interrogeables diffère selon la version majeure. Interrogez GoogleAdsFieldService au niveau du point de terminaison de la version de l'API cible pour inspecter les champs et les règles de compatibilité de cette version :
- Vue des composants d'extension de l'URL finale :
- Compatibilité avec les campagnes Shopping (v26 et versions ultérieures) :
final_url_expansion_asset_viewest compatible avec les campagnes Shopping (campaign.advertising_channel_type = 'SHOPPING') en plus des campagnes Performance Max et sur le Réseau de Recherche. Pour les campagnes Shopping, vous pouvez sélectionner et filtrer les champsad_group, mais vous ne pouvez pas sélectionner les champsasset_group. - Métriques sélectionnables (v25 et versions ultérieures) : l'interrogation de
final_url_expansion_asset_viewrenvoie toutes les métriques sélectionnables pour la vue. Dans la version 24 et les versions antérieures, les réponses n'incluent quemetrics.conversionsetmetrics.conversions_valuepour les campagnes Performance Max, etmetrics.impressionspour les campagnes sur le Réseau de Recherche.
- Compatibilité avec les campagnes Shopping (v26 et versions ultérieures) :
- Ressources d'objectifs de cycle de vie : dans la version 25 et les versions ultérieures, tous les objectifs de cycle de vie (acquisition de nouveaux clients, rétention client et fidélisation) sont interrogés à partir des ressources unifiées
goaletcampaign_goal_config, qui remplacentcustomer_lifecycle_goaletcampaign_lifecycle_goal(qui étaient utilisées pour les objectifs d'acquisition de nouveaux clients dans la version 24 et les versions antérieures, ainsi quegoaletcampaign_goal_configpour les objectifs de rétention client). - Rapports sur les produits Shopping pour les campagnes pour applications : dans la version 24 et les versions ultérieures, la ressource
shopping_productrenvoie des lignes de produits pour les campagnes pour applications en plus des campagnes Shopping, Performance Max, Demand Gen et vidéo (dans la version 23, les campagnes pour applications sont exclues des résultats deshopping_product). - Ressources, segments et métriques spécifiques à une version :
- v26 et versions ultérieures : inclut la ressource
search_lift_keyword_bundle,campaign.lift_measurement_config,local_services_lead.campaign,segments.search_lift_keyword_bundle,segments.search_propertyet les métriques de search lift (telles quemetrics.relative_search_lift,metrics.normalized_incremental_searches,metrics.search_lift_cost_microsetmetrics.search_lift_impressions). - v25 et versions ultérieures : inclut les ressources de mesure du lift (comme
lift_measurement_config), les segments tels quesegments.ad_sub_format_typeetsegments.loyalty_membership, et les métriques d'engagement YouTube (metrics.youtube_likes,metrics.youtube_commentsetmetrics.youtube_shares). Supprimelocal_services_lead.contact_details.email(qui peut être sélectionné dans la v24 et les versions antérieures). - v24 et versions ultérieures : inclut la ressource
cart_data_sales_view,segments.conversion_attribution_event_typesurshopping_performance_view,segments.mobile_device_platformetsegments.ad_network_typesurperformance_max_placement_view. Suppression decampaign.video_brand_safety_suitability(remplacé parcustomer.video_brand_safety_suitability), desegments.ad_sub_network_typesurcampaign_budget, et desegments.click_typesurad_group_asset,campaign_assetetcustomer_asset(qui ne sont sélectionnables que dans la v23).
- v26 et versions ultérieures : inclut la ressource
- Code d'erreur de période d'analyse précise : les requêtes qui segmentent par
segments.date,segments.weekousegments.hour(ou qui filtrent sur une période inférieure à un mois) au-delà de la période d'analyse de 37 mois renvoientDateRangeError.REQUESTED_DATE_GRANULARITY_NOT_SUPPORTEDdans la version 24 et les versions ultérieures (ouDateRangeError.UNKNOWNdans la version 23). Pour en savoir plus, consultez Plages de dates.
Exemples de code
Les bibliothèques clientes contiennent des exemples d'utilisation du langage de requête Google Ads dans GoogleAdsService. Le dossier basic operations contient des exemples tels que GetCampaigns, GetKeywords et SearchForGoogleAdsFields.