Au coeur de nombreuses réflexions et débats, Google Analytics 4 reste une solution privilégiée par de nombreux marketeurs. Son interface permet de répondre à quelques cas d’analyse rapides, mais son usage devient vite limitant.
Que l’on souhaite créer un dashboard impactant, présentant la donnée GA4 aux cotés d’autres sources donnant une vision globale de notre business. Ou que l’on ait besoin de transformer et consolider nos données pour améliorer nos actions marketing, il devient important de sortir de Google Analytics.
Des connecteurs natifs existent entre les différents outils mais présentent des limites d’utilisation (ex: Looker Studio) ou un manque cruel de flexibilité dans la manipulation des données.
Il est donc possible d’utiliser une solution d’ETL (Airbyte dans ce tuto mais Fivetran fonctionne très bien) afin d’extraire la donnée GA4 et de l’envoyer vers un Datawarehouse tel que Google BigQuery.
Alors comment envoyer ses données GA4 vers BigQuery grâce à Airbyte ? On vous montre, ici avec la version cloud d’Airbyte
1. Récupérer les données Google Analytics 4
Commencez par vous créer un compte sur Airbyte.
La première étape sera de créer la connexion entre Airbyte et votre propriété Google Analytics pour laquelle vous souhaitez récupérer les données.
Assurez vous d’être administrateur sur votre propriété Google Analytics 4.
1.1 Connecter votre propriété GA4 à Airbyte
Créer une nouvelle source Google Analytics 4
Rendez vous dans l’onglet “Sources” de l’interface Airbyte Cloud puis cliquez en haut à droite sur “New Source”.
Recherchez et sélectionnez “Google Analytics 4”
Choisir sa méthode de connexion à GA4
OPTION 1: Connexion via Google (Oauth)
C’est la solution la plus simple et la plus rapide. Elle vous permet de donner à Airbyte les accès à votre propriété GA4 en passant par votre compte Google, administrateur de la propriété. De la même manière que l’on se connecte déjà à de nombreux outils via son compte Google. Cette connexion est robuste mais vous pourrez être invité à vous reconnecter en cas de changement de mot de passe du compte Google par exemple.
OPTION 2: Utiliser un Service Account
Cette solution est plus complexe mais présente certainement d’autres avantages en termes de gouvernance et de robustesse de la connexion.
Vous devez créer un nouveau projet dans la Google Developer Console :
- Connectez vous avec le compte Google qui est administrateur du compte Google Analytics en question
- Rendez vous dans la section IAM et Admin, sur la page Service Account
- Cliquez sur Create Service Account
- Créer une clé JSON. Conserver ce fichier, vous devrez coller son contenu dans Airbyte.
- Ajoutez un utilisateur (Viewer) à votre propriété Google Analytics en utilisant l’adresse email du Service Account.
- Autorisez les APIs “Google Analytics API Dashboard” et “Google Analytics Reporting API”.
- Retournez sur Airbyte et sélectionnez la seconde méthode de connexion “Service Account Key Authentication”
- Copiez le contenu du fichier JSON généré précédemment et collez le dans l’espace prévu dans Airbyte.
1.2 Définir les données à récupérer
Renseigner le Property ID
Une fois la connexion entre GA4 et Airbyte établie (avec la méthode de votre choix) il vous faudra renseigner l’ID de la propriété GA4 pour laquelle vous allez récupérer vos datas.
Vous le trouverez dans l’interface GA, menu de gauche Admin > Property Settings.
Le property ID se trouve également dans votre URL GA4.
ex : https://analytics.google.com/analytics/web/#/p0101010101
Définir le custom report
Commencez par définir la date à partir de laquelle vous souhaitez extraire la donnée.
Vous devez ensuite définir les dimensions et métriques que vous souhaitez récupérer. Cela est propre à l’analyse ou usage que vous souhaitez faire de vos données par la suite.
Attention, toutes les combinaisons ne sont pas possibles. Afin de savoir si les dimensions et métriques que vous souhaitez récupérer de GA4 sont compatibles, vous pouvez utiliser ce site :
GA4 Dimensions & Metrics Explorer
Lists and describes all of the dimensions and metrics available through the Google Analytics Data API.
https://ga-dev-tools.web.app/ga4/dimensions-metrics-explorer/
Il vous permet également de connaitre le nom de chaque dimension et métriques à passer dans votre JSON au format
json[{"name": "report_name", "dimensions": ["dimension1", "dimension2",...], "metrics": ["metric1", "metric2",...]}]
Dans notre exemple, nous avons choisi de récupérer ces éléments:
NAME | NAME FOR JSON | TYPE |
Date | date | Dimension |
Sessions Channel | sessionDefaultChannelGroup | Dimension |
Session Source | sessionSource | Dimension |
Session Medium | sessionMedium | Dimension |
Session Campaign | sessionCampaignId | Dimension |
Device | deviceCategory | Dimension |
Country | country | Dimension |
Host Name | hostName | Dimension |
Users | totalUsers | Metric |
New Users | newUsers | Metric |
Sessions | sessions | Metric |
Page Views | screenPageViews | Metric |
Engaged Sessions | engagedSessions | Metric |
Et voici donc le code JSON à coller dans Airbyte :
json[{"name": "basic report", "dimensions": ["date", "country", "deviceCategory", "hostName", "sessionCampaignId", "sessionDefaultChannelGroup", "sessionMedium", "sessionSource"], "metrics": ["totalUsers", "engagedSessions", "newUsers", "screenPageViews", "sessions"]}]
2. Envoyer les données vers Google BigQuery
2.1 Créer son environnement BigQuery
Rendez-vous dans l’onglet “Destinations” puis cliquez en haut à droite sur “New destination”. Recherchez “BigQuery” et commencez le setup.
Vous aurez besoin d’un projet GCP et d’un dataset BigQuery dans lequel stocker votre donnée. Si vous n’en avez pas, vous pouvez créer tout cela ici.
console.cloud.google.com
https://console.cloud.google.com/home/dashboard
Récupérez ensuite l’ID de votre projet GCP. Pour cela cliquez en haut à gauche sur le menu déroulant permettant de sélectionner le projet sur lequel vous travaillez.
Récupérez également le nom (appelé ID par Airbyte) du dataset dans lequel vous allez écrire vos tables. Vous le trouverez sous le projet dans le menu de gauche. Si vous n’en avez pas cliquez sur les 3 petits points à droite de votre projet puis “create dataset”.
Renseignez ensuite ces informations dans l’interface Airbyte dans les champs correspondants. N’oubliez pas de définir la “data location” en gardant en tête que deux sources de données avec une localisation différente ne sont pas compatibles. Ce choix est irréversible.
2.2 Choisir la Loading Method
Il existe deux méthodes de récupération des données :
- Standard Inserts : Cette première méthode est la plus simple. Airbyte va directement modifier la table grâce à une clause SQL INSERT.. Il vous suffira de renseigner la clé JSON du service account GCP tout comme nous l’avons fait pour GA4.
- GCS Staging : Cette méthode consiste à envoyer la table sous forme de fichier dans un bucker Google Cloud Storage. Ce dernier sera ensuite chargé dans BigQuery grâce à un “COPY INTO table”. C’est une méthode un peu plus longue à mettre en place avec la création d’un bucket GCS et de clés HMAC pour l’authentification. Mais en cas de forts volumes de données elle sera plus fiable et rentable.
- Create a Cloud Storage bucket with the Protection Tools set to
none
orObject versioning
. Make sure the bucket does not have a retention policy. - Grant the
Storage Object Admin
role to the Google Cloud Service Account. - Make sure your Cloud Storage bucket is accessible from the machine running Airbyte. The easiest way to verify if Airbyte is able to connect to your bucket is via the check connection tool in the UI.
Voici le petit tuto écrit par Airbyte pour cette méthode.
Your bucket must be encrypted using a Google-managed encryption key (this is the default setting when creating a new bucket). We currently do not support buckets using customer-managed encryption keys (CMEK). You can view this setting under the "Configuration" tab of your GCS bucket, in the
Encryption type
row.Source: Airbyte Cloud
Il ne vous reste plus qu’à créer la connexion entre votre source GA4 et votre destination BigQuery fraichement créées pour voir apparaitre vos données dans une table comme celle-ci. 🪄
Si vous cherchez des idées d’utilisation de cette donnée sous forme de dashboard ou d’activations marketing, vous pouvez consulter les autres articles de notre blog ou nous contacter à data@unnest.co 🤗