【问题标题】:How can I write page level codes when using Adobe Dynamic Tag Manager (DTM)?使用 Adob​​e Dynamic Tag Manager (DTM) 时如何编写页面级代码?
【发布时间】:2014-11-21 13:39:56
【问题描述】:

我正在从静态实施迁移到 Adob​​e DTM。有某些页面级代码,例如 s.prop14=文章名称。但是现在当我给出 DTM 的参考时,页面级别的代码没有触发,并且我在控制台中收到未定义对象“s”的错误。

解决办法是什么?

谢谢!

【问题讨论】:

    标签: dynamic tags adobe-analytics


    【解决方案1】:

    默认情况下,DTM 不会将 s 对象(或您在配置中指定的任何其他命名空间)放在全局 (window) 范围内,并且 DTM 本身不允许您这样做。您必须自己更新工具配置,顺便说一句,这也意味着您必须自己维护核心库,而不是使用“由 Adob​​e 管理”功能来绕过 DTM 尝试自动执行此操作.

    图书馆管理 > 代码配置部分,选择自定义并选中使用下面的自定义代码设置报表包。然后,您需要在“在 DTM 中”(单击“打开编辑器”并将其复制/粘贴到那里)或“在 URL”(自己托管文件)中托管库。在顶部(无论是在编辑器中还是在文件中),您都需要在窗口命名空间下实例化对象。 AppMeasurement 示例:

    window.s = new AppMeasurement();

    或者,您可以保持设置不变,稍微更改页面语法,然后将一些代码添加到 DTM 以查找它。例如,在您的页面自定义代码上方,只需执行

    var s = {};
    s.prop1 = 'foobar';
    //etc..
    

    然后在 DTM 中,在同一个代码编辑器中(或在规则中.. DTM 中的很多地方你都可以这样做),你可以这样做:

    for (var v in window.s) {
      s[v] = window.s[v];
    }
    

    【讨论】:

    • 您好,感谢您的解决方案。但是 window.s 对我不起作用,我必须创建一个临时变量以从页面上的 s 对象复制到临时变量,然后在页面加载结束时将临时变量复制回 s 对象。
    猜你喜欢
    • 1970-01-01
    • 2015-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多