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.
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 |
---|---|
add-feedback |
Ajoute les commentaires des utilisateurs. |
view-item-list |
Affiche un panneau ou une liste ordonnée de documents. |
view-category-page |
Consulte une page de catégorie, par exemple Accueil > TV > Dramas, Accueil > Films > Action. |
view-item |
Affiche les détails d'un document. |
view-home-page |
Permet d'afficher la page d'accueil. |
search |
Permet de rechercher 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
tagIds
n'est nécessaire que si vous effectuez un test A/B.Le champ
attributionToken
est facultatif. Il permet de mesurer les performances. Les événementssearch
etview-item
gé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-category-page
Les lignes suivantes présentent le format d'événement utilisateur view-category-page
.
Champs minimum requis pour l'objet view-category-page
Les exemples suivants affichent uniquement les champs obligatoires du format d'événement utilisateur view-category-page
.
Bien qu'une seule catégorie soit généralement associée à une page, le champ pageCategories
accepte également une hiérarchie de catégories, que vous pouvez fournir sous forme de liste.
JavaScript Pixel
var user_event = { "eventType": "view-category-page", "userPseudoId": "user-pseudo-id", "eventTime": "2020-01-01T03:33:33.000001Z", "pageInfo": { "pageCategory": "category1 > category2" } };
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": "pageCategory", "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-item
Les lignes suivantes présentent le format de données d'événement utilisateur view-item
.
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 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": "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
.
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
searchQuery
pour les événements de recherche où l'utilisateur a saisi une requête textuelle.Fournissez
pageCategory
lorsque 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 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": "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.