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

Google Analytics Event Tracking in Google Tag Manager

我对分析事件跟踪等比较陌生。

我只是想知道 Google 跟踪代码管理器等同于 Google Analytics (onchange="ga('send', 'event', 'Category', 'Change', 'Value');") 是什么?

我知道我可以使用 onlayer 但我不是 100% 确定如何使用它,尝试在网上查找几篇文章但没有任何帮助我。

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

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

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

感谢您的回复,谢谢

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

所以,如下:

  1. 创建具有与此类似功能的自定义 HTML 标记,在 DOM 准备好要绑定到 select 元素的所有页面上触发它:

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

  3. 创建一个作为事件代码的 Universal Analytics 代码并填写所需的详细信息(类别、操作、标签、值)。如果这是我,我会使用类似的东西
    • 类别 = 用户互动
    • 行动=select改变
    • 标签={{select_val}}

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

我个人采用了 Simo Ahava 推荐的 "generic event tag" 方法。这一切都归功于他,但我会在这里总结一下。

您可以创建一个通用标签来处理任何事件,而不是用一堆用于各种 GA 事件的专业标签来弄乱您的 GTM 容器。使用下面的代码,您只需将事件推送到数据层,它们就会自动传递到 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 标签。将标签类型设置为事件,并将类别、操作、标签和值映射到数据层变量。使用您刚刚创建的触发器触发此代码。这就是 GTM 方面的内容。

注意:您不需要为每个事件都设置标签和值。如果不需要,您可以简单地省略它们,或者手动将它们设置为 'undefined'。此外,如果您有许多非交互事件,您可能希望创建触发器和标记的非交互版本,以便您也可以推送这些事件。

If I were implementing this I would create a custom HTML tag containing a >function that binds to the onchange event fo your select element. The >function would fire a custom event into the dataLayer which also contains >pertinent information. You would then create a UA event tracking tag that >uses the correct information and is fired by a custom trigger that is fired >by the custom event name.

So, as follows:

1.Create Custom HTML tag with some similar functionality to this, fire it >on DOM ready of all pages you want to bind to a select element:

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

2.Create a trigger of type custom event where event value = select_change
3.Create a Universal Analytics tag which is an event tag and fill in the >the required details (category, action, label, value). If this was me I'd >use something like

-category = user interaction
-action = select change
-label = {{select_val}}

This tag shoudl be fired by the trigger you created in 2.

我正在寻找完全相同问题的解决方案,dmpg_tom 的解决方案非常有效。

我遇到了一个问题,因为我的下拉列表的值设置为 1、2、3、4 等,我需要提取文本。我尝试了 this.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>

在此示例中,它现在将 return 'Hello' 而不是“1”。
<option value="1">Hello</option>