Ce document fournit des informations de référence complètes sur les requêtes et les réponses pour la version 3.0 de l'API Core Reporting.
Introduction
Vous interrogez l'API Core Reporting pour les données de rapport Google Analytics. Chaque requête nécessite un ID de vue (profil), des dates de début et de fin, et au moins une métrique. Pour affiner votre requête, vous pouvez également fournir des paramètres de requête supplémentaires, tels que des dimensions, des filtres et des segments. Consultez le guide de présentation pour comprendre comment tous ces concepts interagissent.
Demande
L'API fournit une seule méthode pour demander des données:
analytics.data.ga.get()
Cette méthode est exposée dans plusieurs bibliothèques clientes et dispose d'interfaces spécifiques au langage permettant de définir les paramètres de requête.
L'API peut également être interrogée en tant que point de terminaison REST:
Authorization: Bearer {oauth2-token} GET https://www.googleapis.com/analytics/v3/data/ga ?ids=ga:12345 &start-date=2008-10-01 &end-date=2008-10-31 &metrics=ga:sessions,ga:bounces
Chaque paramètre de requête d'URL spécifie un paramètre de requête d'API qui doit être encodé au format URL.
Récapitulatif des paramètres de requête
Le tableau suivant récapitule tous les paramètres de requête acceptés par l'API Core Reporting. Cliquez sur chaque nom de paramètre pour obtenir une description détaillée.
Nom | Value | Obligatoire | Synthèse |
---|---|---|---|
ids |
string |
oui | ID de la table unique au format ga:XXXX, où XXXX est l'ID de la vue (profil) Analytics pour lequel la requête va extraire les données. |
start-date |
string |
oui |
Date de début de la récupération des données Analytics. Les requêtes peuvent spécifier une date de début au format YYYY-MM-DD ou une date relative (par exemple, today , yesterday ou NdaysAgo , où N est un entier positif).
|
end-date |
string |
oui |
Date de fin de la récupération des données Analytics. La requête peut spécifier une date de fin au format YYYY-MM-DD ou une date relative (par exemple,
today , yesterday ou NdaysAgo , où N est un entier positif).
|
metrics |
string |
oui |
Liste de métriques séparées par une virgule, telles que ga:sessions,ga:bounces .
|
dimensions |
string |
non |
Liste de dimensions séparées par une virgule pour vos données Analytics, par exemple ga:browser,ga:city .
|
sort |
string |
non | Liste de métriques et de dimensions séparées par une virgule indiquant l'ordre de tri et le sens de tri pour les données renvoyées. |
filters |
string |
non | Filtres de dimensions ou de métriques qui limitent les données renvoyées pour votre requête. |
segment |
string |
non | Segmente les données renvoyées pour votre requête. |
samplingLevel |
string |
non | Niveau d'échantillonnage souhaité. Valeurs autorisées :
|
include-empty-rows |
boolean |
non | La valeur par défaut est "true". Si elle est définie sur "false", les lignes dont toutes les valeurs des métriques sont égales à zéro sont omises de la réponse. |
start-index |
integer |
non |
Première ligne de données à récupérer, à partir de 1. Utilisez ce paramètre comme mécanisme de pagination avec le paramètre max-results .
|
max-results |
integer |
non | Nombre maximal de lignes à inclure dans la réponse. |
output |
string |
non |
Type de sortie souhaité pour les données Analytics renvoyées dans la réponse.
Les valeurs autorisées sont json et dataTable . Valeur par défaut : json
|
fields |
string |
non | Sélecteur permettant de spécifier un sous-ensemble de champs à inclure dans la réponse. |
prettyPrint |
string |
non |
Renvoie une réponse avec des indentations et des sauts de ligne. Valeur par défaut : false .
|
userIp |
string |
non | Spécifie l'adresse IP de l'utilisateur final pour lequel l'appel d'API est effectué. Permet de limiter l'utilisation par adresse IP. |
quotaUser |
string |
non | Alternative à userIp dans les cas où l'adresse IP de l'utilisateur est inconnue. |
access_token |
string |
non | Un moyen de fournir un jeton OAuth 2.0 est possible. |
callback |
string |
non | Il s'agit du nom de la fonction de rappel JavaScript qui gère la réponse. Utilisé dans les requêtes JSON-P JavaScript. |
key |
string |
non | Utilisé pour l'autorisation OAuth 1.0a afin de spécifier votre application pour obtenir des quotas. Exemple : key=AldefliuhSFADSfasdfasdfASdf . |
Détails des paramètres de requête
ids
ids=ga:12345
ga:
avec l'ID de la vue (profil) Analytics. Vous pouvez récupérer l'ID de la vue (profil) à l'aide de la méthode analytics.management.profiles.list
, qui fournit le id
dans la ressource View (Profile) de l'API Management de Google Analytics.
date de début
start-date=2009-04-20
start-date
et end-date
dans la requête, le serveur renvoie une erreur. Les valeurs de date peuvent correspondre à une date spécifique en utilisant le format YYYY-MM-DD
, ou les valeurs relatives en utilisant today
, yesterday
ou NdaysAgo
.
Les valeurs doivent correspondre à [0-9]{4}-[0-9]{2}-[0-9]{2}|today|yesterday|[0-9]+(daysAgo)
.
start-date
valide est 2005-01-01
.
Il n'existe pas de limite supérieure pour une date de début.Exemple de plage de dates pour les 7 derniers jours (à partir d'hier) en utilisant des dates relatives:
&start-date=7daysAgo &end-date=yesterday
date de fin
end-date=2009-05-20
start-date
et end-date
dans la requête, le serveur renvoie une erreur. Les valeurs de date peuvent correspondre à une date spécifique en utilisant le format YYYY-MM-DD
, ou les valeurs relatives en utilisant today
, yesterday
ou NdaysAgo
.
Les valeurs doivent correspondre à [0-9]{4}-[0-9]{2}-[0-9]{2}|today|yesterday|[0-9]+(daysAgo)
.
end-date
valide est 2005-01-01
. Aucune limite ne s'applique pour les end-date
. Exemple de plage de dates pour les 10 derniers jours (à partir d'aujourd'hui) en utilisant des dates relatives:
&start-date=9daysAgo &end-date=today
dimensions
dimensions=ga:browser,ga:city
dimensions
répartit les métriques en fonction de critères communs, par exemple, ga:browser
ou ga:city
.
Vous pouvez demander le nombre total de pages vues sur votre site, mais il peut être plus intéressant de demander le nombre de pages vues réparties par navigateur. Dans ce cas, le nombre de pages vues s'affiche dans Firefox, Internet Explorer, Chrome, etc.
Lorsque vous utilisez dimensions
dans une requête de données, tenez compte des contraintes suivantes:
- Vous pouvez indiquer un maximum de sept dimensions par requête.
- Vous ne pouvez pas envoyer de requête composée uniquement de dimensions. Vous devez combiner toutes les dimensions demandées avec au moins une métrique.
- Seules certaines variables peuvent être interrogées dans la même requête. Utilisez l'outil de combinaison valide dans la documentation de référence sur les dimensions et les métriques pour savoir quelles dimensions peuvent être utilisées ensemble.
métrique
metrics=ga:sessions,ga:bounces
dimensions
, les métriques renvoyées fournissent des valeurs agrégées pour la plage de dates demandée, telles que le nombre total de pages vues ou le nombre total de rebonds. Toutefois, lorsque des dimensions sont demandées, les valeurs sont segmentées par valeur de dimension. Par exemple, ga:pageviews
demandé avec ga:country
renvoie le nombre total de pages vues par pays.
Lorsque vous demandez des métriques, gardez à l'esprit les points suivants :
- Chaque requête doit fournir au moins une métrique. Une requête ne peut pas être composée uniquement de dimensions.
- Vous pouvez fournir jusqu'à 10 métriques par requête.
- La plupart des combinaisons de métriques de plusieurs catégories peuvent être utilisées ensemble, à condition qu'aucune dimension ne soit spécifiée.
- Vous pouvez utiliser une métrique en combinaison avec d'autres dimensions ou métriques, mais uniquement lorsque des combinaisons valides s'appliquent à cette métrique. Pour en savoir plus, consultez la documentation de référence sur les dimensions et les métriques.
sort
sort=ga:country,ga:browser
Liste de métriques et de dimensions indiquant l'ordre de tri et le sens de tri des données renvoyées.
- Le ordre de tri est indiqué par l'ordre de gauche à droite des métriques et les dimensions répertoriées.
- Par défaut, le tri de la direction est croissant et peut être modifié en ordre décroissant à l'aide du signe moins (
-
) dans le champ demandé.
Le tri des résultats d'une requête vous permet de poser différentes questions sur vos données. Par exemple, pour répondre à la question "Quels sont mes principaux pays et quels navigateurs utilisent-ils le plus ?".
vous pouvez effectuer une requête avec le paramètre suivant. Il trie d'abord par ga:country
, puis par ga:browser
, dans l'ordre croissant:
sort=ga:country,ga:browser
Pour répondre à la question "Quels sont mes principaux navigateurs et quels pays les utilisent le plus", vous pouvez envoyer une requête à l'aide du paramètre suivant. Il trie d'abord par
ga:browser
, puis par ga:country
, dans l'ordre croissant :
sort=ga:browser,ga:country
Lorsque vous utilisez le paramètre sort
, tenez compte des points suivants:
- Ne triez que les valeurs de dimensions ou de métriques que vous avez utilisées dans les paramètres
dimensions
oumetrics
. Si votre requête effectue un tri sur un champ qui n'est indiqué ni dans les paramètres des dimensions, ni dans celui des métriques, une erreur s'affiche. - Par défaut, les chaînes sont triées par ordre alphabétique croissant dans les paramètres régionaux en-US.
- Par défaut, les numéros sont triés par ordre numérique croissant.
- Par défaut, les dates sont triées dans l'ordre croissant par date.
filtres
filters=ga:medium%3D%3Dreferral
Le paramètre de chaîne de requête filters
limite les données renvoyées par votre requête. Pour utiliser le paramètre filters
, indiquez une dimension ou une métrique à filtrer, suivie de l'expression de filtre. Par exemple, la requête suivante demande ga:pageviews
et ga:browser
pour la vue (profil) 12134
, où la dimension ga:browser
commence par la chaîne Firefox
:
https://www.googleapis.com/analytics/v3/data/ga ?ids=ga:12134 &dimensions=ga:browser &metrics=ga:pageviews &filters=ga:browser%3D~%5EFirefox &start-date=2007-01-01 &end-date=2007-12-31
Les requêtes filtrées limitent les lignes qui sont incluses ou non dans le résultat. Chaque ligne du résultat est testée par rapport au filtre: si le filtre correspond, la ligne est conservée et, si ce n'est pas le cas, elle est supprimée.
- Encodage d'URL : les bibliothèques clientes des API Google encodent automatiquement les opérateurs de filtrage.
- Filtrage des dimensions: le filtrage se produit avant l'agrégation de toutes les dimensions, de sorte que les métriques renvoyées ne représentent le total que pour les dimensions pertinentes. Dans l'exemple ci-dessus, le nombre de pages vues correspondrait uniquement à celles dont le navigateur correspond à Firefox.
- Filtrage des métriques: le filtrage s'effectue après l'agrégation des métriques.
- Combinaisons valides: vous pouvez filtrer selon une dimension ou une métrique qui ne fait pas partie de votre requête, à condition que toutes les dimensions/métriques de la requête et le filtre soient des combinaisons valides. Par exemple, vous pouvez rechercher une liste datée de pages vues en filtrant par navigateur. Pour en savoir plus, consultez la documentation de référence sur les dimensions et les métriques.
Syntaxe des filtres
Un filtre unique se présente sous la forme suivante:
ga:name operator expression
Dans cette syntaxe:
- name : nom de la dimension ou de la métrique à filtrer. Par exemple:
ga:pageviews
filtre la métrique"Pages vues". - operator : définit le type de correspondance de filtres à utiliser. Les opérateurs sont spécifiques à une dimension ou à une métrique.
- expression : indique les valeurs à inclure ou exclure des résultats. Les expressions utilisent une syntaxe d'expression régulière.
Opérateurs de filtrage
Il existe six opérateurs de filtre pour les dimensions et six opérateurs de filtre pour les métriques. Les opérateurs doivent être encodés en URL pour pouvoir être inclus dans les chaînes de requête d'URL.
Conseil : Utilisez l'explorateur de requêtes de flux de données pour créer des filtres nécessitant un encodage d'URL. En effet, l'explorateur de requêtes encode automatiquement les URL contenant des chaînes et des espaces.
Opérateur | Description | Formulaire codé en URL | Exemples |
---|---|---|---|
== |
Est égal(e) à | %3D%3D |
Affiche les résultats pour lesquels le temps affiché sur la page est exactement de 10 secondes :filters=ga:timeOnPage%3D%3D10 |
!= |
Est différent(e) de | !%3D |
Affiche les résultats lorsque le temps passé sur la page n'est pas de 10 secondes:filters=ga:timeOnPage!%3D10 |
> |
Supérieur à | %3E |
Affiche les résultats dont le temps sur la page est strictement supérieur à 10 secondes:filters=ga:timeOnPage%3E10 |
< |
Moins de | %3C |
Affiche les résultats lorsque le temps passé sur la page est strictement inférieur à 10 secondes :filters=ga:timeOnPage%3C10 |
>= |
Supérieur ou égal à | %3E%3D |
Affiche des résultats dont le temps passé sur la page est de dix secondes ou plus:filters=ga:timeOnPage%3E%3D10 |
<= |
Inférieur ou égal à | %3C%3D |
Affiche des résultats lorsque le temps passé sur la page est inférieur ou égal à 10 secondes :filters=ga:timeOnPage%3C%3D10 |
Opérateur | Description | Formulaire codé en URL | Exemple |
---|---|---|---|
== |
Mot clé exact | %3D%3D |
Métriques globales pour la ville de Irvine:filters=ga:city%3D%3DIrvine |
!= |
Ne correspond pas | !%3D |
Métriques globales pour lesquelles la ville n'est pas Irvine:filters=ga:city!%3DIrvine |
=@ |
Contient une sous-chaîne | %3D@ |
Métriques globales pour lesquelles la ville contient York :filters=ga:city%3D@York |
!@ |
Ne contient pas de sous-chaîne | !@ |
Métriques globales pour lesquelles la ville ne contient pas York:filters=ga:city!@York |
=~ |
Contient une correspondance pour l'expression régulière | %3D~ |
Regroupe les métriques dont la ville commence par New :filters=ga:city%3D~%5ENew.* (%5E est l'URL encodée à partir du caractère ^ qui ancre un format au début de la chaîne.) |
!~ |
Ne correspond pas à l'expression régulière | !~ |
Agréger les métriques dont la ville ne commence pas par New (Nouveau) : filters=ga:city!~%5ENew.* |
Expressions de filtre
Il existe deux règles importantes pour les expressions de filtre:
- Caractères réservés aux URL : les caractères tels que
&
doivent être encodés pour les URL comme d'habitude. - Caractères réservés : les points-virgules et les virgules doivent être précédés d'une barre oblique inverse lorsqu'ils apparaissent dans une expression :
- point-virgule
\;
- virgule
\,
- point-virgule
- Expressions régulières : vous pouvez également utiliser des expressions régulières dans les expressions de filtre à l'aide des opérateurs
=~
et!~
. Leur syntaxe est semblable à celle des expressions régulières Perl et comportent les règles supplémentaires suivantes :- Longueur maximale de 128 caractères : les expressions régulières de plus de 128 caractères génèrent un code d'état
400 Bad Request
renvoyé par le serveur. - Sensibilité à la casse : la correspondance d'expression régulière n'est pas sensible à la casse.
- Longueur maximale de 128 caractères : les expressions régulières de plus de 128 caractères génèrent un code d'état
Combiner des filtres
Les filtres peuvent être combinés à l'aide des logiques booléennes OR
et AND
. Cela vous permet d'étendre efficacement la limite de 128 caractères d'une expression de filtre.
OU
L'opérateur OR
est défini à l'aide d'une virgule (,
). Il est prioritaire sur l'opérateur AND
et ne peut PAS être utilisé pour combiner des dimensions et des métriques dans la même expression.
Exemples:(chacun doit être encodé au format URL)
Pays (États-Unis OU Canada) :
ga:country==United%20States,ga:country==Canada
Utilisateurs de Firefox sous Windows ou Macintosh :
ga:browser==Firefox;ga:operatingSystem==Windows,ga:operatingSystem==Macintosh
ET
L'opérateur AND
est défini à l'aide d'un point-virgule (;
). Il est précédé de l'opérateur OR
et peut être utilisé pour combiner des dimensions et des métriques dans la même expression.
Exemples : (chacun doit être encodé au format URL)
Le pays est "États-Unis" ET le navigateur est "Firefox" :
ga:country==United%20States;ga:browser==Firefox
Le pays est États-Unis ET la langue ne commence pas par &&39;:&: :
ga:country==United%20States;ga:language!~^en.*
Système d'exploitation utilisé (Windows OU Macintosh) ET navigateur (Firefox OU Chrome):
ga:operatingSystem==Windows,ga:operatingSystem==Macintosh;ga:browser==Firefox,ga:browser==Chrome
Le pays est les États-Unis ET les sessions sont supérieures à 5:
ga:country==United%20States;ga:sessions>5
segmenter
segment=gaid::-10
segment=sessions::condition::ga:medium%3D%3Dreferral
segment=users::condition::ga:browser%3D%3DChrome
Pour en savoir plus sur la demande de segments dans l'API Core Reporting, consultez le Guide de développement des segments.
Pour obtenir une présentation conceptuelle des segments, consultez la documentation de référence sur les fonctionnalités des segments et la page Segments du centre d'aide.
Dimensions et métriques autorisées dans les segments.
Certaines dimensions et métriques ne peuvent pas être utilisées dans les segments. Pour connaître les dimensions et les métriques autorisées dans les segments, accédez à l'explorateur de dimensions et de métriques.
Niveau d'échantillonnage
samplingLevel=DEFAULT
DEFAULT
: renvoie une réponse avec un échantillon qui équilibre la vitesse et la justesse.FASTER
: renvoie une réponse rapide avec un échantillon de taille plus petit.HIGHER_PRECISION
: renvoie une réponse plus précise avec une taille d'échantillon importante, mais cela peut ralentir la réponse.
DEFAULT
sera utilisé.lignes vides
include-empty-rows=true
index de départ
start-index=10
1
. (Les index de résultats sont basés sur 1. Autrement dit, la première ligne correspond à la ligne 1
et non à la ligne 0
. Utilisez ce paramètre comme mécanisme de pagination avec le paramètre max-results
pour les cas où totalResults
dépasse 10 000 et si vous souhaitez récupérer des lignes indexées à partir de 10 001.résultats max
max-results=100
start-index
pour récupérer un sous-ensemble d'éléments ou l'utiliser seul pour limiter le nombre d'éléments renvoyés, à commencer par le premier.
Si max-results
n'est pas fourni, la requête renvoie le nombre maximal de lignes par défaut (1 000).ga:country
. Par conséquent, lorsque vous segmentez uniquement par pays, vous ne pouvez pas obtenir plus de 300 lignes, même si vous avez défini une valeur supérieure pour max-results
.output
output=dataTable
json
: génère la propriétérows
par défaut dans la réponse et contient un objet JSON.dataTable
: renvoie une propriétédataTable
dans la réponse, contenant un objet Table de données. Cet objetData Table
peut être utilisé directement avec les visualisations Google Charts.
fields
fields=rows,columnHeaders(name,dataType)
Spécifie les champs à afficher dans une réponse partielle. Si vous n'utilisez qu'un sous-ensemble des champs de la réponse de l'API, vous pouvez utiliser le paramètre fields
pour spécifier les champs à inclure.
Le format de la valeur du paramètre de requête des champs est vaguement basé sur la syntaxe XPath. La syntaxe acceptée est résumée ci-dessous.
- Incluez une liste dont les éléments sont séparés par une virgule pour sélectionner plusieurs champs.
- Utilisez
a/b
pour sélectionner un champ b imbriqué dans le champ a. Utiliseza/b/c
pour sélectionner un champ c imbriqué dans le champ b. - Utilisez un sous-sélecteur pour demander un ensemble de sous-champs spécifiques de tableaux ou d'objets en plaçant des expressions entre parenthèses
"( )"
.
Par exemple,fields=columnHeaders(name,dataType)
ne renvoie que les champsname
etdataType
du tableaucolumnHeaders
. Vous pouvez également spécifier un seul sous-champ, oùfields=columnHeader(name)
équivaut àfields=columnHeader/name
.
jolie imprimer
prettyPrint=false
Renvoie la réponse dans un format lisible si true
.
Valeur par défaut: false
.
Utilisateur des quotas
quotaUser=4kh4r2h4
Vous permet d'appliquer des quotas par utilisateur à partir d'une application côté serveur, même lorsque l'adresse IP de l'utilisateur est inconnue. Cela peut se produire, par exemple, avec des applications qui exécutent des tâches Cron sur App Engine pour le compte d'un utilisateur. Vous pouvez choisir n'importe quelle chaîne arbitraire permettant d'identifier un utilisateur de manière unique, mais elle est limitée à 40 caractères.
Cette valeur remplace userIp
si les deux sont fournis.
Réponse
Si la requête aboutit, la requête renvoie un corps de réponse avec la structure JSON définie ci-dessous. Si le paramètre output est défini sur dataTable
, la requête renvoie un corps de réponse avec la structure JSON (table de données) définie ci-dessous.
Remarque : Le terme "résultats" désigne l'ensemble des lignes correspondant à la requête, tandis que le terme "réponse" désigne l'ensemble des lignes renvoyées sur la page de résultats actuelle. Ils peuvent être différents si le nombre total de résultats est supérieur à la taille de la page pour la réponse actuelle, comme expliqué dans itemsPerPage.
{
"kind": "analytics#gaData",
"id": string,
"selfLink": string,
"containsSampledData": boolean,
"query": {
"start-date": string,
"end-date": string,
"ids": string,
"dimensions": [
string
],
"metrics": [
string
],
"include-empty-rows": boolean
"samplingLevel": string,
"sort": [
string
],
"filters": string,
"segment": string,
"start-index": integer,
"max-results": integer
},
"itemsPerPage": integer,
"totalResults": integer,
"previousLink": string,
"nextLink": string,
"profileInfo": {
"profileId": string,
"accountId": string,
"webPropertyId": string,
"internalWebPropertyId": string,
"profileName": string,
"tableId": string
},
"columnHeaders": [
{
"name": string,
"columnType": string,
"dataType": string
}
],
"rows": [
[
string
]
],
"sampleSize": string,
"sampleSpace": string,
"totalsForAllResults": [
{
metricName: string,
...
}
]
}
Champs de réponse
Les propriétés de la structure du corps de la réponse sont définies comme suit:
Nom de propriété | Value | Description |
---|---|---|
kind |
string |
Type de ressource. Valeur : analytics#gaData". |
id |
string |
ID de cette réponse de données. |
query |
object |
Cet objet contient toutes les valeurs transmises en tant que paramètres à la requête. La signification de chaque champ est expliquée dans la description du paramètre de requête correspondant. |
query.start-date |
string |
Date de début. |
query.end-date |
string |
Date de fin. |
query.ids |
string |
ID de table unique. |
query.dimensions[] |
list |
Liste des dimensions Analytics. |
query.metrics[] |
list |
Liste de métriques analytiques. |
query.samplingLevel |
string |
Requested sampling level. |
query.include-empty-rows |
boolean |
La valeur par défaut est "true". Si elle est définie sur "false", les lignes dont toutes les valeurs des métriques sont égales à zéro sont omises de la réponse. |
query.sort[] |
list |
Liste des métriques ou des dimensions avec lesquelles les données sont triées. |
query.filters |
string |
Liste de filtres de métriques ou de dimensions séparés par une virgule. |
query.segment |
string |
Segment Analytics. |
query.start-index |
integer |
Index de début. |
query.max-results |
integer |
Nombre maximal de résultats par page. |
startIndex |
integer |
Index de départ des lignes spécifié par le paramètre de requête start-index . La valeur par défaut est 1. |
itemsPerPage |
integer |
Nombre maximal de lignes que la réponse peut contenir, quel que soit le nombre réel de lignes renvoyées. Si le paramètre de requête max-results est spécifié, la valeur de itemsPerPage est inférieure à max-results ou à 10 000. La valeur par défaut de itemsPerPage est 1 000.
|
totalResults |
integer |
Nombre total de lignes dans le résultat de la requête, quel que soit le nombre de lignes renvoyées dans la réponse. Pour les requêtes qui entraînent un grand nombre de lignes, totalResults peut être supérieur à itemsPerPage .
Pour en savoir plus sur totalResults et itemsPerPage pour les requêtes volumineuses, consultez la page Paging.
|
startDate |
string |
Date de début de la requête de données, spécifiée par le paramètre start-date . |
endDate |
string |
Date de fin de la requête de données, spécifiée par le paramètre end-date . |
selfLink |
string |
Lien vers cette page des résultats de cette requête de données. |
previousLink |
string |
Lien vers la page de résultats précédente pour cette requête de données. |
nextLink |
string |
Lien vers la page de résultats suivante pour cette requête de données. |
profileInfo |
object |
Informations sur la vue (profil) pour laquelle les données ont été demandées. Les données de vue (profil) sont disponibles via l'API Management de Google Analytics. |
profileInfo.profileId |
string |
ID de la vue (profil), par exemple 1174 . |
profileInfo.accountId |
string |
ID du compte auquel appartient cette vue (profil), par exemple 30481 . |
profileInfo.webPropertyId |
string |
ID de propriété Web auquel appartient cette vue (profil), par exemple UA-30481-1 . |
profileInfo.internalWebPropertyId |
string |
ID interne de la propriété Web à laquelle appartient cette vue (profil), par exemple UA-30481-1 . |
profileInfo.profileName |
string |
Nom de la vue (profil). |
profileInfo.tableId |
string |
ID de la table (vue) composé de "ga:" suivi de l'ID de la vue (profil). |
containsSampledData |
boolean |
Vrai si la réponse contient des données échantillonnées. |
sampleSize |
string |
Nombre d'échantillons utilisés pour calculer les données échantillonnées. |
sampleSpace |
string |
Taille totale de l'espace d'échantillonnage. Indique la taille totale de l'espace disponible dans lequel les échantillons ont été sélectionnés. |
columnHeaders[] |
list |
En-têtes de colonne qui répertorient les noms des dimensions, suivis des noms des métriques. L'ordre des dimensions et des métriques est le même que celui spécifié dans la requête via les paramètres metrics et dimensions . Le nombre d'en-têtes correspond au nombre de dimensions et au nombre de métriques. |
columnHeaders[].name |
string |
Nom de la dimension ou de la métrique. |
columnHeaders[].columnType |
string |
Type de colonne. METRIC DIMENSION ou MÉTRIQUE. |
columnHeaders[].dataType |
string |
Type de données. Les en-têtes de colonne de dimension ne comportent que le type de données STRING . Les en-têtes de colonnes de métriques comportent des types de données pour les valeurs de métriques telles que INTEGER , PERCENT , TIME , CURRENCY , FLOAT , etc. Consultez la réponse de l'API des métadonnées pour connaître tous les types de données possibles.
|
totalsForAllResults |
object |
Nombre total de valeurs des métriques demandées sous forme de paires clé/valeur de noms et de valeurs de métriques. L'ordre des totaux des métriques est identique à celui spécifié dans la requête. |
rows[] |
list |
Lignes de données Analytics, où chaque ligne contient une liste de valeurs de dimension suivies des valeurs des métriques. L'ordre des dimensions et des métriques est le même que celui spécifié dans la requête. Chaque ligne comporte une liste de N champs, où N = le nombre de dimensions + le nombre de métriques. |
{
"kind": "analytics#gaData",
"id": string,
"selfLink": string,
"containsSampledData": boolean,
"query": {
"start-date": string,
"end-date": string,
"ids": string,
"dimensions": [
string
],
"metrics": [
string
],
"samplingLevel": string,
"include-empty-rows": boolean,
"sort": [
string
],
"filters": string,
"segment": string,
"start-index": integer,
"max-results": integer
},
"itemsPerPage": integer,
"totalResults": integer,
"previousLink": string,
"nextLink": string,
"profileInfo": {
"profileId": string,
"accountId": string,
"webPropertyId": string,
"internalWebPropertyId": string,
"profileName": string,
"tableId": string
},
"columnHeaders": [
{
"name": string,
"columnType": string,
"dataType": string
}
],
"dataTable": {
"cols": [
{
"id": string,
"label": string,
"type": string
}
],
"rows": [
{
"c": [
{
"v": string
}
]
}
]
},
"sampleSize": string,
"sampleSpace": string,
"totalsForAllResults": [
{
metricName: string,
...
}
]
}
Champs de réponse
Les propriétés de la structure du corps de la réponse sont définies comme suit:
Nom de propriété | Value | Description |
---|---|---|
kind |
string |
Type de ressource. Valeur : analytics#gaData". |
id |
string |
ID de cette réponse de données. |
query |
object |
Cet objet contient toutes les valeurs transmises en tant que paramètres à la requête. La signification de chaque champ est expliquée dans la description du paramètre de requête correspondant. |
query.start-date |
string |
Date de début. |
query.end-date |
string |
Date de fin. |
query.ids |
string |
ID de table unique. |
query.dimensions[] |
list |
Liste des dimensions Analytics. |
query.metrics[] |
list |
Liste de métriques analytiques. |
query.samplingLevel |
string |
Requested sampling level. |
query.include-empty-rows |
boolean |
La valeur par défaut est "true". Si elle est définie sur "false", les lignes dont toutes les valeurs des métriques sont égales à zéro sont omises de la réponse. |
query.sort[] |
list |
Liste des métriques ou des dimensions avec lesquelles les données sont triées. |
query.filters |
string |
Liste de filtres de métriques ou de dimensions séparés par une virgule. |
query.segment |
string |
Segment Analytics. |
query.start-index |
integer |
Index de début. |
query.max-results |
integer |
Nombre maximal de résultats par page. |
startIndex |
integer |
Index de départ des lignes spécifié par le paramètre de requête start-index . La valeur par défaut est 1. |
itemsPerPage |
integer |
Nombre maximal de lignes que la réponse peut contenir, quel que soit le nombre réel de lignes renvoyées. Si le paramètre de requête max-results est spécifié, la valeur de itemsPerPage est inférieure à max-results ou à 10 000. La valeur par défaut de itemsPerPage est 1 000.
|
totalResults |
integer |
Nombre total de lignes dans le résultat de la requête, quel que soit le nombre de lignes renvoyées dans la réponse. Pour les requêtes qui entraînent un grand nombre de lignes, totalResults peut être supérieur à itemsPerPage .
Pour en savoir plus sur totalResults et itemsPerPage pour les requêtes volumineuses, consultez la page Paging.
|
startDate |
string |
Date de début de la requête de données, spécifiée par le paramètre start-date . |
endDate |
string |
Date de fin de la requête de données, spécifiée par le paramètre end-date . |
selfLink |
string |
Lien vers cette page des résultats de cette requête de données. |
previousLink |
string |
Lien vers la page de résultats précédente pour cette requête de données. |
nextLink |
string |
Lien vers la page de résultats suivante pour cette requête de données. |
profileInfo |
object |
Informations sur la vue (profil) pour laquelle les données ont été demandées. Les données de vue (profil) sont disponibles via l'API Management de Google Analytics. |
profileInfo.profileId |
string |
ID de la vue (profil), par exemple 1174 . |
profileInfo.accountId |
string |
ID du compte auquel appartient cette vue (profil), par exemple 30481 . |
profileInfo.webPropertyId |
string |
ID de propriété Web auquel appartient cette vue (profil), par exemple UA-30481-1 . |
profileInfo.internalWebPropertyId |
string |
ID interne de la propriété Web à laquelle appartient cette vue (profil), par exemple UA-30481-1 . |
profileInfo.profileName |
string |
Nom de la vue (profil). |
profileInfo.tableId |
string |
ID de la table (vue) composé de "ga:" suivi de l'ID de la vue (profil). |
containsSampledData |
boolean |
Vrai si la réponse contient des données échantillonnées. |
sampleSize |
string |
Nombre d'échantillons utilisés pour calculer les données échantillonnées. |
sampleSpace |
string |
Taille totale de l'espace d'échantillonnage. Indique la taille totale de l'espace disponible dans lequel les échantillons ont été sélectionnés. |
columnHeaders[] |
list |
En-têtes de colonne qui répertorient les noms des dimensions, suivis des noms des métriques. L'ordre des dimensions et des métriques est le même que celui spécifié dans la requête via les paramètres metrics et dimensions . Le nombre d'en-têtes correspond au nombre de dimensions et au nombre de métriques. |
columnHeaders[].name |
string |
Nom de la dimension ou de la métrique. |
columnHeaders[].columnType |
string |
Type de colonne. METRIC DIMENSION ou MÉTRIQUE. |
columnHeaders[].dataType |
string |
Type de données. Les en-têtes de colonne de dimension ne comportent que le type de données STRING . Les en-têtes de colonnes de métriques comportent des types de données pour les valeurs de métriques telles que INTEGER , PERCENT , TIME , CURRENCY , FLOAT , etc. Consultez la réponse de l'API des métadonnées pour connaître tous les types de données possibles.
|
totalsForAllResults |
object |
Nombre total de valeurs des métriques demandées sous forme de paires clé/valeur de noms et de valeurs de métriques. L'ordre des totaux des métriques est identique à celui spécifié dans la requête. |
dataTable |
object |
Objet Table de données pouvant être utilisé avec Google Charts. |
dataTable.cols[] |
list |
Liste de descripteurs de colonne pour les dimensions, suivie de métriques. L'ordre des dimensions et des métriques est le même que celui spécifié dans la requête via les paramètres metrics et dimensions . Le nombre de colonnes correspond au nombre de dimensions et au nombre de métriques. |
dataTable.cols[].id |
string |
ID, qui peut être utilisé pour faire référence à une colonne spécifique (à la place des index de colonne). L'ID de la dimension ou de la métrique est utilisé pour définir cette valeur. |
dataTable.cols[].label |
string |
Libellé de la colonne (qui peut être affiché par une visualisation). L'ID de la dimension ou de la métrique est utilisé pour définir cette valeur. |
dataTable.cols[].type |
string |
Type de données de cette colonne. |
dataTable.rows[] |
list |
Lignes de données Analytics au format Tableau de données, où chaque ligne est un objet contenant une liste de valeurs de cellules pour les dimensions suivies de métriques. L'ordre des dimensions et des métriques est le même que celui spécifié dans la requête. Chaque cellule comporte une liste de N champs, où N = le nombre de dimensions + le nombre de métriques. |
Codes d'erreur
L'API Core Reporting renvoie un code d'état HTTP 200
si une requête aboutit. Si une erreur se produit lors du traitement d'une requête, l'API renvoie un code d'erreur et une description.
Chaque application qui utilise l'API d'analyse doit mettre en œuvre la bonne logique de traitement des erreurs. Pour en savoir plus sur les codes d'erreur et sur la façon de les gérer, consultez le guide de référence sur les réponses d'erreur.
Essayer
Vous pouvez essayer d'envoyer des requêtes à l'API Core Reporting.
-
Pour afficher les combinaisons valides de métriques et de dimensions dans une requête, saisissez des exemples de valeurs pour les paramètres dans l'explorateur de requêtes. Les résultats de l'exemple de requête sont affichés sous forme de table avec les valeurs de toutes les métriques et dimensions spécifiées.
-
Pour effectuer une requête sur des données actives et afficher la réponse au format JSON, essayez la méthode
analytics.data.ga.get
dans l'explorateur d'API Google Data.
Échantillonnage
Google Analytics calcule instantanément certaines combinaisons de dimensions et de métriques. Pour renvoyer les données dans un délai raisonnable, Google Analytics ne peut traiter qu'un échantillon des données.
Vous pouvez spécifier le niveau d'échantillonnage à utiliser pour une requête en définissant le paramètre samplingLevel.
Si une réponse de l'API Core Reporting contient des données échantillonnées, le champ de la réponse containsSampledData
sera true
.
En outre, deux propriétés fournissent des informations sur le niveau d'échantillonnage de la requête: sampleSize
et sampleSpace
.
Ces deux valeurs permettent de calculer le pourcentage de sessions utilisées pour la requête. Par exemple, si sampleSize
est 201,000
et sampleSpace
est 220,000
,le rapport est basé sur (201 000 / 220 000) * 100 = 91,36 % des sessions.
Pour obtenir une description générale de l'échantillonnage et de son utilisation dans Google Analytics, consultez la page Échantillonnage.
Gérer les résultats de données volumineux
Si vous pensez que votre requête renverra un ensemble de résultats volumineux, suivez les consignes ci-dessous pour optimiser votre requête API, éviter les erreurs et limiter les dépassements de quota. Notez que nous définissons un benchmark des performances en autorisant un maximum de sept dimensions et 10 métriques par requête API. Même si certaines requêtes spécifiant un grand nombre de métriques et de dimensions peuvent prendre plus de temps que d'autres, limiter le nombre de métriques demandées n'est pas suffisant pour améliorer les performances des requêtes. Pour des performances optimales, vous pouvez utiliser les techniques suivantes.
Réduire les dimensions par requête
L'API permet de spécifier jusqu'à sept dimensions par requête. Souvent, Google Analytics doit calculer les résultats de ces requêtes complexes à la volée. Cela peut prendre beaucoup de temps si le nombre de lignes obtenues est élevé. Par exemple, l'interrogation de mots clés par ville et par heure peut correspondre à des millions de lignes de données. Vous pouvez améliorer les performances en réduisant le nombre de lignes que Google Analytics doit traiter en limitant le nombre de dimensions dans votre requête.
Diviser la requête par plage de dates
Plutôt que de parcourir les résultats clés d'une longue plage de dates, pensez à former des requêtes distinctes pour une semaine, voire un jour, à la fois. Bien sûr, pour un ensemble de données volumineux, une requête portant sur une seule journée de données peut renvoyer plus de max-results
. Dans ce cas, la pagination ne peut pas être évitée. Toutefois, dans tous les cas, si le nombre de lignes correspondantes pour votre requête est supérieur à max-results
, le fait de séparer la plage de dates peut réduire le temps total nécessaire à la récupération des résultats. Cette approche peut améliorer les performances des requêtes monothread et parallèles.
Paging
Parcourir les résultats peut s'avérer utile pour diviser des ensembles de résultats volumineux en segments gérables. Le champ totalResults
indique le nombre de lignes correspondantes et itemsPerPage
indique le nombre maximal de lignes pouvant être renvoyées dans le résultat.
Si le ratio entre totalResults
et itemsPerPage
est élevé, les requêtes individuelles peuvent prendre plus de temps que nécessaire. Si vous n'avez besoin que d'un nombre limité de lignes, par exemple à des fins d'affichage, il peut être pratique de définir une limite explicite de taille des réponses via le paramètre max-results
. Toutefois, si votre application doit traiter un grand nombre de résultats dans son intégralité, il peut être plus efficace de demander le nombre maximal de lignes autorisées.
Utiliser gzip
Un moyen simple et pratique de réduire la bande passante requise pour chaque requête consiste à activer la compression gzip. Même si la décompression des résultats nécessite un temps CPU supplémentaire, la compression est généralement très avantageuse en termes de coûts de réseau. Pour recevoir une réponse encodée au format gzip, vous devez effectuer deux opérations: définir un en-tête Accept-Encoding
et modifier votre user-agent pour qu'il contienne la chaîne gzip
.
Voici un exemple d'en-têtes HTTP correctement formatés pour activer la compression gzip:
Accept-Encoding: gzip User-Agent: my program (gzip)