Adobe DTM将Unix时间戳传递给eVar

问题描述 投票:0回答:1

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

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

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

adobe-analytics adobe-dtm
1个回答
2
投票

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

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

然后在Adobe Analytics工具配置中(对于全局变量),或在Adobe Analytics配置部分的页面加载,基于事件或直接调用规则中。选择你想要设置的eVar,并为值,将%current_timestamp%(或任何你命名的,在开头/结尾使用%。当你开始在值字段中输入%时,它会显示在下拉列表中) 。

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

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

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.