首页 > 解决方案 > Google Analytics - 获取没有类和 ID 的嵌套跨度事件点击

问题描述

我正在使用标签管理器和 Anayltics 360。
我的代码如下,

<div rel="ABC_Links" class="ak_widget" >
<!-- BEGIN: Widget - Links -->
<section class="mfb-30">
    <div class="widget_links">
        <div class="widget_container">
            <div class="widget_content">
                <button type="button" class="buttonShadow" onclick="window.open('https://somepagelink.aspx); return false;">
                    <div class="widget_item">
                        <div class="widget_icon">
                            <svg>123</svg>
                        </div>
                        <div class="widget_text"><span style="overflow-wrap: normal;">ABCD TEXT</span></div>
                    </div>
                </button>

               <button type="button" class="buttonShadow" onclick="window.open('https://somepagelink.aspx); return false;">
                    <div class="widget_item">
                        <div class="widget_icon">
                            <svg> 12345</svg>
                        </div>
                        <div class="widget_text"><span style="overflow-wrap: normal;">XYZ TEXT</span></div>
                    </div>
                </button>

            </div>
        </div>
    </div>
</section>
<!-- END: Widget Links --></div>

我有 12 个相同格式的按钮。在这里,我给出了两个按钮的示例。
按钮名称我可以稍后更改,因此我不能将其视为标签管理器中“单击文本”的硬编码。
我只能使用 rel="ABC_Links" 作为唯一标识符。我不能使用任何以下类,因为它们不是唯一的。
我已经使用 Custome javascript 来获取父子关系但没有用。
我使用了 DOM 元素变量,但它不起作用。

现在的问题是,当我单击下面的任何按钮并在 Anayltics 360 中获取实时事件信息时,是否有任何方法可以在标签管理器中触发事件?

标签: javascriptgoogle-analyticsdom-eventsgoogle-tag-manager

解决方案


实现此目的的一种方法是在 GTM 中创建一个用户定义的自定义 JavaScript 变量,以便在单击按钮时设置 isABCLink=true。

  1. 在“内置变量”下的“变量”屏幕上,确保您已勾选“单击元素”。
  2. 创建用户定义的变量
    名称:isABCLink
    类型:自定义 JavaScript
    代码:
    功能() {
      return {{点击元素}}.matches("div[rel=ABC_Links] 按钮,div[rel=ABC_Links] 按钮 *");
    }
    
  3. 创建触发器
    触发器类型:点击 - 所有元素
    此触发器触发:一些点击
    条件:isABCLink 等于 true
  4. 设置您的代码在上述触发器上触发

Once caveat to point out is that the exact element clicked on could be the button or one of the child elements of the button such as the <svg> which might make it hard to set up your tag depending on what exactly you need.


推荐阅读