Ce document décrit plusieurs fonctionnalités avancées de Google Analytics API Data v1. Pour en savoir plus sur l'API, consultez la documentation de référence de l'API.
Lister des définitions personnalisées et créer des rapports
L'API Data permet de créer des rapports sur les données personnalisées des dimensions et des dimensions personnalisées Métriques. L'API Metadata Méthode pour répertorier l'API noms des définitions personnalisées enregistrées de votre propriété. Ces noms d'API peuvent être utilisée pour signaler les demandes runReport.
Les sections suivantes présentent des exemples pour chaque type de définition personnalisée. Dans
dans ces exemples, remplacez GA_PROPERTY_ID
par l'ID de votre propriété.
Dimensions personnalisées de portée événement
Étape 1:Interrogez la méthode de l'API Metadata par votre ID de propriété.
GET https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID/metadata
Étape 2:Recherchez la dimension personnalisée de portée événement qui vous intéresse créer des rapports à partir de la réponse. Si la dimension n'est pas présente, vous devez pour enregistrer la dimension.
"dimensions": [
...
{
"apiName": "customEvent:achievement_id",
"uiName": "Achievement ID",
"description": "An event scoped custom dimension for your Analytics property."
},
...
],
Étape 3:incluez la dimension personnalisée dans une demande de rapport. Les éléments suivants : est un exemple de requête envoyée à la méthode runReport.
POST https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID:runReport
{
"dateRanges": [{ "startDate": "2020-09-01", "endDate": "2020-09-15" }],
"dimensions": [{ "name": "customEvent:achievement_id" }],
"metrics": [{ "name": "eventCount" }]
}
Dimensions personnalisées axées sur les utilisateurs
Étape 1:Interrogez la méthode de l'API Metadata par votre ID de propriété.
GET https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID/metadata
Étape 2:Recherchez la dimension personnalisée de portée utilisateur qui vous intéresse créer des rapports à partir de la réponse. Si la dimension n'est pas présente, vous devez pour enregistrer la dimension.
"dimensions": [
...
{
"apiName": "customUser:last_level",
"uiName": "Last level",
"description": "A user property for your Analytics property."
},
...
],
Étape 3:incluez la dimension personnalisée dans une demande de rapport. Les éléments suivants : est un exemple de requête envoyée à la méthode runReport.
POST https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID:runReport
{
"entity": { "propertyId": "GA_PROPERTY_ID" },
"dateRanges": [{ "startDate": "7daysAgo", "endDate": "yesterday" }],
"dimensions": [{ "name": "customUser:last_level" }],
"metrics": [{ "name": "activeUsers" }]
}
Métriques personnalisées axées sur les événements
Étape 1:Interrogez la méthode de l'API Metadata par votre ID de propriété.
GET https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID/metadata
Étape 2:Recherchez la métrique personnalisée de portée événement qui vous intéresse créer des rapports à partir de la réponse. Si la métrique n'est pas présente, vous devez enregistrer la métrique.
"metrics": [
...
{
"apiName": "customEvent:credits_spent",
"uiName": "Credits Spent",
"description": "An event scoped custom metric for your Analytics property.",
"type": "TYPE_STANDARD"
},
...
],
Étape 3:incluez la métrique personnalisée dans une demande de rapport. Les éléments suivants : est un exemple de requête envoyée à la méthode runReport.
POST https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID:runReport
{
"dateRanges": [{ "startDate": "30daysAgo", "endDate": "yesterday" }],
"dimensions": [{ "name": "eventName" }],
"metrics": [{ "name": "customEvent:credits_spent" }]
}
Métriques sur le taux d'événements clés pour un événement clé
Étape 1:Interrogez l'API Metadata Méthode par votre ID de propriété.
GET https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID/metadata
Étape 2:Recherchez la métrique "Taux d'événements clés" pour un événement clé qui vous intéresse à créer des rapports à partir de la réponse. Si l'événement clé n'est pas présent, vous devez configurer la clé événement.
"metrics": [
...
{
"apiName": "sessionKeyEventRate:add_to_cart",
"uiName": "Session key event rate for add_to_cart",
"description": "The percentage of sessions in which a specific key event was triggered",
},
...
],
Étape 3:incluez la métrique "Taux d'événements clés" dans une demande de rapport. Les éléments suivants : un exemple de requête envoyée à runReport .
POST https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID:runReport
{
"dateRanges": [{ "startDate": "30daysAgo", "endDate": "yesterday" }],
"dimensions": [{ "name": "eventName" }],
"metrics": [{ "name": "sessionKeyEventRate:add_to_cart" }]
}
Moyennes des métriques personnalisées de portée événement
Étape 1:Interrogez la méthode de l'API Metadata par votre ID de propriété.
GET https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID/metadata
Étape 2:Recherchez la moyenne de la métrique personnalisée de portée événement qui vous intéresse créer des rapports à partir de la réponse. Si la métrique n'est pas présente, vous devez enregistrer la métrique.
"metrics": [
...
{
"apiName": "averageCustomEvent:credits_spent",
"uiName": "Average Credits Spent",
"description": "The average of an event scoped custom metric for your Analytics property.",
"type": "TYPE_STANDARD"
},
...
],
Étape 3:Incluez la moyenne de la métrique personnalisée dans une demande de rapport. Les éléments suivants : est un exemple de requête envoyée à la méthode runReport.
POST https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID:runReport
{
"dateRanges": [{ "startDate": "2020-11-01", "endDate": "2020-11-10" }],
"dimensions": [{ "name": "eventName" }],
"metrics": [{ "name": "averageCustomEvent:credits_spent" }]
}
Exemples de rapports sur les cohortes
Les rapports sur les cohortes créent une série temporelle de fidélisation des utilisateurs pour la cohorte. Pour documentation détaillée de chaque champ d'API, consultez la documentation de référence de l'API REST CohortSpec.
Créer un rapport sur les cohortes
Voici un exemple de rapport sur les cohortes dans lequel:
- La cohorte comprend les utilisateurs avec un
firstSessionDate
de2020-12-01
. c'est configurés par l'objetcohorts
. Dimensions et métriques du rapport ne dépend que des utilisateurs de la cohorte. - Le rapport sur les cohortes
comporte trois colonnes : elle est configurée par
de dimensions et de métriques.
- La dimension
cohort
correspond au nom de la cohorte. - La dimension
cohortNthDay
correspond au nombre de jours écoulés depuis le2020-12-01
. - La métrique
cohortActiveUsers
correspond au nombre d'utilisateurs encore actifs.
- La dimension
- L'objet
cohortsRange
indique que le rapport doit contenir des données d'événement. à partir du2020-12-01
et jusqu'au2020-12-06
pour cette cohorte.- Avec un niveau de précision de
DAILY
, la dimensioncohortNthDay
est par souci de cohérence.
- Avec un niveau de précision de
La demande de rapport pour la cohorte est la suivante:
POST https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID:runReport
{
"dimensions": [{ "name": "cohort" }, { "name": "cohortNthDay" }],
"metrics": [{ "name": "cohortActiveUsers" }],
"cohortSpec": {
"cohorts": [
{
"dimension": "firstSessionDate",
"dateRange": { "startDate": "2020-12-01", "endDate": "2020-12-01" }
}
],
"cohortsRange": {
"endOffset": 5,
"granularity": "DAILY"
}
},
}
Voici un exemple de réponse à cette demande:
{
"dimensionHeaders": [
{ "name": "cohort" }, { "name": "cohortNthDay" }
],
"metricHeaders": [
{ "name": "cohortActiveUsers", "type": "TYPE_INTEGER" }
],
"rows": [
{
"dimensionValues": [{ "value": "cohort_0" },{ "value": "0000" }],
"metricValues": [{ "value": "293" }]
},
{
"dimensionValues": [{ "value": "cohort_0" },{ "value": "0001" }],
"metricValues": [{ "value": "143" }]
},
{
"dimensionValues": [{ "value": "cohort_0" },{ "value": "0002" }],
"metricValues": [{ "value": "123" }]
},
{
"dimensionValues": [{ "value": "cohort_0" },{ "value": "0003" }],
"metricValues": [{ "value": "92" }]
},
{
"dimensionValues": [{ "value": "cohort_0" },{ "value": "0005" }],
"metricValues": [{ "value": "86" }]
},
{
"dimensionValues": [{ "value": "cohort_0" },{ "value": "0004" }],
"metricValues": [{ "value": "83" }]
}
],
"metadata": {},
"rowCount": 6
}
Le graphique correspondant s'affiche à partir de cette réponse. Un insight d'après ce rapport, la plus forte baisse du nombre d'utilisateurs actifs pour cette cohorte entre le premier et le deuxième jour.
Cohortes multiples et fraction de fidélisation des utilisateurs
L'acquisition et la fidélisation des utilisateurs permettent de développer votre site Web ou votre application. Cohorte se concentrent sur la fidélisation des utilisateurs. Dans cet exemple, le rapport affiche cette propriété a amélioré de 10% la fidélisation des utilisateurs sur 4 jours en l'espace de deux semaines.
Pour créer ce rapport, vous devez spécifier trois cohortes: la première associée à une
firstSessionDate
de 2020-11-02
, la seconde avec un firstSessionDate
de
2020-11-09
, et la troisième avec un firstSessionDate
de 2020-11-16
. En effet,
le nombre d'utilisateurs de votre propriété sera différent pour ces trois jours,
comparer la métrique de la part de fidélisation des utilisateurs de la cohorte
cohortActiveUsers/cohortTotalUsers
plutôt que d'utiliser la méthode directe
Métrique cohortActiveUsers
.
La demande de rapport pour ces cohortes est la suivante:
POST https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID:runReport
{
"dimensions": [{ "name": "cohort" },{ "name": "cohortNthDay" }],
"metrics": [
{
"name": "cohortRetentionFraction",
"expression": "cohortActiveUsers/cohortTotalUsers"
}
],
"cohortSpec": {
"cohorts": [
{
"dimension": "firstSessionDate",
"dateRange": { "startDate": "2020-11-02", "endDate": "2020-11-02" }
},
{
"dimension": "firstSessionDate",
"dateRange": { "startDate": "2020-11-09", "endDate": "2020-11-09" }
},
{
"dimension": "firstSessionDate",
"dateRange": { "startDate": "2020-11-16", "endDate": "2020-11-16" }
}
],
"cohortsRange": {
"endOffset": 4,
"granularity": "DAILY"
}
},
}
Voici un exemple de réponse à cette demande:
{
"dimensionHeaders": [{ "name": "cohort" },{ "name": "cohortNthDay" }],
"metricHeaders": [{
"name": "cohortRetentionFraction",
"type": "TYPE_FLOAT"
}
],
"rows": [
{
"dimensionValues": [{ "value": "cohort_0" },{ "value": "0000" }],
"metricValues": [{ "value": "1" }]
},
{
"dimensionValues": [{ "value": "cohort_1" },{ "value": "0000" }],
"metricValues": [{ "value": "1" }]
},
{
"dimensionValues": [{ "value": "cohort_2" },{ "value": "0000" }],
"metricValues": [{ "value": "1" }]
},
{
"dimensionValues": [{ "value": "cohort_2" },{ "value": "0001" }],
"metricValues": [{ "value": "0.308" }]
},
{
"dimensionValues": [{ "value": "cohort_1" },{ "value": "0001" }],
"metricValues": [{ "value": "0.272" }]
},
{
"dimensionValues": [{ "value": "cohort_2" },{ "value": "0002" }],
"metricValues": [{ "value": "0.257" }]
},
{
"dimensionValues": [{ "value": "cohort_0" },{ "value": "0001" }],
"metricValues": [{ "value": "0.248" }]
},
{
"dimensionValues": [{ "value": "cohort_2" },{ "value": "0003" }],
"metricValues": [{ "value": "0.235" }]
},
{
"dimensionValues": [{ "value": "cohort_2" },{ "value": "0004" }],
"metricValues": [{ "value": "0.211" }]
},
{
"dimensionValues": [{ "value": "cohort_1" },{ "value": "0002" }],
"metricValues": [{ "value": "0.198" }]
},
{
"dimensionValues": [{ "value": "cohort_0" },{ "value": "0002" }],
"metricValues": [{ "value": "0.172" }]
},
{
"dimensionValues": [{ "value": "cohort_1" },{ "value": "0003" }],
"metricValues": [{ "value": "0.167" }]
},
{
"dimensionValues": [{ "value": "cohort_1" },{ "value": "0004" }],
"metricValues": [{ "value": "0.155" }]
},
{
"dimensionValues": [{ "value": "cohort_0" },{ "value": "0003" }],
"metricValues": [{ "value": "0.141" }]
},
{
"dimensionValues": [{ "value": "cohort_0" },{ "value": "0004" }],
"metricValues": [{ "value": "0.118" }]
}
],
"metadata": {},
"rowCount": 15
}
Le graphique correspondant s'affiche à partir de cette réponse. Un insight
de ce rapport est que la fidélisation des utilisateurs sur 4 jours a augmenté de 10% au cours
de deux semaines. Cohorte la plus récente avec firstSessionDate
de 2020-11-16
dépasse le taux de rétention de la cohorte précédente avec firstSessionDate
sur 2020-11-02
.
Cohortes hebdomadaires et utilisation de cohortes avec d'autres fonctionnalités d'API
Pour supprimer les variations quotidiennes du comportement des utilisateurs, utilisez des cohortes hebdomadaires. En semaine
rapports sur les cohortes, tous les utilisateurs ayant enregistré firstSessionDate
au cours de la même semaine
cohorte. La semaine commence le dimanche et se termine le samedi. Dans ce rapport, nous
qui segmente la cohorte pour comparer les utilisateurs ayant effectué une activité en Russie à ceux ayant
au Mexique. Ce segment utilise la dimension country
et une
dimensionFilter
pour ne prendre en compte que les deux pays.
La demande de rapport pour ces cohortes est la suivante:
POST https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID:runReport
{
"dimensions": [
{ "name": "cohort" },
{ "name": "cohortNthWeek" },
{ "name": "country" }
],
"metrics": [{ "name": "cohortActiveUsers" }],
"dimensionFilter": {
"filter": {
"fieldName": "country",
"inListFilter": {
"values": [ "Russia", "Mexico" ]
}
}
},
"cohortSpec": {
"cohorts": [
{
"dimension": "firstSessionDate",
"dateRange": {
"startDate": "2020-10-04",
"endDate": "2020-10-10"
}
}
],
"cohortsRange": {
"endOffset": 5,
"granularity": "WEEKLY"
}
},
}
Voici un exemple de réponse à cette demande:
{
"dimensionHeaders": [
{ "name": "cohort" },
{ "name": "cohortNthWeek" },
{ "name": "country" }
],
"metricHeaders": [
{ "name": "cohortActiveUsers", "type": "TYPE_INTEGER" }
],
"rows": [
{
"dimensionValues": [
{ "value": "cohort_0" },{ "value": "0000" },{ "value": "Russia" }
],
"metricValues": [{ "value": "105" }]
},
{
"dimensionValues": [
{ "value": "cohort_0" },{ "value": "0000" },{ "value": "Mexico" }
],
"metricValues": [{ "value": "98" }]
},
{
"dimensionValues": [
{ "value": "cohort_0" },{ "value": "0001" },{ "value": "Mexico" }
],
"metricValues": [{ "value": "35" }]
},
{
"dimensionValues": [
{ "value": "cohort_0" },{ "value": "0002" },{ "value": "Mexico" }
],
"metricValues": [{ "value": "24" }]
},
{
"dimensionValues": [
{ "value": "cohort_0" },{ "value": "0001" },{ "value": "Russia" }
],
"metricValues": [{ "value": "23" }]
},
{
"dimensionValues": [
{ "value": "cohort_0" },{ "value": "0004" },{ "value": "Mexico" }
],
"metricValues": [{ "value": "17" }]
},
{
"dimensionValues": [
{ "value": "cohort_0" },{ "value": "0003" },{ "value": "Mexico" }
],
"metricValues": [{ "value": "15" }]
},
{
"dimensionValues": [
{ "value": "cohort_0" },{ "value": "0005" },{ "value": "Mexico" }
],
"metricValues": [{ "value": "15" }]
},
{
"dimensionValues": [
{ "value": "cohort_0" },{ "value": "0002" },{ "value": "Russia" }
],
"metricValues": [{ "value": "3" }]
},
{
"dimensionValues": [
{ "value": "cohort_0" },{ "value": "0003" },{ "value": "Russia" }
],
"metricValues": [{ "value": "1" }]
},
{
"dimensionValues": [
{ "value": "cohort_0" },{ "value": "0004" },{ "value": "Russia" }
],
"metricValues": [{ "value": "1" }]
}
],
"metadata": {},
"rowCount": 11
}
Le graphique de ce rapport sur les cohortes s'affiche à partir de la réponse obtenue. D'après ces rapport, cette propriété est plus efficace pour fidéliser les utilisateurs actifs au Mexique que ceux ayant des activités en Russie.
Comparaisons
Vous pouvez évaluer différents sous-ensembles de données côte à côte en effectuant des comparaisons. Vous pouvez
définit des comparaisons en spécifiant le comparisons
dans une définition de rapport. La fonctionnalité Comparisons de l'API Data est similaire
à Comparaisons dans l'interface Google Analytics.
Pour obtenir une documentation détaillée sur chaque champ de l'API, consultez la documentation de référence de l'API REST Comparaison :
Créer une comparaison
Vous pouvez créer une comparaison distincte pour chaque ensemble de données que vous souhaitez comparer. Par exemple, pour comparer les données d'application et les données Web, vous pouvez créer une comparaison pour Données Android et iOS, et une autre comparaison pour les données Web.
Voici un exemple de rapport qui définit deux comparaisons et renvoie les utilisateurs actifs réparties par pays.
La première comparaison intitulée "Trafic vers l'application" utilise inListFilter
pour
faire correspondre la dimension "platform
" aux valeurs "iOS" et "Android". Le deuxième
comparaison intitulée "Trafic Web" utilise stringFilter
pour correspondre à platform
par "web".
POST https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID:runReport
{
"comparisons": [
{
"name": "App traffic",
"dimensionFilter": {
"filter": {
"fieldName": "platform",
"inListFilter": {
"values": [
"iOS",
"Android"
]
}
}
}
},
{
"name": "Web traffic",
"dimensionFilter": {
"filter": {
"fieldName": "platform",
"stringFilter": {
"matchType": "EXACT",
"value": "web"
}
}
}
}
],
"dateRanges": [
{
"startDate": "2024-05-01",
"endDate": "2024-05-15"
}
],
"dimensions": [
{
"name": "country"
}
],
"metrics": [
{
"name": "activeUsers"
}
]
}
Pour toutes les requêtes utilisant la fonctionnalité de comparaison, le champ comparison
est
automatiquement au rapport généré. Ce champ contient le nom
de la comparaison fournie dans la requête.
Voici un exemple d'extrait de réponse contenant des comparaisons:
{
"dimensionHeaders": [
{
"name": "comparison"
},
{
"name": "country"
}
],
"metricHeaders": [
{
"name": "activeUsers",
"type": "TYPE_INTEGER"
}
],
"rows": [
{
"dimensionValues": [
{
"value": "Web traffic"
},
{
"value": "United States"
}
],
"metricValues": [
{
"value": "638572"
}
]
},
{
"dimensionValues": [
{
"value": "Web traffic"
},
{
"value": "Japan"
}
],
"metricValues": [
{
"value": "376578"
}
]
},
{
"dimensionValues": [
{
"value": "App traffic"
},
{
"value": "United States"
}
],
"metricValues": [
{
"value": "79527"
}
]
},
...
],
...
}