如何在Google Tag Manager上正确设置实时环境?

6
使用Google Tag Manager,我想使用Environments功能。虽然环境设置非常简单,但是关于现场环境设置有一个特殊情况。具体来说,文档中提到:

Note: 默认情况下,每个容器都设置了一个“Live”环境,它始终指向当前发布的容器版本。您不需要定义Live环境。

现在,为了在我的网站上设置GTM以供现场使用,我有两种可能的代码片段: "默认"代码片段(可以通过管理 > 在我的容器中安装Google Tag Manager获得)和“ Live” 代码片段(可以通过管理 > 环境 > “ Live” > (操作)获取代码片段获得)。
问题在于第一个脚本似乎不能正确映射到Live环境,在查找表中使用它会映射到默认值。
另一方面,第二个脚本似乎可以正常工作。我担心的是它使用了两个附加参数 (gtm_authgtm_preview),而我不确定它们是否应该定义为Live环境。此外,几个博客建议在Live环境中使用第一个脚本。
我的问题和担忧是,哪种脚本是在安装、使用和安全性方面设置GTM Live环境的最佳选择?
请注意,建议使用不同容器不是选项。

对于环境变量而言,如果你正在使用 Live,则它不会“返回”任何内容。只有在使用环境片段或共享预览链接时才会返回值。因此,您在查找表中得到的行为是正确和预期的。我建议您在 Live 中使用非环境片段,因为它不会泄露任何额外的信息。 - XTOTHEL
是的,这是预期结果。这不是一个错误。对于“Live”,环境变量为空。 - XTOTHEL
关于Environments变量的值,你能更具体一些吗?为什么在那种情况下它是空的?我期望环境名称变量应该返回“Live”,而不是空值。这不是真的吗? - Nick Louloudakis
环境名称:如果容器请求来自“共享预览”链接或环境片段,则返回当前环境的用户提供的名称。对于内置环境,它将返回“Live”、“Latest”或“Now Editing”。在所有其他情况下,它将返回一个空字符串。https://support.google.com/tagmanager/answer/7182738?hl=en&ref_topic=7182737&vid=0-1500790361317-1542725281860#utilities - XTOTHEL
2个回答

1
您正在经历的是预期行为。根据文档,内置的Environment变量定义如下:

环境名称:如果容器请求来自“共享预览”链接或环境片段,则返回当前环境的用户提供的名称。对于内置环境,它将返回“Live”、“Latest”或“Now Editing”。在所有其他情况下,它返回一个空字符串。

在这种情况下,使用“共享预览”或从管理 > 环境 > “Live” >(操作)获取片段中的片段将导致变量被填充。
当使用来自管理 > 在我的容器中安装Google Tag Manager的片段时,变量将为空,因为它不是环境片段。
就安装而言,我建议使用非环境片段版本进行实时操作,因为公开共享的信息较少(来自gtm_auth和env参数的值)。

我猜你正在使用默认值作为全能选项,并且只想在“Live”中使用“Live”? - XTOTHEL
我一直在使用查找表中的“页面主机名”变量来做类似的事情。 - XTOTHEL
1
我认为环境的价值/用例是为了使用环境片段以便于测试。 - XTOTHEL
这有道理。但我不确定使用主机名是否是一个好的备选方案。实际上它似乎正在发挥作用。但这是个好主意吗? - Nick Louloudakis
1
唯一的缺点是,与GTM中的所有信息一样,它是公开可用的。因此,如果您输入公共IP或暂存主机名,如果有人掌握了这些信息,他们可能会尝试访问它。 - XTOTHEL
显示剩余3条评论

1

GTM环境最简单和最安全的方法是:

  • 使用“默认”GTM代码段,该代码段可以通过“管理”>“安装Google Tag Manager”获取,用于您的生产(即现场)环境
  • 对于其他环境(例如Stage、Dev、Localhost),请使用自定义环境的代码段,这些代码段可以通过“管理”>“环境”>“your_custom_env_name”>“操作”>“获取代码段”获得
  • 将自定义环境名称用作过滤器中的变量(即用作异常的触发器)以及查找表中的变量(即自定义变量)
  • 在查找表中设置生产ID为默认值

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接