首页 > 解决方案 > Adobe DTM 将 Unix 时间戳传递给 eVar

问题描述

我想将 Unix 时间戳传递给 DTM 中的命中级别 eVar。我假设我可以像这样传递一些Javascript:

function() {
  var now = new Date();
  return now.getTime();
}

但是,我不确定在 DTM 中的何处传递它。这会在工具设置中的“自定义页面代码”编辑器中传递还是在其他地方传递?

标签: adobe-analyticsadobe-dtm

解决方案


您可以创建自定义代码类型的数据元素。将其命名为类似或其他名称。代码不应包含在函数声明语法中(DTM 已在内部将其包装在函数回调中)。所以只需在代码框中输入以下内容:current_timestamp

var now = new Date();
return now.getTime();

然后在您的 Adob​​e Analytics Tool Config(用于全局变量)中,或在Adob​​e Analytics Config部分的Page LoadEvent BasedDirect Call Rule中。选择您要设置的值,并为值放置(或任何您命名的值,在它的开始/结束处使用。当您开始在值字段中输入时,您应该会看到它显示在下拉列表中)。eVar%current_timestamp%%%

或者,如果您想eVar在其中一个位置的自定义代码框中分配 ,您可以使用以下 javascript 语法,例如(假设eVar1在示例中)。

s.eVar1 = _satellite.getVar('current_timestamp');

请注意,使用此语法时,您不会将数据元素名称包装为%

最后一点。这是客户端代码,因此时间戳将基于用户浏览器的时区设置。因此,例如,来自美国的访问者和来自中国的访问者同时物理访问一个页面(同时服务器请求),将显示两个不同的时间戳,因为它们位于两个不同的时区。

这会在报告中产生一些误导性数据,因此请确保将其按其他基于地理的维度进行分解,或者在数据元素中进行一些额外的数学运算以将时间戳转换为单个时区(例如将其转换为 EST)。在实践中,大多数人会选择他们办公室所在的时区,或者他们的服务器的时区设置。


推荐阅读