当前位置: 首页 > 知识库问答 >
问题:

谷歌标签管理器点击事件未向家长弹出

昝晗昱
2023-03-14

我正在一个客户的网站上设置谷歌标签管理器,但我在启动点击事件标签时遇到了麻烦。

我已将触发器设置为在按钮的CSS选择器上触发。

按钮本身有一些子元素,包括svg图标。单击svg时,单击会在数据层中注册,但不会触发标记。标记仅在我选择按钮本身时激发。

我还尝试在我自己的脚本中删除附加到这些按钮的事件侦听器,以防返回falsee.stopPropagation()阻止了它,但这并没有改变任何事情。

我的理解是,GTM侦听文档中出现的点击事件。如果是这种情况,我的标签应该在点击孩子时触发,对吗?还是我误解了什么?

或者,我是否应该将事件推送到脚本中的dataLayer,而不是使用单击触发器?

截图

10gtm。单击正确触发标记

9gtm。click是否为未添加的子svg

最后一个屏幕截图是我的触发器的触发规则。

共有3个答案

朱浩大
2023-03-14

如前所述,“只是链接”触发器将冒泡到父

function () {
  return function (target, selector) {
    while (!target.matches(selector) && !target.matches('body')) {
      target = target.parentElement;
    }
    return target.matches(selector) ? target : undefined;
  }
}

然后在另一个自定义JavaScript变量中使用该函数,如下所示:

var elementFound = {{Find closest}}({{Click Element}}, 'button');

阅读Simo Ahava的文章了解更多信息。

狄宇
2023-03-14

使用的解决方案/想法:

pointer-events:none

但是当你有一个复杂的div(里面有20个类和15个元素)并且你用一个链接

目前GTM对这个问题缺乏正常的解决方案:(对于复杂的结构,你应该为指针事件添加“额外的div”(工作很好,但“不优雅”)。

<a class="track-this-click-by-gtm" href="url">
  <div style="pointer-events:none">
    extra unwanted div
    <i></i>
    <p>hello</p>
    <ul><li>hello2</li></ul>
    <date>2019</date>
    lorem
  </div>
</a>

樊飞飙
2023-03-14

我经常遇到这种问题。它发生与

最好的方法是让客户端开发人员添加JS。更黑客的方法是通过GTM在自定义HTML标记中运行类似的东西

jQuery('a.link跟踪svg'). css('指针事件','无)

 类似资料:
  • 我正在尝试做一个简单的标记,用于测量元素被单击的次数。 我遇到了困难,所以我想找一个视频来帮助我,因为标签管理器的布局已经改变了。 我在Udemy上遵循以下免费教程 https://www.udemy.com/google-tag-manager-advanced/ 特别是第8章按钮点击——这是一个免费的章节。它告诉我设置以下选项: 标签配置: 谷歌分析

跟踪ID:{{Tracking ID}}

  • 因此,我在我的Shopify商店中有一个“添加到购物车”按钮,我希望在被点击后,谷歌标签管理器中有一个标签以5秒的延迟触发。 按钮类是: 这是按钮: 我尝试了以下方法: 单击类包含/等于/匹配css选择器等,但没有任何效果。设置此标记格式的正确方法是什么,以便每次单击按钮时它都会触发?

  • 我正在实施谷歌标签管理器为Android应用程序V4由我的营销团队要求为未来使用,我从来没有在GTM网站,所以我在这方面很天真。 我已经根据官方网站上的说明创建了帐户、容器和标签。我已经将tag manager与google analytics tracking id链接。我已经根据网站上的说明在我的应用程序中编写了代码,并将容器下载到原始文件夹中。 当我运行我的应用程序时,它会在logcat中给

  • 我正在尝试学习如何在一个新网站上整合谷歌分析和定制事件跟踪。在研究它之后,我似乎无法理解Google Tag Manager和仅仅编写自定义事件跟踪代码之间的区别和关系。 Google Tag Manager是否只是一种更简单的跟踪信息的方法,而无需编写JS?

  • 我有一个按钮,它有填充,但它是在一个跨度标签包装。我正在使用作为谷歌标签管理器中的触发器。 因此,如果我现在在DOM中单击span而不是按钮元素,那么span是它是被单击的元素,所以现在它不会得到id="gtm-id",因为它不是被单击的元素。 如何让谷歌标签管理器冒泡并从它的包装父元素中获取数据?

  • 当Google Tag Manager提供JQuery on click功能时,该功能不起作用。 我已经研究了这些问题,并将我的代码包装在一个文档中,并使用了更新后的版本。在('click',function(){})语法上,它仍然不起作用。 为什么这个jQuery点击功能不工作? jQuery onhtml没有对动态插入的超文本标记语言元素进行触发? Google标记管理器:事件跟踪不工作 我试