【问题标题】:Kill Switch for Adobe Analytics using DTM使用 DTM 为 Adob​​e Analytics 杀死开关
【发布时间】:2014-08-15 11:47:14
【问题描述】:

背景

我们目前在数据层中有一个标志,当它设置为 false 时,Adobe Analytics 代码将不会运行。

我们这样做的原因有很多,包括我们是否在产品或我们正在捕获的数据中发现任何安全问题。我们将 flag 设置为 false,它不再从我们的页面中提取 Adob​​e Analytics 脚本。

理想情况下,我们会尝试在 DTM 中模拟这种确切的功能,而无需批准和发布任何内容。我们只是希望能够在数据库中设置一些内容,并且可以立即在所有页面上使用,我们不必担心公司的软件提升策略。

也就是说,我在想,由于数据元素首先加载到页面上,我可以从数据层获取值,然后在 s_code 中使用 if 语句和 _satellite.getVar() 来确定是否不是 AppMeasurement 被实例化了。

这是一个令人沮丧的失败。不仅_satellite.getVar() 不可用,而且即使只是设置if(false) 也不起作用。虽然我认为只有 s_code 会实例化 AppMeasurement,但显然仅在 DTM 中激活该工具意味着直接调用 AppMeasurement 函数。

是否有更熟悉此工具的人有任何想法可以让我们确定 Adobe Analytics 是否基于某种内容更改运行(我们使用数据层,但我愿意接受所有建议)页面。

非常感谢您的宝贵时间, 迈克

【问题讨论】:

    标签: adobe-analytics


    【解决方案1】:

    DTM 目前没有任何页面加载规则不输出任何代码,也没有任何方法可以有条件地抑制调用。

    虽然 AM 本身确实有一个 s.abort 变量,您可以将其设置为 true,它会抑制下一个 s.ts.tl 调用。但是 DTM 的界面中没有内置该 var,因此您必须将其放在规则的自定义代码部分中。

    更新:重申一下,s.abort 不会全面禁止所有 AM 呼叫;它抑制下一个调用。通话结束后,AM 将s.abort 重置为false。因此,这对于初始页面加载规则非常有用,但例如,如果您在页面加载后弹出任何代码(例如退出/下载链接跟踪或您可能拥有的其他一些自定义代码),它将抑制那。

    即使您没有在页面跟踪后进行自定义,也可以在工具配置中确保您考虑的一个地方是,您可以在其中指定下载跟踪和内部/外部链接跟踪,如果您启用了 AM 原生弹出(基本上linkInternalFilterstrackDownloadLinkstrackExternalLinkslinkDownloadFileTypestrackInlineStats 的 DTM 接口)。就通过这些设置保持启用这些东西而言,没有简单的方法,所以我认为最好的办法是禁用它们并使用基于事件的规则复制它,这样你就可以将s.abort 合并到那里.

    另一个需要考虑的注意事项s.abort 禁止向 Adob​​e 发出最终请求,但导致实际请求的几乎所有内容都已执行。最值得注意的是,如果您启用了doPlugins(DTM 目前在界面中没有此功能,但没有什么能阻止您启用它并在自定义代码中自己定义它),它将被执行。这可能会影响您在其中的任何逻辑,尤其是执行 cookie 读取/写入的内容。

    例如,假设您有一个“参与的访问者”指标设置为在访问者查看 3 个页面后弹出,您通过使用 cookie 存储和递增值并读取 cookie 并弹出事件来实现此目的如果它达到 3,并且这全部在您的 doPlugins 函数(或页面加载规则中的其他位置)中,s.abort不会抑制任何这些。

    【讨论】:

    • @michaelp 我添加了另一个注释
    • 感谢您提供更多信息。我们编写的自定义代码中确实有 doPlugins。考虑到这一点会很好。现在我们正在做一个概念验证,我们需要看看我们可以在 DTM 中模仿我们现在所做的一切。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-14
    • 1970-01-01
    相关资源
    最近更新 更多