Vidéo: regardez la discussion sur les services et les ressources de l'atelier 2019
Ce guide présente les principaux composants de l'API Google Ads. L'API Google Ads se compose de ressources et de services. Une ressource représente une entité Google Ads, tandis que les services récupèrent et manipulent des entités Google Ads.
Hiérarchie des objets
Un compte Google Ads peut être considéré comme une hiérarchie d'objets.
La ressource de premier niveau d'un compte est le client.
Chaque client contient une ou plusieurs campagnes actives.
Chaque campagne contient un ou plusieurs groupes d'annonces permettant de regrouper vos annonces en collections logiques.
Une annonce de groupe d'annonces représente une annonce que vous diffusez. Chaque groupe d'annonces contient une ou plusieurs annonces, sauf dans les campagnes pour applications, qui ne peuvent comporter qu'une seule annonce.
Vous pouvez associer un ou plusieurs éléments AdGroupCriterion
ou CampaignCriterion
à un groupe d'annonces ou à une campagne. Il s'agit de critères qui définissent la façon dont les annonces sont déclenchées.
Il existe de nombreux types de critères, tels que des mots clés, des tranches d'âge et des zones géographiques. Les critères définis au niveau de la campagne affectent toutes les autres ressources de la campagne. Vous pouvez également définir des dates et des budgets pour l'ensemble de la campagne.
Enfin, vous pouvez associer des extensions au niveau du compte, de la campagne ou du groupe d'annonces. Les extensions vous permettent d'ajouter des informations supplémentaires à vos annonces, comme un numéro de téléphone, une adresse postale ou des promotions.
Ressources
Les ressources représentent les entités au sein de votre compte Google Ads. Campaign
et AdGroup
sont deux exemples de ressources.
ID des objets
Dans Google Ads, chaque objet est identifié par son propre ID. Certains de ces identifiants sont uniques au niveau mondial pour tous les comptes Google Ads, tandis que d'autres ne le sont que dans un cadre limité.
ID d'objet | Portée de l'unicité | Unique au niveau mondial ? |
---|---|---|
ID du budget | International | Oui |
ID de campagne | International | Oui |
ID du groupe d'annonces | International | Oui |
Identifiant d'annonce | Groupe d'annonces | Non, mais la paire (AdGroupId , AdId ) est unique |
ID du critère de groupe d'annonces | Groupe d'annonces | Non, mais la paire (AdGroupId , CriterionId ) est unique |
ID du critère de campagne | Priorité de la | Non, mais la paire (CampaignId , CriterionId ) est unique |
Extensions d'annonce | Priorité de la | Non, mais la paire (CampaignId , AdExtensionId ) est unique |
ID du flux | Global | Oui |
ID de l'élément de flux | International | Oui |
ID de l'attribut du flux | Flux | Non |
ID de correspondance de flux | International | Oui |
ID du libellé | International | Oui |
ID de liste d'utilisateurs | International | Oui |
Ces règles relatives aux identifiants peuvent être utiles lorsque vous concevez un espace de stockage local pour vos objets Google Ads.
Certains objets peuvent être utilisés pour plusieurs types d'entités. Dans ce cas, l'objet contient un champ type
qui décrit son contenu. Par exemple, AdGroupAd
peut faire référence à un objet tel qu'une annonce textuelle, une annonce d'hôtel ou une annonce locale. Cette valeur est accessible via le champ AdGroupAd.ad.type
et renvoie une valeur dans l'énumération AdType
.
Noms de ressources
Chaque ressource est identifiée de manière unique par une chaîne resource_name
, qui concatène la ressource et ses parents dans un chemin d'accès. Par exemple, les noms de ressources d'une campagne se présentent comme suit:
customers/customer_id/campaigns/campaign_id
Ainsi, pour une campagne associée à l'ID 987654
dans le compte Google Ads associé au numéro client 1234567
, le resource_name
serait:
customers/1234567/campaigns/987654
Services
Les services vous permettent de récupérer et de modifier vos entités Google Ads. Il existe trois types de services: la modification, la récupération d'objets et de statistiques, et les services de récupération de métadonnées.
Modifier (mutate) des objets
Ces services modifient les instances d'un type de ressource associé à l'aide d'une requête mutate
. Ils fournissent également une requête get
qui récupère une instance de ressource unique, ce qui peut être utile pour examiner la structure d'une ressource.
Exemples de services:
CustomerService
pour modifier les clientsCampaignService
pour modifier des campagnesAdGroupService
pour modifier des groupes d'annonces
Chaque requête mutate
doit inclure les objets operation
correspondants. Par exemple, la méthode CampaignService.MutateCampaigns
attend une ou plusieurs instances de CampaignOperation
. Pour une description détaillée des opérations, consultez la page Modifier et inspecter des objets.
Modifications simultanées
Un objet Google Ads ne peut pas être modifié simultanément par plusieurs sources. Des erreurs peuvent se produire si plusieurs utilisateurs mettent à jour le même objet avec votre application ou si vous mutez des objets Google Ads en parallèle à l'aide de plusieurs threads. Cela inclut la mise à jour de l'objet à partir de plusieurs threads de la même application ou de différentes applications (votre application et une session simultanée de l'UI Google Ads, par exemple).
L'API ne fournit aucun moyen de verrouiller un objet avant sa mise à jour. Si deux sources tentent de modifier un objet simultanément, l'API génère une erreur DatabaseError.CONCURRENT_MODIFICATION_ERROR
.
Méthodes mutate asynchrones et synchrones
Les méthodes mutate de l'API Google Ads sont synchrones. Les appels d'API ne renvoient une réponse qu'après la modification des objets, ce qui vous oblige à attendre une réponse à chaque requête. Bien que cette approche soit relativement simple à coder, elle peut avoir un impact négatif sur l'équilibrage de charge et gaspiller des ressources si les processus doivent attendre la fin des appels.
Une autre approche consiste à muter les objets de manière asynchrone à l'aide de BatchJobService
, qui effectue des lots d'opérations sur plusieurs services sans attendre leur achèvement. Une fois une tâche par lot envoyée, les serveurs de l'API Google Ads exécutent des opérations de manière asynchrone, libérant ainsi des processus pour qu'ils puissent effectuer d'autres opérations. Vous pouvez vérifier régulièrement l'état d'avancement du job.
Pour en savoir plus sur le traitement asynchrone, consultez le guide sur le traitement par lot.
Validation de la mutation
La plupart des requêtes mutate peuvent être validées sans exécuter réellement l'appel sur des données réelles. Vous pouvez tester la requête pour identifier les paramètres manquants et les valeurs de champ incorrectes sans exécuter l'opération.
Pour utiliser cette fonctionnalité, définissez le champ booléen validate_only
facultatif de la requête sur true
. La requête est ensuite entièrement validée comme si elle allait être exécutée, mais l'exécution finale est ignorée. Si aucune erreur n'est détectée, une réponse vide est renvoyée. Si la validation échoue, les messages d'erreur dans la réponse indiquent les points d'échec.
validate_only
est particulièrement utile pour tester les annonces pour détecter les cas courants de non-respect des règles. Les annonces sont automatiquement refusées si elles ne respectent pas nos règles (mots, signes de ponctuation, majuscules ou longueurs spécifiques, par exemple). Une seule annonce indésirable peut entraîner l'échec d'un lot entier. Tester une nouvelle annonce dans une demande validate_only
permet de détecter de tels cas de non-respect. Consultez l'exemple de code pour savoir comment gérer les erreurs de non-respect des règles pour voir comment cela fonctionne.
Obtenir des objets et des statistiques de performances
GoogleAdsService
est le service unifié unique permettant de récupérer des objets et des statistiques de performances.
Toutes les requêtes Search
et SearchStream
pour GoogleAdsService
nécessitent une requête qui spécifie la ressource à interroger, les attributs de ressource et les métriques de performances à récupérer, les prédicats à utiliser pour filtrer la requête et les segments à utiliser pour ventiler davantage les statistiques de performances. Pour en savoir plus sur le format des requêtes, consultez le guide sur le langage de requête Google Ads.
Récupérer les métadonnées
GoogleAdsFieldService
récupère les métadonnées sur les ressources de l'API Google Ads, telles que les attributs disponibles pour une ressource et son type de données.
Ce service fournit les informations nécessaires à la création d'une requête à GoogleAdsService
. Pour plus de commodité, les informations renvoyées par GoogleAdsFieldService
sont également disponibles dans la documentation de référence sur les champs.