如何在DTM中实现SiteCatalyst内置变量'pageType'?

时间:2014-12-05 13:01:27

标签: adobe adobe-analytics

我正在尝试使用DTM(我们用来捕获404错误页面)实现SiteCatalyst的内置变量's.pageType'。

我绝对可以在DTM的s.code中编写这段代码: s.pageType="errorPage"

但问题是可以识别页面是否是404错误页面的条件,只能在页面代码级别识别(根据开发人员的说法,如果出现错误页面,则会抛出异常,这可能是用于在页面上识别这个条件),但是这个逻辑我们不能在DTM中使用。除此之外,在404错误页面上,不应填充pageName变量。 如何做到这一点,因为我从DTM中的数据元素(在“Pageviews& Content”部分中)获取pageName,这将始终在每个页面上触发。

如何实现这一点,请帮帮我。我错过了什么吗?

谢谢, 阿迪

1 个答案:

答案 0 :(得分:4)

听起来就像您的设置一样:

<dtm header tag>

// code that identifies 404 page

<dtm footer tag>

它的听起来就像问题一样,因为数据元素是在DTM top标签​​中评估的第一件事,所以在知道它是404页面之前,你的页面名称数据元素正在被评估。

我要做的是在识别它是404页面的代码中,使它输出一个全局的js var,将页面标记为404页面,例如window.is404Page=true;

从这里开始,现在的总体目标是保持现有数据元素和pageName分配不变,但稍后会用空字符串覆盖它(而不是弹出pageType)。您没有真正提供有关实际设置pageName的位置的任何详细信息,因此以下是一些应指向正确方向的方案:

场景1:pageName在网页浏览中设置&amp;主工具配置中的内容

1.a:图书馆管理中,如果您已将AA设置为页面底部,则转到自定义页面代码部分,确保将其设置为在UI Sttings&#34;之后执行&#34; (如果您已经在使用此代码框,并且必须将其设置为在UI设置之前执行,则跳过此选项并转到 1.b )。单击“打开编辑器”并添加以下内容:

if (window.is404Page) {
  s.pageName='';
  s.pageType='errorPage';
}

1.b:图书馆管理中,如果您已将AA设置为 Page Top ,则需要创建一个页面加载规则(或使用将在每个页面视图上触发的现有规则),在页面底部,dom准备好或onload上进行评估(基本上除了页面顶部之外的任何内容 - 这里指向的是将其转换为eval < / em> is404Page已设置)。在规则中,转到 Adob​​e Analytics&gt;自定义网页代码并添加 1.a 的代码。

场景2:pageName在页面加载规则中设置

如果您的页面加载规则设置为触发&#34;页面顶部&#34;那么你需要创建一个单独的规则,然后触发。请参阅 1.b。

2.a:如果您使用%dataElement%语法在DTM字段中设置pageName,请将 1.a 中的代码添加到自定义页码部分。

2.b:如果您要从自定义网页代码部分设置pageName,请使用例如s.pageName=_satellite.getVar('dataElement');然后只需在其下方直接添加 1.a 的代码即可。

TL; DR:设置全局js var作为页面代码中的标志,确定404页面是否在您的DTM代码中查找以覆盖{{1}在设置js标志var之后,在DTM自定义代码部分中编写pageName并获得eval&#39; d