【发布时间】:2019-08-02 08:56:55
【问题描述】:
我正在使用 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 或类都不会反映在<span> 中。 GTM 无法区分单击了哪个按钮。 如何以对 GTM 可见的方式唯一标识我的按钮?
注意:使用按钮文本(<span> 的内部 HTML)识别按钮不是一种选择,因为我在页面上有多个按钮具有相同的文本。
【问题讨论】:
-
Ian,我在使用 GTM 和 Angular Material 时遇到了同样的问题。我正在尝试使用 HTML 数据属性来发送额外的数据,我正面临这个问题。你找到解决办法了吗?
标签: angular google-analytics angular-material google-tag-manager