如何将 JS 变量传递给 DataLayer?

How do I pass a JS variable to the DataLayer?

我正在尝试将 javascript 变量传递给数据层。

$(document).ready(function() { 
            var dataTag = $('#data-tag-link').attr('data-tag');
            dataTag = "'" + dataTag + "'";
            console.log(dataTag);

            dataLayer = [];
            dataLayer.push({
                'data-tag': dataTag,
                'data-author': '$Author.xml'
            });
        });

dataLayer 发送的是变量的名称,而不是变量的实际值,例如,它发送的是 'dataTag' 而不是 'Mobile',而它应该是 'Mobile'。关于这个问题可能是什么的任何想法?

您不需要像以前那样引用 dataTag。这应该足够了:

$(document).ready(function() { 
     var dataTag = $('#data-tag-link').attr('data-tag');

     dataLayer = [];
     dataLayer.push({
            'dataTag': dataTag,
            'dataAuthor': '$Author.xml'
     });
});

我还建议对对象属性使用驼峰式命名法。这样您稍后就可以在 TagManager 中将它们用作 Makro 中的标识符:dataLayer.dataTag