本页介绍了搜索和推荐应用的用户事件,包括用户事件类型、要求和用户事件类型示例。
以下应用类型支持用户事件:
- 媒体应用:媒体搜索和推荐应用。如需了解详情,请参阅媒体文档和数据存储区简介。
- 通用应用:不限行业的搜索和推荐应用。如需详细了解构成通用应用的数据类型,请参阅应用和数据存储区简介。
下表列出了需要用户事件的应用类型。Google 建议您上传所有应用类型的用户事件,用户事件越多,搜索和推荐质量就越高。
应用类型 | 是否需要用户事件? |
---|---|
媒体推荐 | 是 |
媒体搜索 | 否,但强烈建议 |
通用建议 | 否,但强烈建议 |
宽泛搜索 | 否,但强烈建议 |
如需有关记录用户事件方面的帮助,请参阅记录实时用户事件。
根据您所用搜索应用或推荐应用的类型,选择以下任一项即可查看其相关用户事件的详细信息:
用户事件类型
当最终用户浏览您的网站时,您可以记录以下类型的用户事件:
用户事件名称 | 用户操作 |
---|---|
view-category-page |
查看类别页面,例如“首页”>“电视”>“剧情片”“首页”>“电影”>“动作片”。 |
view-item |
查看文档的详细信息。 |
view-home-page |
查看首页。 |
search |
搜索数据存储区。 |
如需详细了解 UserEvent
对象,请参阅 UserEvent
API 参考文档。
用户事件类型示例和架构
本部分提供了 通用应用。
同时还提供了 JavaScript Pixel 的示例。对于 BigQuery,提供了每种类型的完整表架构。
对于所有用户事件类型,userId
是可选的。
请注意:
- 只有在您运行 A/B 实验时,才需要
tagIds
字段。 attributionToken
字段为可选字段;它用于衡量效果。 通过推荐点击生成的search
和view-item
事件应包含归因令牌,以便将这些事件关联回生成它们的推荐。
如需详细了解用户事件对象,请参阅 UserEvent
API 参考文档。
view-category-page
下面显示了 view-category-page
用户事件格式。
至少需要 view-category-page 对象
以下示例仅显示 view-category-page
用户事件格式的必填字段。
虽然通常只有一个网页会关联一个类别,但 pageCategories
字段还支持类别层次结构,您可以将该层次结构作为列表提供。
JavaScript 像素
var user_event = { "eventType": "view-category-page", "userPseudoId": "user-pseudo-id", "eventTime": "2020-01-01T03:33:33.000001Z", "pageInfo": { "pageCategory": "category1 > category2" } };
BigQuery
这是此用户事件类型的完整 JSON 架构。在 BigQuery 中为此用户事件类型创建表时指定此架构。
必填字段的模式设置为 REQUIRED
或 REPEATED
。可选字段的模式设置为 NULLABLE
。
请注意,要使用 BigQuery 导入事件,必须使用 eventTime
。eventTime
是时间戳格式的字符串。
[ { "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
下面显示了 view-item
用户事件数据格式。
至少需要 view-item 对象
以下示例仅显示 view-item
用户事件格式的必填字段。
在大多数情况下,documents
包含关联文档的详细信息。
JavaScript 像素
var user_event = { "eventType": "view-item", "userPseudoId": "user-pseudo-id", "eventTime": "2020-01-01T03:33:33.000001Z", "documents": [{ "id": "document-id" }] };
BigQuery
这是此用户事件类型的完整 JSON 架构。在 BigQuery 中为此用户事件类型创建表时指定此架构。
必填字段的模式设置为 REQUIRED
或 REPEATED
。可选字段的模式设置为 NULLABLE
。
请注意,要使用 BigQuery 导入事件,必须使用 eventTime
。eventTime
是时间戳格式的字符串。
[ { "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
下面显示了 view-home-page
用户事件格式。
至少需要 view-home-page 对象
以下示例仅显示 view-home-page
用户事件格式的必填字段。
JavaScript 像素
var user_event = { "eventType": "view-home-page", "userPseudoId": "user-pseudo-id", "eventTime": "2020-01-01T03:33:33.000001Z", };
BigQuery
这是此用户事件类型的完整 JSON 架构。在 BigQuery 中为此用户事件类型创建表时指定此架构。
必填字段的模式设置为 REQUIRED
或 REPEATED
。可选字段的模式设置为 NULLABLE
。
请注意,要使用 BigQuery 导入事件,必须使用 eventTime
。eventTime
是时间戳格式的字符串。
[ { "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
用户事件格式。
至少需要 search 对象
以下示例仅显示 search
用户事件格式的必填字段。
至少需要 searchQuery
和 pageCategory
字段中的一个字段:
对于用户输入文本查询的搜索事件,请提供
searchQuery
。当用户通过浏览(即点击类别,而不是输入文本查询)找到感兴趣的内容时,提供
pageCategory
。
documents
应包含在搜索结果页中向最终用户显示的文档 ID 列表。
JavaScript 像素
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
这是此用户事件类型的完整 JSON 架构。在 BigQuery 中为此用户事件类型创建表时指定此架构。
必填字段的模式设置为 REQUIRED
或 REPEATED
。可选字段的模式设置为 NULLABLE
。
请注意,要使用 BigQuery 导入事件,必须使用 eventTime
。eventTime
是时间戳格式的字符串。
[ { "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" } ] } ]
关于用户信息
userPseudoId
表示唯一身份用户标识符,当您记录用户事件时,需要此参数。
记录用户事件时包括的用户信息 (UserInfo
) 包含 userPseudoId
值和 userId
值(如果有)。userId
是可选项,每当用户登录您的网站时,它可用作用户在不同设备上的唯一永久性标识符。当您记录用户的 userId
时,您的搜索和推荐应用可以针对使用多台设备(例如移动设备和网络浏览器)的一个用户生成个性化结果。
关于时间戳
当您记录用户事件时,请确保添加事件发生的确切时间戳。准确的时间戳可确保事件以正确的顺序存储。对于使用 JavaScript Pixel 收集的事件,时间戳会被自动记录。导入事件时,您必须按照 RFC 3339 指定的格式在 eventTime
字段中提供时间戳。
后续步骤
- 了解如何记录用户事件。