Cette page décrit le mécanisme de transport et les paramètres de données du protocole de mesure.
Transport
Toutes les données doivent être envoyées de manière sécurisée à l'aide de requêtes HTTPS POST.
Envoyez des requêtes au point de terminaison suivant :
https://www.google-analytics.com/mp/collect
Si vous souhaitez que vos données soient collectées dans l'UE, utilisez plutôt le point de terminaison suivant :
https://region1.google-analytics.com/mp/collect
Voici un exemple de requête POST :
POST /mp/collect HTTP/1.1
HOST: www.google-analytics.com
Content-Type: application/json
PAYLOAD_DATA
Remplacez PAYLOAD_DATA par Payload de la requête.
Le protocole de mesure renvoie un code d'état 2xx si la requête HTTP est reçue. Le protocole de mesure ne renvoie pas de code d'erreur si la charge utile est mal formée, ou si les données sont incorrectes ou ne sont pas traitées par Google Analytics.
Charge utile
La charge utile se compose de deux parties :
- Paramètres de requête.
- Corps JSON
POST.
Paramètres de requête
| Nom du paramètre | Description |
|---|---|
|
Obligatoire. Le code secret de l'API de l'UI Google Analytics.
Vous le trouverez sous Administration > Flux de données > Choisissez votre flux > Protocole de mesure > Créer. Privé pour votre organisation. Doit être mis à jour régulièrement pour éviter le spam excessif. |
Corps POST JSON
| Clé | Type | Description |
|---|---|---|
|
string |
Facultatif. identifiant unique d'un utilisateur. Pour en savoir plus sur cet identifiant, consultez User-ID pour l'analyse multiplate-forme. Ne peut contenir que des caractères UTF-8. |
|
number |
Facultatif. Code temporel Unix en microsecondes, et non en millisecondes. Représente l'heure de l'événement. Ne doit être défini que pour enregistrer les événements passés. Peut être remplacé par |
|
object |
Facultatif. Les propriétés utilisateur pour la mesure. |
|
object |
Facultatif. Données fournies par l'utilisateur. |
|
object |
Facultatif. Paramètres de consentement pour la demande. Pour en savoir plus, consultez la section Consentement. |
|
boolean |
Facultatif. Définissez la valeur sur true pour indiquer que les données de l'utilisateur ne doivent pas être utilisées pour les annonces personnalisées.
|
|
object |
Facultatif. Définit les informations géographiques de la requête dans un format structuré. |
|
string |
Facultatif. Adresse IP utilisée par Google Analytics pour obtenir des informations géographiques pour la requête. |
|
object |
Facultatif. Définit les informations sur l'appareil pour la requête dans un format structuré. |
|
string |
Facultatif. Définit le comportement de validation pour la requête.
|
|
array |
Obligatoire. Tableau d'éléments event. Vous pouvez envoyer jusqu'à 25 événements par requête. Consultez la documentation de référence sur les événements pour connaître tous les événements valides.
|
|
string |
Obligatoire. Nom de l'événement. Consultez Événements pour découvrir toutes les options. |
|
object |
Facultatif. Paramètres de l'événement. Consultez Événements pour connaître les paramètres suggérés pour chaque événement et Paramètres d'événement courants. |
Paramètres d'événement courants
Le protocole de mesure comporte les paramètres d'événement courants suivants :
| Clé | Type | Description |
|---|---|---|
|
number |
Nombre positif qui identifie la session utilisateur. Nécessaire pour plusieurs cas d'utilisation courants.
Doit correspondre à l'expression régulière ^\d+$.
|
|
number |
Durée de l'engagement utilisateur, en millisecondes, pour l'événement. Utilisez une valeur qui reflète la durée d'engagement de l'utilisateur depuis l'événement précédent. |
|
number |
epoch Unix (en microsecondes) de l'événement. Utilisez ce paramètre pour remplacer l'horodatage de l'événement. |
Consentement
L'attribut consent configure les types et les états de consentement.
Si vous ne spécifiez pas consent, Google Analytics utilise les paramètres de consentement des interactions en ligne correspondantes pour l'instance client ou d'application.
| Clé | Type | Description |
|---|---|---|
|
string |
Facultatif. Consentement pour l'envoi à Google des données utilisateur provenant des événements et des propriétés utilisateur de la demande à des fins publicitaires.
|
|
string |
Facultatif. Consentement de l'utilisateur pour la publicité personnalisée.
|
Informations géographiques
Les attributs user_location et ip_override fournissent des informations géographiques.
user_location est prioritaire sur ip_override.
Voici la structure du champ user_location. Fournissez autant d'attributs que possible. Nous vous recommandons d'utiliser au moins country_id et region_id.
| Clé | Type | Description |
|---|---|---|
|
string |
Facultatif. Le nom de la ville. Si la ville se trouve aux États-Unis, définissez également country_id et region_id afin que Google Analytics puisse mapper correctement le nom de la ville à un ID de ville.
|
|
string |
Facultatif. Pays et subdivision ISO 3166. Par exemple, US-CA, US-AR, CA-BC, GB-LND, CN-HK.
|
|
string |
Facultatif. Pays au format ISO 3166-1 alpha-2. Par exemple, US, AU, ES, FR.
|
|
string |
Facultatif. Sous-continent au format UN M49. Par exemple, 011, 021, 030, 039.
|
|
string |
Facultatif. Continent au format UN M49. Par exemple, 002, 019, 142, 150.
|
Voici un exemple de user_location :
"user_location": {
"city": "Mountain View",
"region_id": "US-CA",
"country_id": "US",
"subcontinent_id": "021",
"continent_id": "019"
}
ip_override est une alternative à user_location. Si vous envoyez ip_override, Google Analytics déduit les informations géographiques de l'adresse IP.
Si vous envoyez user_location, Google Analytics ignore ip_override.
Si vous n'envoyez pas user_location ni ip_override, Google Analytics déduit les informations géographiques des événements de taggage à l'aide de
client_id.
Google Analytics applique les paramètres de données de localisation précises de la propriété à la requête, quelles que soient les informations géographiques envoyées.
Informations sur l'appareil
Pour envoyer des informations sur l'appareil, utilisez le champ device. Voici la structure du champ device. Fournissez autant d'attributs que possible. Nous vous recommandons de définir au moins category.
| Clé | Type | Description |
|---|---|---|
|
string |
Facultatif. Catégorie de l'appareil. Par exemple, desktop, tablet, mobile, smart TV.
|
|
string |
Facultatif. Langue au format ISO 639-1. Par exemple, en, en-US.
|
|
string |
Facultatif. Résolution de l'appareil, au format WIDTHxHEIGHT. Par exemple, 1280x2856,
1080x2340.
|
|
string |
Facultatif. Système d'exploitation ou plate-forme. Par exemple, MacOS.
|
|
string |
Facultatif. Version du système d'exploitation ou de la plate-forme. Par exemple, 13.5.
|
|
string |
Facultatif. Modèle de l'appareil. Par exemple, Pixel 9 Pro, Samsung Galaxy S24.
|
|
string |
Facultatif. Marque de l'appareil. Par exemple, Google, Samsung.
|
|
string |
Facultatif. Marque ou type de navigateur. Par exemple, Chrome, Firefox.
|
|
string |
Facultatif. Version du navigateur. Par exemple, 136.0.7103.60, 5.0.
|
L'extrait suivant montre un exemple de paramètres device :
"device": {
"category": "mobile",
"language": "en",
"screen_resolution": "1280x2856",
"operating_system": "Android",
"operating_system_version": "14",
"model": "Pixel 9 Pro",
"brand": "Google",
"browser": "Chrome",
"browser_version": "136.0.7103.60"
}
Que vous spécifiiez Google Analytics applique les paramètres de données détaillées sur les appareils de la propriété à la requête.
Comportement de validation
L'attribut validation_behavior contrôle la façon dont le protocole de mesure valide le contenu de la requête.
- La validation
RELAXEDne rejette que les requêtes mal formées. Il peut toujours accepter les événements et les paramètres dont les noms de champs ne sont pas valides ou dont les données ne sont pas du bon type, mais il ignore les paramètres qui dépassent les limites. Le protocole de mesure utilise la validationRELAXEDpar défaut. - La validation
ENFORCE_RECOMMENDATIONSrejette les paramètres d'événement et d'article qui ne sont pas du bon type ou qui contiennent des paramètres qui dépassent les limites. De plus,ENFORCE_RECOMMENDATIONSrejette toute propriété d'événement ou d'utilisateur dont le code temporel ne se situe pas dans les dernières 72 heures.
Nous recommandons l'approche suivante :
Utilisez
ENFORCE_RECOMMENDATIONSlorsque vous validez des événements pour obtenir autant de commentaires que possible sur les problèmes potentiels liés à vos demandes.Vous pouvez également valider les requêtes à l'aide de l'outil de création d'événements, car il spécifie
ENFORCE_RECOMMENDATIONSlors de la validation des requêtes.Ne spécifiez pas
validation_behaviorlorsque vous envoyez des événements pour minimiser les données rejetées par le protocole de mesure.Si vous souhaitez privilégier la validation stricte par rapport à la collecte de données lorsque vous envoyez une requête particulière, ajoutez le champ
validation_behavioret définissez-le surENFORCE_RECOMMENDATIONS.
Paramètres personnalisés
Vous pouvez inclure des paramètres personnalisés de portée utilisateur, événement et article dans une charge utile du Measurement Protocol.
- Des paramètres personnalisés de portée utilisateur peuvent être inclus dans
user_properties. - Des paramètres personnalisés de portée événement peuvent être inclus dans
events[].params. - Des paramètres personnalisés de portée article peuvent être inclus dans
items.
Valeurs recommandées pour certains événements
Certains événements ont des paramètres recommandés. Consultez Événements pour connaître les paramètres recommandés pour tous les événements acceptés.
Noms réservés
Certains noms d'événements, de paramètres et de propriétés utilisateur sont réservés et ne peuvent pas être utilisés :
Noms d'événements réservés
Les noms d'événements suivants sont réservés et ne peuvent pas être utilisés :
ad_activeviewad_clickad_exposuread_queryad_rewardadunit_exposureapp_clear_dataapp_exceptionapp_installapp_removeapp_store_refundapp_updateapp_upgradedynamic_link_app_opendynamic_link_app_updatedynamic_link_first_openerrorfirebase_campaignfirebase_in_app_message_actionfirebase_in_app_message_dismissfirebase_in_app_message_impressionfirst_openfirst_visitnotification_dismissnotification_foregroundnotification_opennotification_receivenotification_sendos_updatesession_startuser_engagement
De plus, les événements ad_impression, in_app_purchase et screen_view ne sont autorisés que pour les flux d'applications.
Noms de paramètres réservés
Les noms de paramètres suivants sont réservés et ne peuvent pas être utilisés :
firebase_conversion
Les noms de paramètres ne peuvent pas commencer par :
_ (underscore)firebase_ga_google_gtag.
Noms de propriétés utilisateur réservés
Les noms de propriétés utilisateur suivants sont réservés et ne peuvent pas être utilisés :
first_open_timefirst_visit_timelast_deep_link_referreruser_idfirst_open_after_install
De plus, les noms de propriétés utilisateur ne peuvent pas commencer par :
_ (underscore)firebase_ga_google_