在Web SDK中配置页面顶部和底部事件
在投放个性化体验时,网页的加载时间至关重要。 为了最大程度地缩短用户等待个性化内容的时间,Web SDK支持配置页面事件的顶部和底部。
页面事件的顶部和底部描述了一种方法,该方法以异步方式加载页面中的各种元素,同时保持页面加载时间最短:
- 页面顶部事件会在页面开始加载后立即请求进行个性化。
- 页面完成加载时,页面事件底部会记录一次页面查看。
Adobe Analytics会忽略页面事件的顶部,这有助于更准确地记录量度,因为仅记录一次页面点击(页面事件的底部)。
您可以通过两种方式配置页面顶部和底部事件:直接调用Web SDK JavaScript库(alloy()),或在Adobe Experience Platform标记UI中使用Web SDK标记扩展。 标记扩展的发送事件操作包含一个“使用引导式事件”选项,该选项为“请求个性化”(页面顶部)和“收集分析”(页面底部)方案预先配置字段值。 以下每个示例都显示了这两个实施。
页面顶部事件 top-of-page
以下示例配置请求个性化的页面顶部事件,但为自动呈现建议隐藏显示事件。 这些显示事件将改为随页面底部事件一起发送。
| code language-js |
|---|
|
| table 0-row-3 1-row-3 2-row-3 3-row-3 | ||
|---|---|---|
| 参数 | 必需/可选 | 描述 |
type |
必需 | 将此参数设置为decisioning.propositionFetch。 此特殊事件类型告知Adobe Analytics删除此事件。 在使用Customer Journey Analytics时,您还可以设置过滤器以删除这些事件。 有关详细信息,请参阅Adobe Analytics中的Edge Network事件类型。 |
renderDecisions |
必需 | 将此参数设置为true。 此参数可告知Web SDK呈现由Edge Network返回的决策。 |
personalization.sendDisplayEvent |
必需 | 将此参数设置为false。 此参数可停止发送显示事件。 |
在页面顶部触发的规则中配置发送事件操作。 启用使用引导式事件,然后选择请求个性化。 此选项将“Type”锁定到“Decisioning Proposition Fetch”,“将可视化个性化决策”锁定为enabled,将“自动发送显示事件”锁定为disabled。
若要手动设置这些字段,请保留 禁用使用引导式事件 并自行配置每个字段。
页面底部事件示例 bottom-of-page
自动渲染的建议 bottom-auto-rendered
以下示例配置页面底部事件,该事件发送在页面上自动呈现但在页面🔗事件的顶部禁止显示的主张的显示事件。
| code language-js |
|---|
|
| table 0-row-3 1-row-3 2-row-3 | ||
|---|---|---|
| 参数 | 必需/可选 | 描述 |
personalization.includeRenderedPropositions |
必需 | 将此参数设置为true。 此参数允许发送在页面事件顶部禁止显示的显示事件。 |
xdm |
可选 | 使用此对象可以包含您要用于页面底部事件的所有数据。 |
手动渲染的建议 bottom-manually-rendered
以下示例配置页面底部事件,该事件为在页面上手动呈现的建议(即自定义决策范围或表面)发送显示事件。
| code language-js |
|---|
|
| table 0-row-3 1-row-3 2-row-3 3-row-3 | ||
|---|---|---|
| 参数 | 必需/可选 | 描述 |
xdm._experience.decisioning.propositions |
必需 | 此部分定义手动呈现的建议。 必须包括建议id、scope和scopeDetails。 有关详细信息,请参阅管理显示事件。 手动呈现的个性化内容必须包含在页面事件的底部。 |
xdm._experience.decisioning.propositionEventType |
必需 | 将此参数设置为display: 1。 |
xdm |
可选 | 使用此对象可以包含您要用于页面底部事件的所有数据。 |
具有页面顶部和底部事件的单页应用程序 spa-example
在单页应用程序中,必须在每次视图更改时指定视图名称,以便Web SDK在页面顶部呈现正确的个性化并在页面底部记录正确的视图。
第一页查看 spa-first-view
在此示例中,home是初始页面加载时加载的视图。
顶级调用请求对home视图进行个性化,而不记录Analytics点击或触发显示事件。 底部调用记录页面查看并触发禁止显示的显示事件。 在两次调用中包含相同的viewName,以便一致地记录该视图。
| code language-js |
|---|
|
第二页视图 — 选项1 spa-second-view-option-1
在本例中,单个事件便已足够,因为已获取页面的个性化设置。
第二页视图 — 选项2 spa-second-view-option-2
在需要延迟页面事件的底部时(例如,当页面的分析数据在视图更改时未准备就绪时),使用此方法。 分两步处理视图更改:
- 在页面顶部,渲染已获取的建议,而不进行Edge Network调用。
- 分析数据准备就绪后,发送页面底部事件。
在两次调用中包含相同的viewName,以便一致地记录该视图。
在页面顶部调用applyPropositions以呈现新视图的缓存建议。 然后使用includeRenderedPropositions: true调用页面底部的sendEvent,以便触发禁止显示的显示事件。
| code language-js |
|---|
|
GitHub示例 github-sample
合金示例存储库🔗中的top-and-bottom示例演示如何在页面顶部请求个性化并在底部发送分析量度。 下载示例并在本地运行该示例以了解页面顶部和底部事件的工作方式。 此示例直接使用JavaScript库;当您在Web SDK标记扩展中配置等效规则时,同样的模式同样适用。