在单页面应用程序中重置数据层变量(Google代码管理器)

Pra*_*nay 5 single-page-application google-datalayer

尝试在SPA的移动网站中实现内容分组.

场景如下:当我第一次访问PDP页面时,设置了类别变量,并将其发送到Universal Analytics标记中的内容组.如果在此之后我返回主页,则类别变量不会更新,并且主页也会分组在先前PDP页面的相同内容组下.

此变量仅在我访问另一个PDP页面时更新.

我正在使用自定义事件PageLoad来模仿pageView事件.只是希望数据层变量在连续的PageLoad事件中刷新.

谢谢

dim*_*ime 7

现在有一种重置数据层的记录方法。请参阅数据层文档中的重置。

如果您将一个函数推送到dataLayer,它将允许您访问具有getsetreset语义的对象。特别是对于这个问题,reset是相关的。


che*_*fly 4

有一种未记录的方法可以使用此方法清理整个数据层:

var gtm = window.google_tag_manager['GTM-XXXXXX'];
gtm.dataLayer.reset();
Run Code Online (Sandbox Code Playgroud)

现在您不一定需要这样做,因为您可以undefined在数据层中设置您不再需要的值:

dataLayer.push({
  'please_go_away': undefined
});
Run Code Online (Sandbox Code Playgroud)