从Tag Manager dataLayer获取变量

时间:2014-02-05 00:49:14

标签: javascript google-analytics google-tag-manager

我正在尝试将推送到dataLayer中的变量用作Google Analytics事件跟踪的一部分。这些值正在添加:

 dataLayer.push({
            'location' : 'header',
            'linkname' : gaTrackInfo
        });

使用控制台我可以看到正在创建这些变量:

Example of console showing values pushed into dataLayer

在Tag Manger UI中,我设置宏来监视这些变量:

Macros in Tag Manager UI

我正试图让他们进入事件跟踪,例如:

Calling variables into event tracking

然而,当我在实时分析中观察时,这些变量总是空白的:

所以从屏幕上的例子我希望看到类别testinglocheader,但它只是返回testingloc。关于我还应该寻找什么来测试这个的任何建议。我知道它正在跟踪并发送事件,它总是丢失dataLayer中的那些值。

1 个答案:

答案 0 :(得分:2)

尝试取消选中dataLayer变量上的设置默认值。我相信这会覆盖你传递的任何价值观。另外,你的规则是什么样的?

修改
我发现了这个问题。您需要通过onclick发送一个事件。

要修复的步骤:

第1步:创建一个新的事件宏。我通常称我的为trackEvent。

enter image description here

步骤2:将该事件添加到您的datalayer.push(需要事件宏才能将事件类型操作传递给GTM):

    dataLayer.push({
      'event': 'trackEvent',
      'location': 'header',
      'linkname': gaTrackInfo
    });

第3步:移除{{url}} matches RegEx .*并添加{{event}} equals trackEvent

enter image description here

第4步:发布容器。