gpt4 book ai didi

css - 在异步 API 之后在 DTM 中触发的事件

转载 作者:行者123 更新时间:2023-11-27 23:21:46 24 4
gpt4 key购买 nike

我是 Adob​​e Analytics 和 DTM 的新手。

在我的网站上,一个异步 API 在页面上动态创建一个 div。这个 DIV 有一个特殊的 CSS 类,假设为“wantedClass”。

我想创建 2 条规则:

  • 当 DIV 出现在页面上时触发的规则,我确实喜欢使用页面加载规则,如下所示:

enter image description here

在此触发器上,Adobe Analytics 中触发了 event1

我选择了 onLoad,因为我读到这是其他选项中的最后一个,我想确保 API 异步完成创建 DIV,以便触发此事件。

  • 一旦 DIV 被点击就会触发的规则,我使用基于事件的规则如下:

enter image description here

在这个触发器上,一个 event2 被触发。


我测试时发生的事情是:

  1. 页面加载,没有触发 event1
  2. 点击 DIV,没有触发 event2,但触发了 event1。

我做错了什么?

如有任何帮助,我们将不胜感激;

最佳答案

<强>1。页面加载,没有触发 event1

异步调用本质上可以在 DOM 就绪或窗口加载 (onLoad) 之后发生,因此 onLoad 不能保证在进行某些 API(异步)ajax 调用并返回某些内容后触发。

理想情况下,您应该在 API 的 ajax 成功回调函数中触发一些东西。您可以创建并触发一个自定义事件,DTM 可以在基于事件的规则 中监听该事件。注意:如果你走这条路,请确保你在 document.body 或后代上创建/触发; DTM 不会监听 document 本身的自定义事件。此外,由于我看到您在屏幕截图中使用 jQuery 语法,如果您走这条路,还要注意 jQuery 自定义事件功能与原生 javascript 自定义事件不同。因此,例如,如果您执行 $( document.body ).trigger( "someEvent"),这不会推送到正在收听的内容

document.body.addEventListener('someEvent', function (e) {/* ... */}, false);

DTM 使用以上内容来监听自定义事件。所以 TL;DR - 如果您打算使用 DTM 的内置自定义事件监听器,请不要使用 jQuery 语法来创建或广播自定义事件。

或者,在 API 的 ajax 回调函数中,您可以执行 _satellite.track('dc_rule_value_here'); 并使用 'dc_rule_value_here' 创建一个Direct Call 规则字符串条件。

如果您不能向 API ajax 回调函数中添加一些内容,下一个最好的办法是创建一个自定义代码类型的数据元素,使用您在您的屏幕截图条件(如果找到 .wantedClass,则返回 true 或 false)。然后,创建数据元素已更改 类型的基于事件的规则,条件反射(reflect)您从数据元素返回的内容。这并不理想,因为此规则类型的工作原理是在页面 View 期间每 1 秒轮询一次数据元素。这在宏伟的计划中并不是什么大不了的事情,但它不如其他方法有效(如果你 0make it a practice to do this for a lot of rules,那么它可能会成为一个问题)。请注意,您还应该将数据元素烘焙为仅返回 true 一次,这样它就不会在找到 EBR 后每 1 秒触发一次 EBR(DTM 没有原生的“仅触发一次”类型配置)。

<强>2。单击 DIV,没有触发 event2,但触发了 event1。

不确定这个。从表面上看,这听起来像是 DTM 规则本身在起作用,但设置 AA s.events 时存在问题。可能是您只是打错了字并将 event1 放入规则中,但我确定您已经检查过了……对吗?

可能是您有其他代码(例如 s.doPlugins 回调中的代码)覆盖了它。或者可能完全是其他规则触发,而不是上面的规则。

如果您提供有关实际设置事件的方式/位置的更多详细信息(包括您可能设置这两个事件的其他地方),可能会提供进一步的帮助,但这听起来有点像我必须在页面上的操作以真正到达页面底部:/

关于css - 在异步 API 之后在 DTM 中触发的事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57956711/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com