如何在 GTM 中使用自定义变量

How to use Custom Variable in GTM

我正在努力触发 Google 仅当页面包含特定图像名称时才使用 GTM 进行分析。为此,我将用户定义变量用作 mll_banner 并在其中使用了自定义 javascript 。而我的习惯javascript如下。


function () {
        var mllBanner = document.querySelectorAll('[class="p-panel p-p-b-lg position-left-top style-repeatx"]')[0].style.backgroundImage;
        if (mllBanner === "url(\"/clientimg/schneider-electric/LOResource/a23d051e-55ca-4b40-88a7-90c8768e167d_coverImage.png\")") {
          alert("Return is True");  
          return true;            
        }
        else {
          alert("Return is False");
          return false;
        }
    }

如果我 运行 上面的代码作为具有适当 JS 函数名称的通用 JS,它可以在浏览器控制台上工作,并且 return true 作为值。当我尝试在 GTM 中使用它并想验证它是否适用于我在下面使用的触发器时,

触发器

这既不会触发 true 也不会触发 false,但如果我让它像不等于那么它会触发两者。

任何人都可以帮助如何在 GTM 中使用 Javascript 作为用户定义的变量并将该变量用于触发器吗?提前致谢!

如果您在页面视图中使用此变量,它既不会是 true,也不会是 false,而是 undefined。那是因为您尝试在呈现 DOM 之前访问 DOM 元素的 属性 (这意味着您的查询选择器将 return 为 null,而 null 没有样式 属性).

我不得不承认这是一个有根据的猜测,并假设安装了标准的 GTM(即页面头部的代码片段),但是您可以进入预览模式并检查变量的值window 已加载事件。

我还建议您不要使用查询选择器,而是使用 GTM 的内置 DOM 变量类型,因为这样您就可以独立于函数的其余部分调试 DOM 元素.

此外,在 GTM 中丢失警报调用。