通过 Google Tag Manager 使用 Google Analytics 跟踪 Angular Material 按钮点击

标签 angular google-analytics angular-material google-tag-manager

我在 Google 跟踪代码管理器中使用 Universal Analytics 代码来跟踪用户互动。我想在 GTM 中设置点击监听器,当点击页面上的某些按钮时会触发这些点击监听器。这些按钮是 Angular Material 组件。

问题是 Angular Material 在我的按钮顶部放置了一个包装元素,由此更改了 HTML:

<button mat-raised-button type="button" class="blue l" (click)="onContinue()">CONTINUE</button>

为此:

<button _ngcontent-c20="" class="blue l mat-raised-button" mat-raised-button="" type="button">
    <span class="mat-button-wrapper">CONTINUE</span>
    <div class="mat-button-ripple mat-ripple" matripple="" ng-reflect-centered="false" ng-reflect-disabled="false" ng-reflect-trigger="[object HTMLButtonElement]"></div><div class="mat-button-focus-overlay"></div>
</button>

为了获取 GTM 中的点击事件,我必须设置触发器以监听对 <span> 的点击。元素而不是 <button>元素。因此,我丢失了有关该按钮的所有识别信息;我用于 <button> 的任何 HTML id 或类未反射(reflect)在 <span> 中. GTM 无法区分单击了哪个按钮。 如何以 GTM 可见的方式唯一标识我的按钮?

注意:使用按钮文本(<span> 的内部 HTML)识别按钮不是一种选择,因为我在页面上有多个具有相同文本的按钮。

最佳答案

我遇到了这个问题,最后找到了解决方案:

Google 跟踪代码管理器中的解决方案:

启用变量类型的点击元素。

创建两个触发器:

1) 触发器类型:点击所有元素,一些点击,点击 ID - 等于 - “your-id”

2) 触发器类型:点击所有元素、一些点击、点击元素 - 匹配 CSS 选择器 - “button#your-id span”(见图)

然后在你的Tag中设置两个触发器,一个触发1,第二个触发2。

CSS Selector Config Example

关于通过 Google Tag Manager 使用 Google Analytics 跟踪 Angular Material 按钮点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55112119/

相关文章:

angular - 在 Nginx 中使用 Angular 应用程序管理环境

node.js - Express 后端在从 Angular 5 应用程序传递数据时丢弃数据

html - 禁用样式(垫扩展面板)

angular - 如何在 isAllselected 函数的数据源中仅获取过滤后的数据,即。 Angular 7 中的复选框列表函数 "isAllSelected"

angular - 无法读取未定义的属性 'visit'

google-analytics - 带身份验证的 Google Analytics 4 API

java - Android 推荐跟踪不适用于 Google Play

javascript - 管理 API 的结果已过时

css - 如何禁用 Angular Material 分页按钮的涟漪效果?

angular - 模型驱动表单提交后如何清空表单? ( Angular 2)