Composed

Supprimer un compte Google Analytics vide sans propriété via l'api

Un compte Google Analytics vide est impossible à supprimer depuis l’interface ? Voici comment le supprimer avec l’Admin API et OAuth 2.0 Playground.

Publié le 5 min de lecture

Image par Raphael Silva de Pixabay

Il peut arriver qu’un ancien compte Google Analytics ne contienne plus aucune propriété tout en restant visible dans le sélecteur de comptes.

Le problème est que, sans propriété associée, l’interface de Google Analytics peut devenir difficile à utiliser pour accéder aux paramètres du compte et le supprimer proprement.

Dans ce cas, il est possible de passer directement par l’Analytics Admin API, en utilisant l’OAuth 2.0 Playground de Google.

La méthode ci-dessous permet de vérifier précisément le compte ciblé, puis de le supprimer via l’API officielle.

Pourquoi passer par l’API Google Analytics ?

La procédure normale pour supprimer un compte Analytics consiste à ouvrir son administration, accéder aux détails du compte, puis choisir Déplacer vers la corbeille.

Lorsqu’un compte ne contient plus aucune propriété, il peut cependant rester visible dans le sélecteur tout en devenant difficile, voire impossible, à ouvrir correctement dans l’interface d’administration.

L’Analytics Admin API permet alors d’agir directement sur le compte avec notamment les méthodes :

  • accounts.get
  • accounts.delete

Cette méthode utilise uniquement des outils officiels Google.

Ce qu’il faut avant de commencer

La manipulation nécessite :

  • le compte Google disposant des droits suffisants sur le compte Analytics ;
  • l’identifiant numérique du compte Analytics ;
  • un navigateur ;
  • curl dans un terminal.

Et c’est tout.

1. Récupérer l’identifiant du compte Analytics

L’identifiant du compte est visible dans le sélecteur de comptes de Google Analytics.

Il s’agit d’un nombre de ce type :

123456789

Dans l’API, le compte est représenté sous la forme :

accounts/123456789

Conservez cet identifiant pour la suite.

2. Générer un token avec OAuth 2.0 Playground

Ouvrez l’outil officiel Google :

https://developers.google.com/oauthplayground/

Dans la première étape, utilisez le scope suivant :

https://www.googleapis.com/auth/analytics.edit

Puis :

  1. cliquez sur Authorize APIs ;
  2. connectez-vous avec le compte Google qui administre le compte Analytics concerné ;
  3. cliquez sur Exchange authorization code for tokens ;
  4. copiez l’Access token.

L’Access token est temporaire et permet d’effectuer les appels API avec les autorisations accordées.

Ne le partagez pas et ne le publiez pas.

3. Préparer les variables dans le terminal

Dans le terminal :

TOKEN='COLLE_ICI_LE_TOKEN'
ACCOUNT_ID='123456789'

Cela évite de recopier le token et l’identifiant à chaque commande.

4. Vérifier le compte avant toute suppression

Avant d’effectuer une opération destructive, il est important de vérifier que l’identifiant correspond bien au compte que l’on souhaite supprimer.

Exécutez :

curl \
  -H "Authorization: Bearer $TOKEN" \
  "https://analyticsadmin.googleapis.com/v1beta/accounts/$ACCOUNT_ID"

Une réponse typique ressemble à ceci :

{
  "name": "accounts/123456789",
  "createTime": "2024-05-15T07:31:51.238Z",
  "updateTime": "2024-05-15T07:31:51.238Z",
  "displayName": "Nom du compte",
  "regionCode": "FR"
}

Vérifiez notamment le champ :

"displayName": "Nom du compte"

avant d’aller plus loin.

Cette étape permet d’éviter de supprimer accidentellement le mauvais compte Analytics.

5. Supprimer le compte Analytics

Une fois le compte vérifié, lancez :

curl -X DELETE \
  -H "Authorization: Bearer $TOKEN" \
  "https://analyticsadmin.googleapis.com/v1beta/accounts/$ACCOUNT_ID"

Si la suppression réussit, l’API renvoie :

{}

Cette réponse vide indique que la requête DELETE a bien été exécutée.

Le compte est alors placé dans la corbeille de Google Analytics.

6. Vérifier la suppression

Il est possible de relancer ensuite le GET utilisé précédemment :

curl \
  -H "Authorization: Bearer $TOKEN" \
  "https://analyticsadmin.googleapis.com/v1beta/accounts/$ACCOUNT_ID"

