首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Google标记管理器中的自定义Javascript宏:确定单击了哪个按钮

Google标记管理器中的自定义Javascript宏:确定单击了哪个按钮
EN

Stack Overflow用户
提问于 2014-08-14 14:10:24
回答 1查看 832关注 0票数 0

我有一个页面,一个访问者得到两个,在那里他们有两个按钮:是和否。

以下是html:

代码语言:javascript
复制
<footer>
<button id="authCreateAcctConfirmNoBtn" class="button2">No</button>
<button id="authCreateAcctConfirmYesBtn" type="submit" class="red-button">Yes</button></footer>

我对js有点了解,但是我从控制台中知道,如果我这样做的话:

代码语言:javascript
复制
document.querySelectorAll('footer > button')

然后返回这两个按钮。

如果我这样做:

代码语言:javascript
复制
document.querySelectorAll('footer > button')[0].textContent

第一个按钮返回textContent“否”。类似地,如果我将0更改为1,则返回"Yes“。

在Google-Tag-Manager中称为宏的脚本是在触发规则中触发的。

“单击发生”和“单击元素的ID包含”“nim_authCreateAcctConfirm”(因此覆盖两个按钮),然后运行脚本(在Google标记管理器中称为宏)。

我的目标是跟踪访客是否点击是或否。因此,根据单击的按钮,执行以下任意操作

代码语言:javascript
复制
document.querySelectorAll('footer > button')[0].textContent // for No
document.querySelectorAll('footer > button')[1].textContent // for Yes

我将在触发/触发规则上使用哪个脚本来表示返回上述两个选项中的任何一个。我试图避免简单地使用if语句,而是使用一种方式来表示"this“for

代码语言:javascript
复制
return thisButton.textContent
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-08-14 15:47:11

因为您已经为两个按钮分配了唯一的ID,所以可以使用它。我认为这将是一种更有效的办法。可以使用默认的{{元素ID}}宏返回单击按钮的ID。因此,在GTM中,您可以这样做:

  1. 设置单击侦听器gtm.click,以在所有页面上启动
  2. 对于“否”按钮,设置一个当{{event}}等于gtm.click和{{element }}等于"authCreateAcctConfirmNoBtn“时触发的标记
  3. 对于“是”按钮,设置一个当{{event}}等于gtm.click和{{element }}等于"authCreateAcctConfirmYesBtn“时触发的标记

希望这能有所帮助。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25310221

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档