Cette page décrit les événements utilisateur pour les applications de recherche et de recommandations personnalisées, y compris les types d'événements utilisateur, les exigences et des exemples pour les types d'événements utilisateur.
Bien que les événements utilisateur ne soient pas obligatoires pour les applications personnalisées, ils sont fortement recommandés.
Il est recommandé d'importer les événements au moins une fois par jour pour maintenir une bonne qualité des données. Lors de l'importation d'événements historiques, assurez-vous que la distribution des données est biaisée vers le code temporel le plus récent. Le nombre d'événements du dernier jour de la période doit être supérieur ou égal au nombre moyen d'événements quotidiens.
Pour obtenir de l'aide concernant l'enregistrement des événements utilisateur, consultez Enregistrer des événements utilisateur en temps réel. Pour importer des événements utilisateur passés de façon groupée, consultez Importer des événements utilisateur historiques.
Types d'événements utilisateur
Vous pouvez enregistrer les types d'événements utilisateur suivants lorsque les utilisateurs finaux parcourent ou recherchent votre site :
| Nom de l'événement utilisateur | Action utilisateur |
|---|---|
view-item-list |
Affiche un panneau ou une liste ordonnée de documents. |
view-item |
Affiche les détails d'un document. |
view-home-page |
Permet d'afficher la page d'accueil. |
search |
Effectue une recherche dans le data store. |
Pour en savoir plus sur l'objet d'événement utilisateur, consultez la documentation de référence de l'API UserEvent.
Exemples et schémas de types d'événements utilisateur
Cette section fournit les formats de données pour chaque type d'événement compatible avec les applications personnalisées. Des exemples sont fournis pour JavaScript Pixel. Pour BigQuery, le schéma de table complet est fourni pour chaque type.
Pour tous les types d'événements utilisateur, le champ userId est facultatif.
Le champ
tagIdsn'est nécessaire que si vous effectuez un test A/B.Le champ
attributionTokenest facultatif. Il permet de mesurer les performances. Les événementssearchetview-itemgénérés à partir des clics sur les recommandations doivent comporter un jeton d'attribution afin de relier les événements aux recommandations qui les ont générés.
Pour en savoir plus sur l'objet User Event, consultez la documentation de référence de l'API UserEvent.
view-item
Les lignes suivantes présentent le format de données d'événement utilisateur view-item.
Exigences d'optimisation pour le Réseau de Recherche concernant les événements view-item
Pour permettre à la recherche d'optimiser automatiquement l'expérience de recherche en fonction des tendances générales des utilisateurs, importez les données suivantes.
Les événements doivent être importés au moins une fois par jour, avec un délai maximal de 24 heures.
| Métrique "Événements" | Volume/Fréquence des événements | Description |
|---|---|---|
Volume d'événements view-item |
250 000 éléments de vue |
Au moins 250 000 éléments de vue sont requis pour optimiser l'expérience de recherche en fonction des événements ingérés. |
Champs minimum requis pour l'objet view-item
Les exemples suivants affichent uniquement les champs obligatoires du format d'événement utilisateur view-item.
Dans la plupart des cas, documents contient les détails du document associé.
JavaScript Pixel
var user_event = {
"eventType": "view-item",
"userPseudoId": "user-pseudo-id",
"eventTime": "2020-01-01T03:33:33.000001Z",
"documents": [{
"id": "document-id"
}]
};
BigQuery
Il s'agit du schéma JSON complet pour ce type d'événement utilisateur. Spécifiez ce schéma lorsque vous créez des tables pour ce type d'événement utilisateur dans BigQuery.
Les modes des champs obligatoires sont définis sur REQUIRED ou REPEATED. Les modes des champs facultatifs sont définis sur NULLABLE.
Notez que eventTime est requis pour l'importation d'événements avec BigQuery. eventTime est une chaîne avec un format d'horodatage.
[ { "name": "eventType", "type": "STRING", "mode": "REQUIRED" }, { "name": "userPseudoId", "type": "STRING", "mode": "REQUIRED" }, { "name": "eventTime", "type": "STRING", "mode": "REQUIRED" }, { "name": "userInfo", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "userId", "type": "STRING", "mode": "NULLABLE" }, { "name": "userAgent", "type": "STRING", "mode": "NULLABLE" } ] }, { "name": "pageInfo", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "pageviewId", "type": "STRING", "mode": "NULLABLE" }, { "name": "uri", "type": "STRING", "mode": "NULLABLE" }, { "name": "referrerUri", "type": "STRING", "mode": "NULLABLE" } ] }, { "name": "attributionToken", "type": "STRING", "mode": "NULLABLE" }, { "name": "documents", "type": "RECORD", "mode": "REPEATED", "fields": [ { "name": "id", "type": "STRING", "mode": "NULLABLE" } ] }, { "name": "tagIds", "type": "STRING", "mode": "REPEATED" }, { "name": "attributes", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "example_text_attribute", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "text", "type": "STRING", "mode": "REPEATED" } ] }, { "name": "example_number_attribute", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "numbers", "type": "NUMERIC", "mode": "REPEATED" } ] } ] } ]
view-home-page
Les lignes suivantes présentent le format d'événement utilisateur view-home-page.
Champs minimum requis pour l'objet view-home-page
Les exemples suivants affichent uniquement les champs obligatoires du format d'événement utilisateur view-home-page.
JavaScript Pixel
var user_event = {
"eventType": "view-home-page",
"userPseudoId": "user-pseudo-id",
"eventTime": "2020-01-01T03:33:33.000001Z",
};
BigQuery
Il s'agit du schéma JSON complet pour ce type d'événement utilisateur. Spécifiez ce schéma lorsque vous créez des tables pour ce type d'événement utilisateur dans BigQuery.
Les modes des champs obligatoires sont définis sur REQUIRED ou REPEATED. Les modes des champs facultatifs sont définis sur NULLABLE.
Notez que eventTime est requis pour importer des événements avec BigQuery. eventTime est une chaîne avec un format d'horodatage.
[ { "name": "eventType", "type": "STRING", "mode": "REQUIRED" }, { "name": "userPseudoId", "type": "STRING", "mode": "REQUIRED" }, { "name": "eventTime", "type": "STRING", "mode": "REQUIRED" }, { "name": "userInfo", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "userId", "type": "STRING", "mode": "NULLABLE" }, { "name": "userAgent", "type": "STRING", "mode": "NULLABLE" } ] }, { "name": "pageInfo", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "pageviewId", "type": "STRING", "mode": "NULLABLE" }, { "name": "uri", "type": "STRING", "mode": "NULLABLE" }, { "name": "referrerUri", "type": "STRING", "mode": "NULLABLE" } ] }, { "name": "attributionToken", "type": "STRING", "mode": "NULLABLE" }, { "name": "documents", "type": "RECORD", "mode": "REPEATED", "fields": [ { "name": "id", "type": "STRING", "mode": "NULLABLE" }, { "name": "quantity", "type": "INT64", "mode": "NULLABLE" } ] }, { "name": "tagIds", "type": "STRING", "mode": "REPEATED" }, { "name": "attributes", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "example_text_attribute", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "text", "type": "STRING", "mode": "REPEATED" } ] }, { "name": "example_number_attribute", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "numbers", "type": "NUMERIC", "mode": "REPEATED" } ] } ] } ]
search
Les lignes suivantes présentent le format d'événement utilisateur search.
Exigences d'optimisation pour le Réseau de Recherche concernant les événements de recherche
Pour permettre à la recherche d'optimiser automatiquement l'expérience de recherche en fonction des tendances générales des utilisateurs, importez les données suivantes.
Les événements doivent être importés au moins une fois par jour, avec un délai maximal de 24 heures.
| Métrique "Événements" | Volume/Fréquence des événements | Description |
|---|---|---|
Volume d'événements search |
100 000 recherches |
Au moins 100 000 recherches sont nécessaires pour optimiser l'expérience de recherche en fonction des événements ingérés. |
Champs minimum requis pour l'objet search
Les exemples suivants affichent uniquement les champs obligatoires du format d'événement utilisateur search.
Au moins l'un des champs searchQuery ou pageCategory doit être renseigné :
Indiquez
searchQuerypour les événements de recherche où l'utilisateur a saisi une requête textuelle.Indiquez
pageCategorylorsque l'utilisateur a accédé aux éléments qui l'intéressent en parcourant les catégories, c'est-à-dire en cliquant dessus au lieu de saisir une requête textuelle.
Le attributionToken est renvoyé avec la requête de recherche ou les résultats de navigation.
documents doit inclure la liste des ID de document présentés à l'utilisateur final sur la page des résultats de recherche.
JavaScript Pixel
var user_event = {
eventType: "search",
userPseudoId: "user-pseudo-id",
eventTime: "2020-01-01T03:33:33.000001Z",
searchInfo: {
searchQuery: "search-query",
},
pageInfo: {
pageCategory: "category1 > category2",
},
attributionToken: "attribution-token",
documents: [
{
id: "document-id1",
},
{
id: "document-id2",
},
]
};
BigQuery
Il s'agit du schéma JSON complet pour ce type d'événement utilisateur. Spécifiez ce schéma lorsque vous créez des tables pour ce type d'événement utilisateur dans BigQuery.
Les modes des champs obligatoires sont définis sur REQUIRED ou REPEATED. Les modes des champs facultatifs sont définis sur NULLABLE.
Notez que eventTime est requis pour l'importation d'événements avec BigQuery. eventTime est une chaîne avec un format d'horodatage.
[ { "name": "eventType", "type": "STRING", "mode": "REQUIRED" }, { "name": "userPseudoId", "type": "STRING", "mode": "REQUIRED" }, { "name": "eventTime", "type": "STRING", "mode": "REQUIRED" }, { "name": "searchInfo", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "searchQuery", "type": "STRING", "mode": "NULLABLE" } ] }, { "name": "pageInfo", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "pageCategory", "type": "STRING", "mode": "NULLABLE" } ] }, { "name": "attributionToken", "type": "STRING", "mode": "NULLABLE" }, { "name": "documents", "type": "RECORD", "mode": "REPEATED", "fields": [ { "name": "id", "type": "STRING", "mode": "NULLABLE" } ] } ]
À propos des informations utilisateur
userPseudoId représente l'identifiant d'utilisateur unique et est requis lorsque vous enregistrez un événement utilisateur.
Les informations sur les utilisateurs (UserInfo) incluses lorsque vous enregistrez un événement utilisateur contiennent la valeur userPseudoId et, si elle est disponible, la valeur userId.
userId est facultatif et peut être utilisé comme identifiant unique et persistant pour un utilisateur sur tous les appareils, chaque fois que ce dernier se connecte à votre site. Lorsque vous enregistrez le userId d'un utilisateur, vos applications de recherche et de recommandation peuvent générer des résultats plus personnalisés pour un utilisateur sur plusieurs appareils, tels qu'un appareil mobile et un navigateur Web.
À propos de l'horodatage
Lorsque vous enregistrez un événement utilisateur, veillez à inclure un horodatage précis de l'événement. Des codes temporels précis permettent de s'assurer que vos événements sont stockés dans le bon ordre. Les codes temporels sont enregistrés automatiquement pour les événements collectés à l'aide du pixel JavaScript. Lorsque vous importez des événements, vous devez spécifier l'horodatage dans le champ eventTime au format indiqué par RFC 3339.
Étapes suivantes
- Découvrez comment enregistrer des événements utilisateur.