Sources de données

Connecter Google avec un compte de service

Configurez un compte de service Google Cloud pour connecter Google Analytics, Search Console, Tag Manager et Google Ads avec un accès délimité et votre propre quota API.

Un compte de service est un compte Google destiné à un logiciel plutôt qu’à une personne. Il possède sa propre adresse e-mail se terminant par iam.gserviceaccount.com, et vous lui accordez l’accès à vos propriétés Google comme vous le feriez pour un collègue : en ajoutant cette adresse comme utilisateur avec le rôle de votre choix.

C’est la seule façon de connecter Google Ads, et la méthode recommandée pour connecter les autres services Google pour les agences et les utilisateurs techniques. Par rapport à « Se connecter avec Google » (OAuth), un compte de service :

  • Délimite l’accès avec précision. La connexion ne peut voir que les propriétés GA4, sites Search Console, conteneurs Tag Manager et comptes Google Ads que vous partagez avec elle - rien d’autre provenant du compte personnel de quelqu’un.
  • N’est pas lié à une personne. Les connexions OAuth se cassent quand la personne qui s’est connectée quitte l’équipe, change son mot de passe ou révoque l’accès à l’application. Un compte de service continue de fonctionner.
  • Utilise votre propre quota API. Les requêtes OAuth passent par l’application partagée AI Data Stream, donc un usage intensif partage un même pool. Les requêtes du compte de service sont attribuées à votre projet Google Cloud, avec vos propres limites.
  • Réutilise une seule configuration partout. Créez le compte de service une fois, puis utilisez la même clé JSON pour GA4, Search Console, Tag Manager et Google Ads sur toutes vos propriétés. Les agences peuvent en créer un par client pour une séparation stricte.

La contrepartie : environ 15 minutes de configuration unique dans Google Cloud Console. Ce guide détaille chaque étape.

Google Ads : compte de service uniquement. Google associe de façon permanente un projet Google Cloud au premier token développeur Google Ads utilisé avec lui, et un token ne peut donc servir que depuis un projet auquel il est associé - le vôtre. Cela exclut une connexion via un identifiant partagé, avec un vrai avantage : votre token reste rattaché à votre propre projet plutôt que capté par le nôtre. L’API Google Ads exige toujours un token développeur à chaque appel, quelle que soit la méthode d’authentification.

Comment ça fonctionne

Toute la configuration tient en trois idées :

  1. Créez un compte de service dans un projet Google Cloud que vous possédez. Google vous fournit un fichier de clé JSON - les identifiants du compte de service.
  2. Partagez vos propriétés avec l’adresse e-mail du compte de service (indiquée dans le JSON sous client_email), via la gestion des utilisateurs habituelle de chaque plateforme.
  3. Collez le JSON dans AI Data Stream lors de l’ajout d’une connexion. Nous récupérons les propriétés visibles par le compte de service, vous en choisissez une, c’est terminé.

Le compte de service ne peut lire que ce que vous avez explicitement partagé, et tous les identifiants sont stockés chiffrés.

Étape 1 : Créer un projet Google Cloud

Si vous avez déjà un projet Google Cloud, vous pouvez le réutiliser et passer à la suite.

  1. Allez sur console.cloud.google.com
  2. Connectez-vous avec n’importe quel compte Google (ce compte ne fait que posséder le projet ; il n’a pas besoin d’accéder à vos données analytics)
  3. Cliquez sur le sélecteur de projet dans la barre supérieure, puis sur Nouveau projet
  4. Donnez-lui un nom reconnaissable, comme aidata-connections, et cliquez sur Créer
  5. Vérifiez que le nouveau projet est sélectionné dans la barre supérieure avant de continuer

Toutes les API utilisées ici sont gratuites - aucune de ces connexions n’entraîne de frais par appel. Selon votre compte, Google peut néanmoins vous demander de rattacher un compte de facturation à la création du projet (c’est fréquent pour les comptes d’organisation et Workspace). En rattacher un ne signifie pas que ces API vous seront facturées.

Formulaire Nouveau projet de Google Cloud Console avec un nom de projet saisi et l’identifiant de projet généré en dessous

Le nom n’est qu’une étiquette - choisissez celui que vous reconnaîtrez plus tard. Si votre compte appartient à une organisation Google Cloud, un parent vous sera également demandé ; avec un compte personnel, ces champs restent vides.

Étape 2 : Activer les API

Les API doivent être activées dans le même projet que le compte de service. N’activez que celles correspondant aux connexions que vous comptez utiliser :

Connexion API à activer
Google Analytics 4 Google Analytics Data API et Google Analytics Admin API
Google Search Console Google Search Console API
Google Tag Manager Tag Manager API
Google Ads Google Ads API

Pour chacune :

  1. Ouvrez le lien ci-dessus (ou allez dans API et services → Bibliothèque et cherchez le nom)
  2. Vérifiez que le bon projet est sélectionné dans la barre supérieure
  3. Cliquez sur Activer

