Adobe DTM将Unix时间戳传递给eVar

时间:2019-02-13 18:59:16

标签: adobe-analytics adobe-dtm

我想将Unix时间戳传递到DTM中达到最高水平的eVar。我认为我可以像这样传递一些Javascript:

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

但是,我不确定在DTM中将其传递到哪里。是否可以在“工具设置”或其他地方的“自定义页面代码”编辑器中传递它?

1 个答案:

答案 0 :(得分:2)

您可以创建自定义代码类型的数据元素。将其命名为current_timestamp之类的名称。该代码不应使用函数声明语法进行包装(DTM已在内部将其包装在函数回调中)。因此,只需在代码框中输入以下内容即可:

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

然后在Adobe Analytics 工具配置(用于全局变量)中,或在页面加载基于事件中直接呼叫规则,位于Adobe Analytics Config 部分中。选择您要设置的eVar,然后将%current_timestamp%(或您命名的名称,使用%放在开头/结尾)作为值。您应该看到它显示在当您开始在值字段中输入%时出现一个下拉列表)。

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

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

请注意,使用这种语法,您不会使用%

包装数据元素名称

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

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