在谷歌标签管理器中添加时间戳到点击事件

1 google-analytics google-tag-manager

目前,在 Google Analytics 的用户报告视图中,我获得每个事件的时间戳,但只能精确到分钟,而不是秒。我在 GA 中找不到更改该列的设置。

我的目标是通过 GTM 传递这个时间戳,也许作为“标签标签”,以便我可以在 GA 中看到它。

如何在 GTM 中创建时间戳变量?

Eik*_*rff 5

创建一个自定义 javascript 变量(即包含函数的变量,而不是仅读取全局变量的“javascript”变量),并为其指定一个名称,例如“timestamp”。

自定义 JavaScript 变量是具有返回值的匿名函数。

当前获取时间戳的方法是Date.now()。较旧的浏览器(尤其是 IE 8 及更低版本)可能不支持此功能,因此您可以使用它new Date().getTime();作为替代方案。

变量主体将非常简单:

function() {
  return Date.now();
}
Run Code Online (Sandbox Code Playgroud)

您可以在标签中使用它,方法是将变量名称用双花括号括起来,例如 {{timestamp}}。Date.now() 返回毫秒(自 1970 年 1 月 1 日 00:00:00 UTC 起经过),因此您可能需要除以千。

或者,您可以创建一个包含秒甚至毫秒的日期时间变量。我认为这最初是 Simo Ahava 写的

function() {
    // Get local time as ISO string with offset at the end
    var now = new Date();
    var tzo = -now.getTimezoneOffset();
    var dif = tzo >= 0 ? '+' : '-';
    var pad = function(num) {
        var norm = Math.abs(Math.floor(num));
        return (norm < 10 ? '0' : '') + norm;
    };
    return now.getFullYear() 
        + '-' + pad(now.getMonth()+1)
        + '-' + pad(now.getDate())
        + 'T' + pad(now.getHours())
        + ':' + pad(now.getMinutes()) 
        + ':' + pad(now.getSeconds())
        + '.' + pad(now.getMilliseconds())
        + dif + pad(tzo / 60) 
        + ':' + pad(tzo % 60);
}
Run Code Online (Sandbox Code Playgroud)

它返回一个格式化字符串,如 2016-08-02T09:22:44.496+02:00。