Google跟踪代码管理器中的Google Analytics事件跟踪

时间:2015-11-09 13:00:37

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

我对分析事件跟踪等相对较新。

我只是想知道Google Tag Manager与Google Analytics(onchange="ga('send', 'event', 'Category', 'Change', 'Value');")相当的是什么?

我知道我可以使用onlayer但我不是百分之百确定如何使用它,尝试在线查找一些文章,但没有什么可以帮助我。

基本上我所拥有的是一个样式化的select元素,我想在它改变其值时跟踪它。没有提交按钮,它不在表单元素中。

Google跟踪代码管理器只允许我点击返回错误值,因为它的select元素需要onchange而不是onclick。

我的问题是,如果有意义,我可以在Google跟踪代码管理器中使用Google Analytics事件跟踪代码吗?我的Google Analytics通过Google跟踪代码管理器插入,跟踪也是如此。

感谢您的回复,谢谢

3 个答案:

答案 0 :(得分:4)

如果我实现这个,我会创建一个自定义HTML标记,其中包含一个与select元素的onchange事件绑定的函数。该函数会将自定义事件激发到dataLayer中,该事件还包含相关信息。然后,您将创建一个使用正确信息的UA事件跟踪标记,并由自定义事件名称触发的自定义触发器触发。

所以,如下:

  1. 使用与此类似的功能创建自定义HTML标记,在想要绑定到select元素的所有页面的DOM上启动它:

    <script>
      $('#myselect').on('change', function(){
        dataLayer.push({
          'event':'select_change',
          'select_val':this.value
        });
      });
    </script>
    
  2. 创建custom event类型的触发器,其中事件值= select_change

  3. 创建一个Universal Analytics标记,该标记是一个事件标记,并填写所需的详细信息(类别,操作,标签,值)。如果这是我,我会使用类似的东西
    • category =用户互动
    • action = select change
    • label = {{select_val}}
  4. 此标记应由您在2中创建的触发器触发。

答案 1 :(得分:3)

我个人采用了Simo Ahava推荐的“通用事件标记”方法。所有的功劳归功于他,但我会在这里总结一下。

您可以创建一个可处理任何事件的通用标记,而不是使用一堆专业标记来混淆您的GTM容器。使用下面的代码,您可以将事件推送到dataLayer,它们将自动传递到GA。

dataLayer.push({
  'event' : 'GAEvent',
  'eventCategory' : value_for_Event_Category,
  'eventAction' : value_for_Event_Action,
  'eventLabel' : value_for_Event_Label,
  'eventValue' : value_for_Event_Value
});

由于所有事件都包含类别,操作,标签和值,因此为每个事件创建一个dataLayer变量。然后创建一个自定义事件触发器,该触发器将触发所有自定义事件,并查找您设置的事件名称(Simo使用名称“GAEvent”)。最后创建一个新的GA标记。将标记类型设置为event,并将category,action,label和value映射到dataLayer变量。使用刚刚创建的触发器来触发此标记。这就是GTM方面的事情。

注意:您不需要为每个事件设置标签和值。如果不需要,您可以简单地省略它们,或者手动将它们设置为“未定义”。此外,如果您有许多非交互事件,您可能需要创建触发器和标记的非交互版本,以便您也可以一般性地推送它们。

答案 2 :(得分:0)

  

如果我实现这个,我会创建一个自定义HTML标记,其中包含一个&gt;函数,该函数绑定到select元素的onchange事件。 &gt;函数会将自定义事件触发到dataLayer中,该事件还包含&gt;相关信息。然后,您将创建一个UA事件跟踪代码,该代码&gt;使用正确的信息,并由自定义事件名称触发的自定义触发器触发。

     

所以,如下:

     

1.创建自定义HTML标记,其中包含一些与此类似的功能,在DOM上准备好要绑定到select元素的所有页面:

<script>
 $('#myselect').on('change', function(){
   dataLayer.push({
     'event':'select_change',
     'select_val':this.value
   });
 });
     

     

2.创建自定义事件类型的触发器,其中事件值= select_change
     3.创建一个Universal Analytics标记,该标记是一个事件标记,并填写&gt;所需的详细信息(类别,操作,标签,值)。如果这是我,我会使用类似

的东西          -category =用户互动
         -action =选择更改
         -label = {{select_val}}

     

此标记应由您在2中创建的触发器触发。

我正在寻找完全相同问题的解决方案,dmpg_tom解决方案效果很好。

我遇到了一个问题,因为我的下拉列表的值设置为1,2,3,4等,我需要提取文本。我试过这个.Text和this.HTML都没有用。

我在here的帮助下编辑了以下代码:

<script>
 $('#myselect').on('change', function(){

var mySelect = document.getElementById("myselect");
var selectedText = mySelect.options[mySelect.selectedIndex].text;

  dataLayer.push({
  'event':'select_change',
  'select_val':selectedText
});
});
</script>

在这个例子中,它现在将返回'Hello'而不是'1'          <option value="1">Hello</option>

相关问题