【问题标题】:Google Tag Manager Custom Event not firingGoogle 跟踪代码管理器自定义事件未触发
【发布时间】:2018-09-25 17:32:43
【问题描述】:

我是 Google 跟踪代码管理器的新手,我正在尝试设置我的第一个自定义事件。

在我的 html 中,在我的头顶:

<script>
  window.dataLayer = window.dataLayer || [];
  dataLayer.push({"event": "testEvent"});
</script>

在 Google 跟踪代码管理器中,我创建了一个使用“testEvent”的触发器:

另外,我创建了一个使用这个自定义事件的标签:

最后,当我调试时,我看到我的自定义事件和标签都出现了:

但是,当我单击应该触发该自定义事件的 DOM 元素时,什么都没有发生。

我尝试将我的自定义事件触发器换成内置的点击触发器,效果很好,这告诉我我的标签本身设置正确。

我错过了一步吗?我还需要做些什么来使自定义事件起作用吗?就像我说的,我知道我可以在这个测试用例中使用常规点击触发器,但在我的实际项目中,我不能只使用常规点击触发器。

感谢您提供的任何帮助!

【问题讨论】:

    标签: google-tag-manager


    【解决方案1】:

    这是一个配置问题。如果我理解正确,您是在尝试在有人单击具有特定 css 类的元素时触发事件标签。

    为此,您需要:

    1. 转到 GTM 中的“变量”屏幕。在屏幕的顶部,有“内置变量”部分。单击“配置”按钮,应弹出一个侧面菜单。在“点击次数”部分下查找“点击类别”。选中“Click Classes”旁边的复选框,关闭此菜单,现在应该会显示“Built-in Variables”下的“Click Classes”变量名称。

    2. 转到 GTM 中的“触发器”屏幕。在“单击”部分下创建类型为“所有元素”的新触发器。当此触发器的配置出现时,选择“此触发器触发”下的“一些点击”。您应该看到针对此触发器的条件出现了 3 个输入字段。在第一个选择框中,您应该看到“单击类”作为可用选择之一,选择它。在下一个框中,选择适当的比较类型,在这种情况下我们将选择“等于”。在最后一个输入框中,输入“search__input”或您要触发的css类的名称。

    3. 返回 GTM 中的“标签”屏幕。将此触发器添加到您想要的标签中,瞧!

    【讨论】:

    • 感谢您抽出宝贵时间回答。但我确实已经配置了我的变量,以确保我有我需要的可用类型。就像我说的,如果我不使用自定义事件,而是使用内置的 GTM 点击事件,那么一切正常。我的问题是为什么我的自定义事件(成功触发)不会导致设置为侦听该自定义事件触发的标签?同样,如果我将触发器更改为内置的 GTM 点击事件,而不是我的自定义事件,那么同样的标签会按预期正确触发。这是我的预览屏幕截图:ibb.co/eGBFZ9
    • 您好,您不应该包含“#”和“.”对于类名,只需输入 css 类的名称。这种触发方式效率很低,但我理解这可能是分配要求?
    • 这不是作业。我知道此触发器对此目的无效,但我的 stackoverflow 问题只是我要解决的实际问题(需要自定义事件)的简化测试用例。我确实尝试删除#,但不幸的是它没有帮助。问题不在于触发器不会触发(它确实 - 至少这是我认为它在预览中显示的意思);只是依赖于触发器的标签没有触发。
    • 好的,所以如果您已更改代码以在单击按钮时推送 m 事件,您只需更改触发器以触发所有自定义事件。
    • 嗨@XTOTHEL。你能回答这个问题吗 - stackoverflow.com/questions/56281356/gtm-tag-not-fired
    【解决方案2】:

    如果您的自定义事件仅针对“search_input”点击推送,那么您可以将触发器修改为“所有自定义事件”

    否则@GTMGuy 说您需要在“search_input”单击事件上推送事件。在 GTM 预览中的事件触发期间,单击该事件并检查变量的值 - “单击元素”是否符合您的触发条件。

    【讨论】:

      【解决方案3】:

      您需要使用 JQuery 或任何其他语言添加元素点击,并更改触发器以触发“所有自定义事件”

      例如说我有一个聊天按钮

      <script>
        var dataLayer = dataLayer || [];
         $('.chatBtn').click(function (e) {
          dataLayer.push({
            'event': 'chat-click'
          });
        });
      </script>
      

      事件应该在那个特定的元素上点击。

      查看您的自定义事件,它没有附加到任何元素点击

      【讨论】:

      • 感谢您抽出宝贵时间回答。我尝试了您的建议,但仍然遇到相同的核心问题。换句话说,当我尝试您的建议然后使用 GTM 预览时,我在初始页面加载时看到(如预期的那样)我的自定义事件没有显示在摘要下。但是,当我单击按钮时,自定义事件确实显示在摘要下方。所以这是一个好的迹象,表明事情进展顺利。但是,触发触发仍然不会导致我的代码(使用该触发)触发。你知道为什么会这样吗?
      • 能否在预览模式下点击标签并分享截图
      • 嗯我似乎无法编辑我的问题,所以我不能那样添加屏幕截图。你能看到我在这里上传的截图吗? ibb.co/eGBFZ9
      • 看屏幕截图你的点击元素是错误的,如果你纠正你的触发器,它会起作用
      • 感谢您查看,但我认为单击元素没有错误,因为当我单击它时,触发器会触发。 (或者,至少,当我点击它时,事件突然出现在我的 GTM 预览摘要中)。问题是当触发器关闭时应该触发的标签没有触发。
      猜你喜欢
      • 2022-11-26
      • 1970-01-01
      • 1970-01-01
      • 2021-10-30
      • 2022-07-01
      • 2022-06-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多