Cette page décrit les événements utilisateur pour les applications multimédias, y compris les événements utilisateur les types d'événements utilisateur, les exigences et des exemples.
L'enregistrement des événements utilisateur est nécessaire pour les applications de recommandations de contenus multimédias. Médias Les applications de recommandations utilisent des événements utilisateur en temps réel pour générer des recommandations. Les autres types d'applications ne nécessitent pas d'événements utilisateur.
Le tableau suivant indique les types d'applications pour lesquels vous devez importer des événements utilisateur :
Type d'application | Événements utilisateur requis ? |
---|---|
Recommandations de contenus multimédias | Oui |
Recherche multimédia | Non, mais vivement recommandé |
Recommandations génériques | Non |
Recherche générique | Non, mais vivement recommandé |
Pour obtenir de l'aide concernant l'enregistrement des événements utilisateur, consultez Enregistrez des événements utilisateur en temps réel.
Types d'événements utilisateur
Vous pouvez enregistrer les types d'événements utilisateur suivants lorsque des utilisateurs finaux parcourent votre site:
Nom de l'événement utilisateur | Action utilisateur |
---|---|
view-category-page | Affiche une page de catégorie, par exemple Accueil > TV > Drames ou Accueil > Films > Action. |
view-item | Affiche la page d'informations d'un document. |
view-home-page | Permet d'afficher la page d'accueil. |
search | Recherche dans le data store. |
lecture de contenus multimédias | Cliquez sur le bouton de lecture d'un élément multimédia. |
media-complete | Arrêt de la lecture d'un élément multimédia, ce qui signifie que la lecture est terminée. |
Pour en savoir plus sur l'objet UserEvent
, consultez la
Documentation de référence de l'API UserEvent
Exigences et bonnes pratiques concernant les événements utilisateur pour les applications multimédias
Les tableaux suivants répertorient les exigences et les bonnes pratiques pour les types d'événements utilisateur utilisés par les applis de recommandations de contenus multimédias. Vérifiez que vos événements utilisateur répondent à ces exigences afin que votre application puisse générer des résultats de qualité.
Consultez également À propos des types de recommandations d'applications multimédias, qui répertorie les les types d'événements utilisateur nécessaires en fonction du type de recommandation et que vous prévoyez d'utiliser.
Priorité des types d'événements pour les recommandations de contenus multimédias
Le tableau suivant décrit la priorité des types d'événements utilisateur pour les recommandations multimédias. Certains événements utilisateur sont requis pour utiliser les recommandations multimédias. D'autres sont recommandés pour améliorer vos résultats, mais ce n'est pas obligatoire.
Priorité | Événements utilisateur |
---|---|
Obligatoire pour le test en direct initial des recommandations de médias | |
Important pour améliorer la qualité des résultats des recommandations de médias au fil du temps |
Exigences concernant les recommandations de médias
Assurez-vous que vos événements utilisateur répondent aux exigences suivantes les applications de recommandations de médias peuvent générer des résultats de qualité.
Type d'événement | Exigence | Impact |
---|---|---|
Tous les événements |
N'incluez pas de données synthétiques ni d'événements en double. |
Les événements synthétiques ou en double ont un impact négatif sur la qualité des résultats peut vous empêcher de déployer votre application. Les événements en double peuvent entraîner des valeurs de métriques incorrectes. |
Incluez au moins 100 pseudo-identifiants utilisateur uniques pour chaque type d'événement ingéré. |
Les applications de recommandations de médias disposent ainsi de suffisamment de données pour générer des résultats de qualité. |
|
Les pseudo-ID utilisateur doivent être formatés exactement de la même manière pour l'importation ou l'enregistrement des événements, ainsi que dans les requêtes de recommandations multimédias. |
L'utilisation d'un format cohérent pour les pseudo-ID utilisateur aide les applications de recommandations multimédias à identifier correctement les tendances des visiteurs et à fournir des résultats de meilleure qualité en fonction du comportement des utilisateurs. |
|
Le champ |
Un événement qui inclut un document sans
Champ |
|
Les documents inclus dans les événements doivent exister dans votre magasin de données. |
Le ratio d'événements non associés doit être le plus bas possible. Un ratio élevé peut avoir un impact négatif sur la qualité des résultats. |
|
Certains événements utilisateur doivent avoir le même pseudo-ID utilisateur. |
Pour créer des historiques de séquences de comportement valides, les applications de recommandations multimédias doivent pouvoir voir plusieurs événements avec le même pseudo-ID utilisateur.
Par exemple, |
|
view-item |
N'incluez qu'un seul document par événement. |
Vous ne pouvez pas utiliser cet événement s'il n'existe aucun document. Si plusieurs documents sont inclus, le format de l'événement est incorrect et ne peut pas être utilisé. |
media-play |
N'incluez qu'un seul document par événement. |
Si plusieurs documents sont inclus, le format de l'événement est incorrect et ne peut pas être utilisée. |
Exemples et schémas de types d'événements utilisateur
Cette section présente les formats de données pour chaque type d'événement compatible avec les des recommandations de médias.
Des exemples pour un pixel JavaScript sont fournis. 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.
Remarques :
- Le champ
tagIds
n'est nécessaire que si vous effectuez un test A/B. - Le champ
attributionToken
est facultatif. il sert à mesurer les performances.search
etview-item
événements générés à partir des recommandations de médias les clics doivent disposer d'un jeton d'attribution permettant de lier les événements à les recommandations qui les ont générées.
Pour en savoir plus sur l'objet événement utilisateur, consultez les
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
.
Objet page-catégorie-vue minimum requis
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
dans BigQuery. eventTime
est une chaîne au 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
.
Objet view-item minimum requis
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
dans BigQuery. eventTime
est une chaîne au 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
.
Objet view-home-page minimal requis
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
dans 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
.
Vous devez renseigner au moins l'un des champs searchQuery
ou pageCategory
:
Fournissez
searchQuery
pour les événements de recherche où l'utilisateur a saisi du texte requête.Fournissez
pageCategory
lorsque l'utilisateur a accédé aux éléments qui l'intéressent en c'est-à-dire cliquer sur les catégories au lieu de saisir requête.
documents
doit inclure la liste des ID de document présentés à l'utilisateur final dans
la page de 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", }, 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": "documents", "type": "RECORD", "mode": "REPEATED", "fields": [ { "name": "id", "type": "STRING", "mode": "NULLABLE" } ] } ]
media-play
Les lignes suivantes présentent le format d'événement utilisateur media-play
.
Champs minimum requis pour l'objet media-play
Les exemples suivants affichent uniquement les champs obligatoires du format d'événement utilisateur media-play
.
JavaScript Pixel
var user_event = { "eventType": "media-play", "userPseudoId": "user-pseudo-id", "eventTime": "2020-01-01T03:33:33.000001Z", "documents": [ { "id": "document-id1" } ] };
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 au 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" } ] } ] } ]
multimédia terminé
Les lignes suivantes présentent le format d'événement utilisateur media-complete
.
Objet Media-complete minimal requis
Les exemples suivants affichent uniquement les champs obligatoires du format d'événement utilisateur media-complete
.
JavaScript Pixel
var user_event = { "eventType": "media-complete", "userPseudoId": "user-pseudo-id", "eventTime": "2020-01-01T03:33:33.000001Z", "documents": [ { "id": "document-id1" } ], "mediaInfo": { "mediaProgressDuration": "65s", "mediaProgressPercentage": 1.2 } };
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
dans BigQuery. eventTime
est une chaîne au 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" } ] } ] }, { "name": "mediaInfo", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "mediaProgressDuration", "type": "STRING", "mode": "NULLABLE" }, { "name": "mediaProgressPercentage", "type": "NUMERIC", "mode": "NULLABLE" } ] } ]
Attributs personnalisés
Vous pouvez intégrer des attributs et des fonctionnalités personnalisés supplémentaires pour les événements utilisateur. Ce
peut permettre d'obtenir des recommandations améliorées et plus spécifiques pour vos utilisateurs lorsque vous
utilisez les recommandations de médias. Pour ajouter des attributs personnalisés, utilisez attributes
lorsque vous
enregistrer un événement utilisateur.
Si vous fournissez des attributs personnalisés pour les événements utilisateur ingérés, il est important de les inclure également dans les événements utilisateur que vous associez aux requêtes de recommandation. La mise en forme des attributs personnalisés doit être cohérente entre les événements importés et les événements fournis avec les requêtes de recommandation. Cela permet aux applications de recommandations multimédias d'utiliser ces attributs personnalisés pour améliorer la qualité.
Vous pouvez fournir des valeurs de texte personnalisées à l'aide du champ text
ou des valeurs numériques personnalisées à l'aide du champ numbers
.
Par exemple, voici la section attributes
d'une requête d'enregistrement d'un événement utilisateur :
attributes: { user_age: {text: ["teen", "young adult"]}, user_location: {text: ["CA"]}, user_zip: {numbers: [90210]} }
À propos des informations utilisateur
userPseudoId
représente l'identifiant d'utilisateur unique et est requis lorsque vous enregistrez un événement utilisateur.
Informations sur l'utilisateur (UserInfo
) incluses lorsque vous enregistrez un utilisateur
contient la valeur userPseudoId
et, le cas échéant, 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
pour un utilisateur, les applications de recommandations de médias peuvent générer des résultats plus personnalisés
résultats pour un même utilisateur sur plusieurs appareils (un appareil mobile et un
un navigateur Web.
À propos de l'horodatage
Lorsque vous enregistrez un événement utilisateur, veillez à inclure un horodatage précis de l'événement. L'horodatage précis permet de s'assurer que vos événements sont stockés
dans le bon ordre. Les codes temporels des événements collectés sont automatiquement enregistrés
à l'aide du pixel JavaScript. Lorsque vous importez des événements, vous devez indiquer
code temporel dans le champ eventTime
au format spécifié par RFC
3339.
Étape suivante
- Découvrez comment enregistrer des événements utilisateur.