google_tag_params 的意义是什么——为什么我要编码两次?

What is the significance of google_tag_params - why do I code twice?

我正在研究 Google 跟踪代码管理器和 Google 分析并注意到以前的开发人员有这样的调用

var google_tag_params = {
    "visitorLoginState":"logged-out",
    "visitorType":"visitor-logged-out",
    "pageTitle":"BECOME, The Sports, Fashion & Fitness Blog from SSS",
    "pagePostType":"frontpage",
    "browserName":"Firefox",
    "browserVersion":"43.0",
    "browserEngineName":"Gecko",
    "browserEngineVersion":"43.0"
};
dataLayer.push({
    "visitorLoginState":"logged-out",
    "visitorType":"visitor-logged-out",
    "pageTitle":"",
    "pagePostType":"frontpage",
    "browserName":"Firefox",
    "browserVersion":"43.0",
    "browserEngineName":"Gecko",
    "browserEngineVersion":"43.0"
    "google_tag_params":window.google_tag_params
});

dataLayer 对象中,他使用 google_tag_params 并将前一个对象的数据推送到此处。但是他正在动态地重复所有以前的相同变量,例如 visitorLoginStatepageTitle 等。我需要做同样的事情并重复吗?

Google 标签管理器文档对此并不清楚,只是说明它是受支持的标签,没有明确的示例。

语法本身没有任何问题 - 在将对象推送到 dataLayer 之前填充对象可以说比嵌套结构更具可读性。

但是 google_tag_params 中的数据似乎不正确,因为传统上 google_tag_params 是您用于 Adwords remarketing tags 参数的名称。虽然这是惯例而不是技术必需品,但我更希望页面类型、产品 ID 和总价值的值在 gtm_tag_params 中。

您的用例可能是一些不寻常的用例,但更有可能是之前的开发人员做错了什么。您必须检查变量在标签管理容器中的使用方式。