Tutoriel Airbyte Cloud : Envoyer ses données GA4 vers BigQuery

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”.
Image without caption
Recherchez et sélectionnez “Google Analytics 4”
Image without caption

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.
Image without caption
Image without caption
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.
  • 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.
Image without caption

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.
Image without caption
Image without caption
💡
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.
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.
Image without caption
Image without caption
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
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.
Image without caption
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”.
Image without caption
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.
    • 🤓
      Voici le petit tuto écrit par Airbyte pour cette méthode.
      1. Create a Cloud Storage bucket with the Protection Tools set to none or Object versioning. Make sure the bucket does not have a retention policy.
      1. Create an HMAC key and access ID.
      1. Grant the Storage Object Admin role to the Google Cloud Service Account.
      1. 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.
      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. 🪄
Image without caption
💡
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 🤗

Powered by Notaku