Avant de se lancer dans l’analyse du funnel de performance d’un site web, une étape essentielle consiste à optimiser les données pour mener des analyses plus pertinentes. Avec la récente migration d’Universal Analytics vers Google Analytics 4 (GA4), la préparation des données est plus importante que jamais, car les données doivent être configurées d’une manière complètement différente. Cependant, cela représente une opportunité de repenser et d’améliorer nos méthodes de préparation des données.
Deux options principales sont disponibles pour la préparation des données GA4. . La première consiste à utiliser le connecteur natif de GA4 vers BigQuery, où vous pourrez interroger votre base de données en SQL et l’intégrer dans vos outils de visualisation, ou dans DataMa. La deuxième option consiste à utiliser le connecteur GA4 natif de DataMa avec la solution Prep, qui permet d’extraire en quelques clics le jeu de données nécessaire à votre analyse.
DataMa offre une valeur ajoutée significative en facilitant l’explication des variations de performances de votre site internet pour prendre des décisions éclairées et ainsi améliorer l’efficacité de votre site internet.
Une fois configuré, vous pouvez programmer la fréquence des analyses et recevoir des notifications par email ou directement dans vos canaux Slack.
Préparation des données dans BigQuery
Pour recevoir des données GA4 dans BigQuery, vous devrez activer le connecteur natif dans vos paramètres GA4.
Une fois les données disponibles dans BigQuery, elles sont regroupées dans une seule table, dans laquelle certaines valeurs, telles que les paramètres, se trouvent dans des tableaux que vous devrez « dissocier ». La désimbrication décompile le tableau afin que les différentes valeurs n’apparaissent pas dans une seule colonne, mais sous plusieurs colonnes pour chaque paramètre sélectionné. Pour disposer des différents champs cités ci-dessus, vous pouvez compter sur :
- Les champs natifs GA4 tels que Sessions et Revenu
- Le type de propriétés utilisateur que vous avez défini
MAX(CASE WHEN up.key=’userPropertyName’ THEN COALESCE(up.value.string_value, CAST(up.value.int_value AS STRING),CAST(up.value.float_value AS STRING),CAST(up.value.double_value AS STRING)) END) as userPropertyName - Sur les paramètres des events (anciennement connus sous le nom de dimensions custom dans Universal Analytics)
MAX(CASE WHEN ep.key=’eventParameterName’ THEN COALESCE(ep.value.string_value, CAST(ep.value.int_value AS STRING),CAST(ep.value.float_value AS STRING),CAST(ep.value.double_value AS STRING)) END) en tant que eventParameterName
Remarque : il est important de choisir avec soin les dimensions qui seront utiles pour l’analyse, car elles peuvent augmenter considérablement le nombre de lignes de votre ensemble de données et, par conséquent, le temps de calcul.
Vous pouvez ensuite compléter votre requête avec cette requête de base :
SELECT
#native GA4 properties
DATETIME(TIMESTAMP_MICROS(event_timestamp)) as event_timestamp,
DATE(TIMESTAMP_MICROS(event_timestamp)) as event_date,
event_name,
device.category as device_category,
device.language as device_language,
device.browser as device_browser,
geo.country as geo_country,
traffic_source.name as traffic_source_name,
traffic_source.medium as traffic_source_medium,
traffic_source.source as traffic_source_source,
#user properties unnest
MAX(CASE WHEN up.key=’userPropertyName’ THEN COALESCE(up.value.string_value, CAST(up.value.int_value AS STRING),CAST(up.value.float_value AS STRING),CAST(up.value.double_value AS STRING)) END) as userPropertyName,
#event parameters unnest
MAX(CASE WHEN ep.key=’eventParameterName’ THEN COALESCE(ep.value.string_value, CAST(ep.value.int_value AS STRING),CAST(ep.value.float_value AS STRING),CAST(ep.value.double_value AS STRING)) END) as eventParameterName
FROM
`ProjectName.analytics_XXXXXXXXX.events_*` ,
unnest(user_properties) as up,
unnest(event_params) as ep
WHERE regexp_extract(_table_suffix, r'[0-9]+’) BETWEEN format_date(‘%Y%m%d’,date_sub(current_date(), interval 8 day)) #To extract over the 7 last days
AND FORMAT_DATE(‘%Y%m%d’,DATE_SUB(CURRENT_DATE(), INTERVAL 1 DAY))
GROUP BY 1,2,3,4,5,6,7,8,9,10
Notez que dans cette requête, le nombre de variables n’est pas exhaustif ; vous pouvez ajouter autant de variables que nécessaire pour votre analyse.
Pour créer un ensemble de données pour DataMa, vous devrez créer deux types de colonnes :
Dimensions: variables qui vous permettront d’analyser les données selon différents segments (y compris des champs tels que la date, une version de test A/B, le canal d’acquisition, le pays, le type de produit, etc.)
Métriques: variables qui vous permettront de quantifier chaque étape du funnel. . Ne mettez pas de ratios, mais seulement des chiffres sommables
Les dimensions sont relativement simples, car ce sont les valeurs des différents champs que vous avez préparés lors de la phase précédente ; pour les métriques, cela dépend des mesures que vous souhaitez avoir :
– Soit ils seront natifs de GA4, comme Revenue, qu’il faudra additionner pour agréger les données et limiter le nombre de lignes dans le jeu de données. Ou encore, vous devrez compter le nombre d’utilisateurs/sessions qui ont effectué une certaine action ou atteint une certaine page.
COUNT(DISTINCT user_id) AS Number_Users
– Vous pouvez également annuler le pivotement d’une dimension pour compter le nombre d’occurrences de chacun de ses segments. Par exemple, si une dimension Funnel_Step contient la valeur des étapes de l’entonnoir, vous pouvez utiliser la fonction PIVOT pour transformer un ensemble de données avec trois colonnes Date, Funnel_Step et Number_Users en un ensemble de données avec autant de colonnes qu’il y a de segments, disons que nous avons trois étapes du funnel, nous aurions alors les colonnes suivantes : Date, Step1, Step2 et Step3 avec la valeur du nombre d’utilisateurs sur chacune des étapes avec le code suivant :
PIVOT (SUM(Number_Users) FOR Funnel_Step IN (‘Step1’, ‘Step2’, ‘Step3’))
Enfin, vous devrez choisir les dimensions et métriques qui vous intéressent, et vous devriez avoir une requête qui ressemble à :
WITH Table_Unnest_GA4 AS (
SELECT
#native GA4 properties
DATE(TIMESTAMP_MICROS(event_timestamp)) as event_date,
device.category,
device.language as language,
geo.country as country,
traffic_source.source as source,
#user properties unnest
MAX(CASE WHEN up.key=’user_id’ THEN COALESCE(up.value.string_value, CAST(up.value.int_value AS STRING),CAST(up.value.float_value AS STRING),CAST(up.value.double_value AS STRING)) END) as user_id,
#event parameters unnest
MAX(CASE WHEN ep.key=’Funnel_Step’ THEN COALESCE(ep.value.string_value, CAST(ep.value.int_value AS STRING),CAST(ep.value.float_value AS STRING),CAST(ep.value.double_value AS STRING)) END) as Funnel_Step
FROM `ProjectName.analytics_XXXXXXXXX.events_*` ,
unnest(user_properties) as up,
unnest(event_params) as ep
WHERE regexp_extract(_table_suffix, r'[0-9]+’) BETWEEN format_date(‘%Y%m%d’,date_sub(current_date(), interval 8 day)) #To extract over the 7 last days
AND FORMAT_DATE(‘%Y%m%d’,DATE_SUB(CURRENT_DATE(), INTERVAL 1 DAY))
GROUP BY 1,2,3,4,5,6,7,8,9,10),
Table_Aggregation AS (
SELECT
event_date,
device_category,
language,
country,
source,
Funnel_Step,
COUNT(DISTINCT user_id) AS Number_Users
FROM Table_Unnest_GA4
GROUP BY 1,2,3,4,5,6)
SELECT *
FROM Table_Aggregation WHERE
PIVOT(SUM(Number_Users) FOR Funnel_Step IN (‘Step1’, ‘Step2’, ‘Step3’))
On obtient ainsi le dataset suivant :
Utilisation du connecteur Prep dans DataMa
Pour ceux qui ne veulent pas passer du temps sur des requêtes SQL, faire la même requête est possible en quelques clics dans DataMa. Dans DataMa, créez un nouveau cas d’u et cliquez sur le connecteur GA4 pour connecter votre compte GA4.
Remarque : Si vous n’avez pas de compte DataMa, vous pouvez accéder à app.datama.io/demo pour tester l’exécution de la solution Contactez-nous à (solutions@datama.io) pour accéder gratuitement à la solution et tester notre connecteur GA4.
Ensuite, vous pouvez sélectionner la propriété à partir de laquelle vous souhaitez extraire les données, puis choisir vos dimensions et métriques comme vous le feriez si vous construisiez votre propre requête SQL. Ajoutez des filtres si nécessaire et choisissez la plage de dates sur laquelle vous souhaitez extraire les données. Il y a ensuite plusieurs étapes facultatives :
- Nettoyer : pour ordonner ou renommer des colonnes, ou ajouter des champs calculés
- Pivot : transformer les segments d’une colonne en autant de colonnes qu’il y a de segments.
- Append : pour ajouter d’autres sources de données à vos données GA4 Cela vous donnera un schéma similaire au suivant avec plus ou moins de blocs, en fonction de vos opérations :
Ensuite, il vous suffit d’ouvrir la solution DataMa que vous souhaitez utiliser (Compare, Assess, Detect ou Pivot).
Conclusion
Avec la récente migration vers GA4, il est essentiel de vous familiariser avec de nouveaux outils et techniques pour maximiser l’efficacité de vos analyses. Les deux approches ci-dessus peuvent obtenir des résultats similaires. Le faire directement via BigQuery vous donnera beaucoup plus de liberté dans vos calculs mais cela nécessite une certaine maîtrise de SQL. L’utilisation de DataMa Prep est plus rapide et beaucoup plus facile à configurer, mais vous disposez de moins d’opérations et de calculs que dans BigQuery.
Vous pouvez créer votre premier cas d’utilisation en créant un compte démo sur notre site.