GA4 a besoin des deux API : la Data API répond aux requêtes de reporting, et l’Admin API liste vos propriétés et gère les annotations.

Résultats de recherche « google ads api » dans la bibliothèque d’API Google Cloud, avec le résultat Google Ads API

Ouvrez l’API voulue depuis les résultats, puis cliquez sur Activer :

La page produit Google Ads API dans Google Cloud avec le bouton Activer

Étape 3 : Créer le compte de service

  1. Dans la Cloud Console, allez dans API et services → Identifiants et cliquez sur Créer des identifiants → Compte de service (IAM et administration → Comptes de service → Créer un compte de service mène au même formulaire)
  2. Remplissez le formulaire qui s’ouvre
  3. Donnez-lui un nom comme aidata-stream - l’adresse e-mail générée sous le champ du nom est celle avec laquelle vous partagerez vos propriétés
  4. Cliquez sur Créer et continuer
  5. Ignorez les deux étapes facultatives (« Autoriser ce compte de service à accéder au projet » et « Autoriser les utilisateurs à accéder à ce compte de service ») - le compte de service n’a besoin d’aucun rôle dans votre projet Cloud. Son accès provient entièrement du partage que vous ferez à l’étape 5.
  6. Cliquez sur OK

Le menu Créer des identifiants ouvert dans Google Cloud, avec l’option Compte de service sous Clé API et ID client OAuth

Étape 4 : Créer une clé JSON

  1. Sur la page Comptes de service, cliquez sur le compte que vous venez de créer
  2. Ouvrez l’onglet Clés
  3. Cliquez sur Ajouter une clé → Créer une clé
  4. Choisissez JSON et cliquez sur Créer

Un fichier .json est téléchargé sur votre ordinateur. Ce fichier est le mot de passe du compte de service - quiconque le détient peut lire toutes les données que vous partagez avec le compte de service. Conservez-le donc comme n’importe quel identifiant et ne le versionnez pas dans un dépôt de code.

Ouvrez le fichier dans un éditeur de texte et repérez le champ client_email :

{
  "type": "service_account",
  "project_id": "aidata-connections",
  "client_email": "[email protected]",
  ...
}

C’est cette adresse e-mail que vous ajouterez à chaque plateforme à l’étape suivante.

Erreur « La création de clé est désactivée » ? Les organisations Google Cloud récentes bloquent les clés de compte de service par défaut (la règle iam.disableServiceAccountKeyCreation). L’administrateur de votre organisation peut autoriser la création de clés pour ce projet. Les comptes Google personnels ne sont pas concernés.

L’onglet Clés du compte de service avec le menu Ajouter une clé ouvert sur Créer une clé

Étape 5 : Accorder l’accès sur chaque plateforme

Ajoutez l’adresse client_email comme utilisateur partout où la connexion doit accéder. AI Data Stream est en lecture seule, donc le rôle de lecture le plus bas suffit partout.

Google Analytics 4

  1. Dans Google Analytics, ouvrez la propriété et allez dans Administration
  2. Dans la colonne Propriété, cliquez sur Gestion de l’accès à la propriété
  3. Cliquez sur +Ajouter des utilisateurs
  4. Saisissez l’adresse e-mail du compte de service
  5. Décochez Informer les nouveaux utilisateurs par e-mail (un compte de service ne peut pas recevoir de courrier)
  6. Choisissez le rôle Lecteur et cliquez sur Ajouter

Le rôle Lecteur couvre tout ce dont l’IA a besoin pour l’analyse. Choisissez Éditeur uniquement si vous voulez que les annotations d’AI Data Stream soient synchronisées dans GA4 comme annotations natives - leur création exige des droits d’édition.

Google Search Console

Vous devez être Propriétaire de la propriété Search Console pour ajouter des utilisateurs.

  1. Dans Search Console, sélectionnez la propriété
  2. Allez dans Paramètres → Utilisateurs et autorisations
  3. Cliquez sur Ajouter un utilisateur
  4. Saisissez l’adresse e-mail du compte de service
  5. Choisissez l’autorisation Totale et cliquez sur Ajouter

L’autorisation Totale reste en lecture seule pour notre usage et garde toutes les fonctionnalités opérationnelles, y compris l’inspection d’URL. Restreinte fonctionne aussi si vous n’avez besoin que des données de performance de recherche.

Google Tag Manager

  1. Dans Tag Manager, allez dans Admin
  2. Dans la colonne Compte, cliquez sur Gestion des utilisateurs
  3. Cliquez sur +Ajouter des utilisateurs
  4. Saisissez l’adresse e-mail du compte de service
  5. Définissez l’autorisation du compte sur Utilisateur
  6. Sous les autorisations de conteneur, donnez l’accès Lire aux conteneurs à connecter
  7. Cliquez sur Inviter - les comptes de service sont ajoutés sans avoir à accepter l’invitation

