首页 > 解决方案 > 正则表达式表查找不适用于 Click Element 变量

问题描述

我创建了一个正则表达式查找表变量,以基于包含特定字符串的 Click Element 输出文本。但是,尽管字符串肯定在 Click 元素中,但该变量仍显示为 null。任何人都可以帮忙吗?

这是我的正则表达式查找表变量 这是显示 null 的调试窗口(操作字段是正则表达式表变量应该填充的位置)

这是包含变量的完整标签

这是标签的触发器, 我从 Click Element 尝试了各种不同的字符串,但没有运气。

标签的触发器基于相同的字符串,并且触发器有效,这只会增加我的困惑。

我觉得问题一定很明显,但我不知所措。

标签: google-tag-manager

解决方案


我也为此苦苦挣扎,直到我意识到“点击元素”实际上是一个对象,而不是字符串。它基于gtm.element.datalayer

因此,为了做到这一点,您需要创建一个自定义数据层变量,以更准确地定位特定的子键。

要了解我的意思,请在新选项卡中打开一个链接,然后在datalayer浏览器控制台中输入,然后按 Enter。你会看到类似的东西:

3: 
event: "gtm.click"
gtm.element: a#mylinkclass.my-class.something.else
accessKey: ""
ariaAtomic: null
ariaAutoComplete: null
ariaBusy: null
ariaChecked: null
ariaColCount: null
ariaColIndex: null
etc....

显示数据层子级的 chrome 检查器控制台的屏幕截图

因此,您必须创建自定义变量来定位您想要的键。例如,您创建的数据层变量gtm.element.className将返回my-class something elselink <a href="/my-link-here/" class="my-class something else" id="mylinkclass">Link Text</a>

使用这种方法,我能够创建一个正则表达式查找表,就像您尝试做的那样。

这是一篇文章,对上述一些内容进行了更详细的介绍:

https://www.analyticsmania.com/post/click-element-variable-in-google-tag-manager/


推荐阅读