clickCollection
clickCollection对象包含多个帮助您控制自动收集的链接数据的变量。 当您想要在数据收集中包含或排除类型的链接时,请使用这些变量。 Web SDK版本2.25.0或更高版本支持此功能。
此变量需要满足以下所有条件:
- 必须启用
clickCollectionEnabled。 - 如果您使用
clickCollection.filterClickDetails,则已弃用的方法onBeforeLinkClickSend必须为空。 - 事件有效负载必须在访客访问期间的
xdm.web.webPageDetails.name中包含一个值。
如果您的实施不满足以上所有要求,则此对象不执行任何操作。
clickCollection对象中有以下属性可用:
属性
类型
描述
internalLinkEnabledboolean确定是否自动跟踪当前域中的链接。 例如,
https://example.com/index.html到https://example.com/product.html将被视为内部链接。externalLinkEnabledboolean确定是否自动跟踪指向外部域的链接。 例如,
https://example.com到https://example.net将被视为外部链接。eventGroupingEnabledboolean确定库是否等到下一个“页面查看”事件才发送链接跟踪数据。 当有效负载中包含以下元素时,库会将事件视为“页面查看”:
xdm.web.webPageDetails.name包含字符串值xdm.web.webPageDetails.pageViews.value大于0
加载“页面查看”事件后,库会将存储的链接跟踪数据与该事件中的其余数据整合在一起。 启用此选项可减少您发送到Adobe的事件总数。 如果internalLinkEnabled被禁用,则此变量不执行任何操作。
sessionStorageEnabledboolean确定链接跟踪数据是否存储在会话存储中而不是存储在本地变量中。 如果
Adobe强烈建议在使用
internalLinkEnabled或eventGroupingEnabled被禁用,则此变量不执行任何操作。Adobe强烈建议在使用
eventGroupingEnabled的单页应用程序之外时启用此变量。 如果在eventGroupingEnabled被禁用时启用了sessionStorageEnabled,则单击到新页面会导致链接跟踪数据丢失,因为它未保留在会话存储中。 由于单页应用程序通常不会导航到新页面,因此SPA页面不需要会话存储。filterClickDetailsfunction一种回调函数,可让您完全控制所收集的链接跟踪数据。 您可以使用此回调函数来更改、模糊处理或中止发送链接跟踪数据。 当您要忽略特定信息(如链接中的个人身份信息)时,此回调很有用。
如果未在configure命令中设置此对象,则此对象的默认设置取决于clickCollectionEnabled的值:
internalLinkEnabled:匹配clickCollectionEnableddownloadLinkEnabled:匹配clickCollectionEnabledexternalLinkEnabled:匹配clickCollectionEnabledeventGroupingEnabled:默认为false;必须显式启用sessionStorageEnabled:默认为false;必须显式启用filterClickDetails:不包含函数;必须显式注册
TIP
Adobe建议在启用
eventGroupingEnabled时启用internalLinkEnabled,因为它减少了计入合同使用情况的事件数。alloy("configure", {
datastreamId: "ebebf826-a01f-4458-8cec-ef61de241c93",
orgId: "ADB3LETTERSANDNUMBERS@AdobeOrg",
clickCollectionEnabled: true,
clickCollection: {
internalLinkEnabled: true,
downloadLinkEnabled: true,
externalLinkEnabled: true,
eventGroupingEnabled: true,
sessionStorageEnabled: true,
filterClickDetails: function(content) {
// If the link is a clickable telephone number, anonymize it
if(content.linkUrl?.includes("tel:")) {
content.linkName = content.linkUrl = "Phone number";
}
// If the link is an email address, anonymize it
if(content.linkUrl?.includes("mailto:")) {
content.linkName = content.linkUrl = "Email address";
}
}
}
});
1ae86b30-e55e-49c1-ab11-9d0356a5f3e1