Google Ads accepte les comptes de service comme utilisateurs directs - aucune invitation par e-mail à accepter.

  1. Dans Google Ads, ouvrez le compte publicitaire et allez dans Administrateur → Accès et sécurité
  2. Dans l’onglet Utilisateurs, cliquez sur +
  3. Saisissez l’adresse e-mail du compte de service
  4. Sélectionnez le niveau d’accès Lecture seule - il couvre tout le reporting
  5. Cliquez sur Ajouter un compte

Formulaire d’invitation Google Ads avec une adresse de compte de service saisie et les niveaux d’accès mis en évidence

Image issue de la documentation de l’API Google Ads, utilisée sous licence CC BY 4.0.

Ajoutez le compte de service au compte publicitaire lui-même, et pas uniquement au compte administrateur au-dessus - les comptes administrateur ne peuvent pas faire l’objet de rapports. Une fois l’accès accordé, nous listons les comptes accessibles et vous choisissez dans une liste déroulante : inutile de chercher le numéro client vous-même.

Rappel : vous avez toujours besoin d’un token développeur avec accès Basic au moment de créer la connexion.

Étape 6 : Connecter dans AI Data Stream

  1. Allez dans votre propriété et cliquez sur Ajouter une connexion
  2. Sélectionnez le type de connexion (Google Analytics 4, Search Console, Tag Manager ou Google Ads)
  3. Choisissez Compte de service comme méthode d’authentification - Google Ads passe cette étape, faute d’autre méthode
  4. Ouvrez le fichier .json téléchargé dans un éditeur de texte, copiez l’intégralité du contenu (y compris les accolades { } extérieures) et collez-le dans le champ des identifiants
  5. Pour Google Ads uniquement : saisissez aussi votre token développeur. Lister les comptes est lui-même un appel API, rien n’apparaît donc tant que le token n’est pas renseigné
  6. Nous listons toutes les propriétés visibles par le compte de service - sélectionnez-en une et cliquez sur Ajouter la connexion

Répétez l’opération pour chaque type de connexion. Le même JSON fonctionne pour tous, tant que l’API correspondante est activée et que l’accès a été accordé.

Révoquer l’accès

Vous gardez le contrôle des deux côtés, et pouvez révoquer à tout moment :

  • Retirer une plateforme : supprimez l’entrée utilisateur du compte de service dans GA4 / Search Console / Tag Manager / Google Ads. La connexion perd immédiatement l’accès à cette plateforme.
  • Neutraliser la clé : dans la Cloud Console, ouvrez l’onglet Clés du compte de service et supprimez la clé. Toutes les connexions utilisant ce JSON cessent de fonctionner.
  • Supprimer la connexion : supprimer la connexion dans AI Data Stream efface les identifiants stockés de notre côté.

Dépannage

« Aucune propriété trouvée » lors de la connexion

  • Le compte de service n’a pas encore reçu l’accès, ou l’accès a été accordé au mauvais compte - vérifiez que vous avez bien ajouté l’adresse client_email exacte du JSON
  • L’accès peut prendre quelques minutes à se propager après l’ajout de l’utilisateur - patientez et réessayez
  • Pour GA4, vérifiez que la Google Analytics Admin API est activée (c’est elle qui liste les propriétés)
  • Pour Google Ads, vérifiez que le token développeur est renseigné - sans lui nous ne pouvons rien lister. Les comptes administrateur eux-mêmes n’apparaissent jamais dans la liste : ils ne peuvent pas faire l’objet de rapports, seuls les comptes publicitaires qui en dépendent le peuvent

« Format JSON invalide »

  • Collez le contenu complet du fichier, de l’accolade ouvrante { à l’accolade fermante } - un collage partiel ou la clé privée seule ne sera pas validé

Erreur mentionnant « API has not been used in project … or it is disabled »

  • L’API de cette connexion n’est pas activée dans le projet du compte de service - voir l’étape 2. Le message d’erreur contient un lien direct vers la bonne page.

« Permission denied » sur une requête spécifique

  • Le rôle du compte de service a été réduit ou supprimé côté plateforme - vérifiez à nouveau son entrée utilisateur

Erreurs Google Ads concernant le token développeur

  • Les comptes de service ne changent rien aux exigences du token : un token en accès test ne peut pas lire les données de campagnes réelles. Consultez le guide du token développeur pour obtenir l’accès Basic.

Google Ads DEVELOPER_TOKEN_PROHIBITED

  • Votre token développeur et le projet Cloud hébergeant le compte de service ne sont pas associés. Un token est lié définitivement au premier projet Cloud depuis lequel il est utilisé : servez-vous du compte de service dans ce même projet - ou, si le token n’a jamais servi, ce premier appel est justement ce qui les associe.

Prochaines étapes