我对Google Tag Manager(GTM)不是很熟悉,但有人要求我将它的标记嵌入到Rails应用程序中。通常,与其他基本标记一样,我们将每个环境的不同键放入ENV
变量中,而周围的javascript“标记”保持不变。
但是,启用GTM Environments后,标记具有一些“Live”中不存在的附加查询字符串(读取:请参阅下面的差异(深紫色仅在自定义登台标记中,但在Live(Production)标记中缺失。
显然,我可以将查询字符串放入其自己的ENV var中,并忽略它(以及生产中的一些语法+'…'
,但这让我怀疑我们是否以错误的方式接近GTM。毕竟,这是为不同的环境设计的,为什么他们要在文档中特意强调:
“环境”功能设计用于非生产环境。要确保最佳性能,您应该在实时/生产网站上安装标准的Tag Manager容器代码段。
迫使我们管理3个不同的标签,用于开发、试运行和生产。这难道不是标签管理器应该做的吗?!?
总之,寻找最佳实践。谢谢!
2条答案
按热度按时间km0tfn4u1#
我也在纠结这件事。这件事看起来确实比它需要的要复杂得多。
在我看来,GTM环境的目的是测试您在GTM中对标签所做的更改,而不是将不同的标签配置与不同的测试环境相匹配。它们还要求您改变HTML中的代码片段,以选择您想要的GTM环境,这似乎并不理想。
我希望GTM变量能够根据环境的不同而不同...这样你就可以为每个环境使用不同的Google Analytics跟踪ID。
这篇文章从2016涵盖了几个选项相当不错:https://www.bounteous.com/insights/2016/05/16/deploying-google-tag-manager-multiple-website-environments/
根据这篇文章,在我看来,GTM查找表可能是最好的选择......但是,现在不是在Heroku中存储不同的ENV变量,而是将它们嵌入到GTM中。
UPDATE:我用查找表实现了它,它运行得很好......但是,我不得不删除我的旧GA属性并创建新的GA4属性。旧的GA标签不允许我选择查找表类型的变量。它只允许预定义的静态属性id类型之一。一旦我切换到“Google Analytics:GA4配置”标签,它允许我使用查找表作为ID。
bttbmeg02#
我只在生产环境中加载GTM,但我的方法可以针对所有环境进行调整,在HEAD中使用部分渲染: