Google 跟踪代码管理器自定义变量返回未定义

Posted

技术标签:

【中文标题】Google 跟踪代码管理器自定义变量返回未定义【英文标题】:Google Tag Manager Custom Variable return Undefined 【发布时间】:2018-06-26 20:37:00 【问题描述】:

我正在使用 Google 跟踪代码管理器使用自定义 JS 变量来存储有关用户隐私同意的数据。

我尝试了下面的函数,其中一个隐私变量设置为true,仅当用户单击特定按钮时。

function controlloConsenso() 
  var privacyAccettata = false;
  var checkPrivacy = document.querySelector(".ginger_btn_accept_all");
  checkPrivacy.addEventListener("click", function() 
    privacyAccettata = true;
  );
  return privacyAccettata;

问题在于 GTM 调试器中的变量结果是 undefined

在第一个函数(GTM 不接受)之外尝试脚本时,代码可以正常工作(我已经在 Chrome 控制台中对其进行了测试)。

var privacyAccettata = false;
var checkPrivacy = document.querySelector(".ginger_btn_accept_all");
checkPrivacy.addEventListener("click", function() 
    privacyAccettata = true;
);

【问题讨论】:

【参考方案1】:

从你的函数中省略名称,它应该可以工作。也就是说,将您的自定义 javascript 标记更改为:

// function controlloConsenso() 
function()
  var privacyAccettata = false;
  var checkPrivacy = document.querySelector(".ginger_btn_accept_all");
  checkPrivacy.addEventListener("click", function() 
      privacyAccettata = true;
    );
  return privacyAccettata;

【讨论】:

以上是关于Google 跟踪代码管理器自定义变量返回未定义的主要内容,如果未能解决你的问题,请参考以下文章

Google 跟踪代码管理器 - 将 CSP 随机数添加到自定义 HTML 代码段的任何可能方式?脚本属性被剥离

next.js 环境变量未定义(Next.js 10.0.5)

Modx 管理器自定义页面检查用户是不是已登录并具有管理器访问权限

重力表单 - 添加自定义事件不通过Google跟踪代码管理器触发

循环函数向变量添加不准确的值,并且在跟踪代码时未定义数组。怎么修?

joomla 菜单管理器自定义组件