Après une suppression réussie, l’API peut alors répondre :

{
  "error": {
    "code": 403,
    "message": "The caller does not have permission",
    "status": "PERMISSION_DENIED"
  }
}

Dans ce contexte précis, ce 403 intervient après un DELETE ayant renvoyé {}.

La séquence observée est donc :

GET avant suppression
→ retourne les informations du compte

DELETE
→ retourne {}

GET après suppression
→ retourne 403 PERMISSION_DENIED

Afin de vérifier que la suppression a bien été effectuée, allez dans l’interface Google Analytics, raffraîchissez la page, le compte doit apparaître barré dans le sélecteur une fois placé dans la corbeille.

Vérifiez également la boite mail associée au compte Google, un mail de confirmation de suppression est normalement envoyé par Google.

Que signifie une erreur 403 ?

Un 403 PERMISSION_DENIED peut avoir des significations différentes selon le moment où il apparaît.

403 lors du DELETE

Si la commande :

curl -X DELETE \
  -H "Authorization: Bearer $TOKEN" \
  "https://analyticsadmin.googleapis.com/v1beta/accounts/$ACCOUNT_ID"

retourne directement :

{
  "error": {
    "code": 403,
    "message": "The caller does not have permission",
    "status": "PERMISSION_DENIED"
  }
}

le compte Google utilisé ne dispose probablement pas des droits suffisants pour supprimer le compte Analytics.

Il faut alors vérifier les autorisations accordées au niveau du compte Analytics.

403 lors du GET après suppression

Si :

  1. le premier GET retourne correctement les informations du compte ;
  2. le DELETE retourne {} ;
  3. le GET suivant retourne 403 PERMISSION_DENIED ;

la suppression a bien été exécutée et le compte n’est plus accessible de la même manière via l’API.

C’est le comportement observé lors du test de cette procédure.

Le token OAuth expire

Le token fourni par OAuth 2.0 Playground est temporaire.

Si les commandes commencent à retourner une erreur d’authentification, il suffit de revenir dans OAuth 2.0 Playground et de générer un nouvel Access token.

Il n’est pas nécessaire de conserver ce token après la manipulation.

Peut-on restaurer le compte ?

Google Analytics conserve les comptes supprimés dans la corbeille pendant une période avant leur suppression définitive (35 jours selon le mail de confirmation).

Tant que cette période n’est pas terminée, il est normalement possible de restaurer le compte depuis l’interface Analytics.

Il est donc préférable de ne pas attendre si un compte a été supprimé par erreur.

Quand utiliser cette méthode ?

Cette manipulation n’a pas vocation à remplacer l’interface Google Analytics.

Lorsque le compte est normalement accessible, le plus simple reste d’utiliser l’interface :

Administration → Détails du compte → Déplacer vers la corbeille

L’API devient surtout utile lorsqu’un ancien compte :

  • ne contient plus aucune propriété ;
  • reste visible dans le sélecteur ;
  • ne permet plus d’accéder correctement aux paramètres du compte ;
  • ne peut donc plus être supprimé normalement depuis l’interface.

Dans ce cas, l’Analytics Admin API permet de contourner cette limite de l’interface sans autre outils nécessaire.

Commandes récapitulatives

Définir le token et l’identifiant du compte :

TOKEN='COLLE_ICI_LE_TOKEN'
ACCOUNT_ID='123456789'

Vérifier le compte :

curl \
  -H "Authorization: Bearer $TOKEN" \
  "https://analyticsadmin.googleapis.com/v1beta/accounts/$ACCOUNT_ID"

Supprimer le compte :

curl -X DELETE \
  -H "Authorization: Bearer $TOKEN" \
  "https://analyticsadmin.googleapis.com/v1beta/accounts/$ACCOUNT_ID"

Vérifier après suppression :

curl \
  -H "Authorization: Bearer $TOKEN" \
  "https://analyticsadmin.googleapis.com/v1beta/accounts/$ACCOUNT_ID"

Vous utilisez une autre méthode pour supprimer un compte Google Analytics vide ?

N’hésitez pas à partager votre expérience via les coordonnées de contact ci-dessous.

Liens utiles

Retrouvez Composed dans Google

Ajoutez Composed à vos sources préférées pour retrouver plus facilement nos prochaines actualités.

Ajouter à mes sources Google