【问题标题】:GTM Cleanup tag with conditions带有条件的 GTM 清理标签
【发布时间】:2017-12-01 09:15:20
【问题描述】:

是否可以通过这种方式在 Google 跟踪代码管理器中对代码进行排序?

标签 A: 此标签在需要时通过特定触发器触发。很酷。

标签 B : 它被设置为在标签 A 之后触发的清理标签,但我想为其添加一些条件,就好像它是一个触发器一样。字面意思是“当某些条件为真时,在标记 A 之后触发标记 B”。使其成为条件操作的清理标记。

GTM 是否支持类似的东西?如果不是通过将其设置为清理标签,是否有任何解决方法来实现类似的行为?

编辑 1 更多详情:
关于这种情况更具体的是,我不能只将一些东西推入 DL 并为该变量设置条件标记 B,因为:

  1. 我感兴趣的事件(对于标记 B)首先在页面上自然触发
  2. 然后响应事件(用于标记 A)几乎紧随其后。
  3. 我想根据事件类型和第一个事件中的其他数据触发标签,并从第二个事件中收集一些其他数据

【问题讨论】:

  • 我曾经尝试将设置标签附加到设置了某些触发异常的清理标签(除了序列中的前一个标签),并设置以下标签仅在设置标签触发。这在当时似乎行得通,但是交叉依赖引起了很多头痛(即使是简明扼要地描述这一点也几乎是不可能的)。使用自定义 HTML 标记作为清理标记并使用一些“ifs”测试您的条件更容易(虽然感觉有点不对 - 不是很像 tagmanager)。
  • 哇,谢谢,我不知道为什么我没有早点想到这一点。我正在尝试实现一个解决方案,该解决方案可以保存两个事件之前的值,以及之前的事件。然后添加每次发生某事时触发的通用事件并检查这些值。但正如你所说,它引起了很多头痛,而且似乎并不可靠......

标签: javascript google-tag-manager


【解决方案1】:

最终起作用的是:

  1. 创建触发器 1 触发 事件 1,基本上每次(在特定 URL 及其变体时)
  2. 事件 1 将数据推送到 DataLayer。 事件 1 时 DL 中的实际数据转到我自定义的 DL 的 eventTypePrevious 部分,“以前的数据”更深入到 eventTypePreviousTwoEventsAgo。通过这种方式,我可以了解最近 2 次过去事件的重要数据。

举个例子:

{{DL core eventType}} is DataLayer variable eventType

window.dataLayer.push({
          eventTypePreviousTwoEventsAgo: {{DL eventTypePrevious}}
          eventTypePrevious : {{DL core eventType}},
      });
}
  1. 我创建了另一个触发器延迟触发器,它仅在满足条件时触发。这意味着我检查来自 eventTypePreviousTwoEventsAgoeventTypePrevious 的数据,如果它是所需的序列,我会触发我想要的 Event 2 ,它可以很好地访问所需的一切在 DL 中准备。

这个解决方案不需要标签排序,这在我的情况下可能不起作用,没有 HTML sn-p hacks,对我来说似乎还不错。

如果有人遇到类似问题以及他们是如何解决的,我仍然很感兴趣。我现在将其标记为答案并将其发布在此处以提供潜在的帮助。

【讨论】:

    猜你喜欢
    • 2011-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-12
    • 1970-01-01
    • 2018-12-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多