GTM - 跟踪上次处理的 dataLayer 项目

GTM - keep track of last processed dataLayer item

提问人:Martin Staufcik 提问时间:8/2/2023 更新时间:8/4/2023 访问量:24

问:

我有一个自定义的 javascript GTM 标签,它遍历 dataLayer 中的项目并根据项目进行一些处理。该标记是在自定义事件上触发的。

我需要跟踪数据层中的哪些项目以前已经存在过,哪些是需要处理的新项目。实现这一目标的最佳方法是什么?

例如,一种解决方案是存储一个全局变量,但我想知道是否有更好的方法。window.tagLastProcessedItemIndex

google-tag-manager 谷歌数据层

评论

0赞 darrelltw 8/3/2023
逻辑是一样的。保留在全局变量或 localStorage 中以跟踪

答:

0赞 BNazaruk 8/4/2023 #1

首先,大约 95% 的迭代 DL 情况要么是错误,要么是试图通过具有 N 复杂性的尴尬循环来修复一个微不足道的前端错误实现。

作为一名专业的分析实施专家,我主要为企业团队和分析机构工作,我从不需要手动遍历深度学习。此外,很多时候我不得不通过 DL 重新实现其他人的迭代。

话虽如此,如果您确定没有更好的方法来执行您需要做的事情,那么是的,您需要存储上次处理的索引。你是在 JS var、cookie 还是 DL 本身中执行此操作取决于您的具体情况。您还可以使用以下命令刷新 DL 作为替代方法:

google_tag_manager[{{Container ID}}].dataLayer.reset();

同样,取决于您的具体情况。通常保留你的DL是一个好主意,所以人们很少像这样重置它。