gpt4 book ai didi

Adobe DTM 数据元素更新

转载 作者:行者123 更新时间:2023-12-01 22:23:51 25 4
gpt4 key购买 nike

我正在寻找一种动态更新 DTM 中预定义数据元素的方法。一旦页面加载并且数据元素被初始化,就无法更新它们,_sattelite.setVar() 不起作用。我可以即时创建数据元素,但它不会在页面之间持续存在。示例:

var currElementName = this.getAttribute('data-analytics-tracking-name');
_satellite.setVar('custom link name', currElementName);

有什么建议吗?我问这个问题是因为我将使用 MVC 框架,并且我想将一些数据存储在 DTM 数据元素中并随着 View 的更改进行更新。谢谢!

最佳答案

为了将持久数据元素设置为新值,您需要首先更新数据元素所基于的任何源,然后使用 _satellite.getVar('element_name_here')数据元素的强制评估。

这里的关键是在页面加载时,持久数据元素的操作顺序基本上是:

  1. 查找卫星 Cookie 并返回该值
  2. 查找 type 的指定目标(例如 type JS 对象的 path (js var))并返回该值<
  3. 返回默认值

但是当您显式调用 _satellite.getVar('Example') 时,操作顺序为:

  1. 查找 type 的指定目标(例如 type JS 对象的 path (js var))并返回该值<
  2. 查找卫星 Cookie 并返回该值
  3. 返回默认值

数据元素示例:

Name: Example

Type: JS Object

Path: someVariable

Default Value: default value

Remember this value for: Session

假设我在页面上有以下内容(在 DTM 脚本标记之前设置):

someVariable = 'foo';

这将提供一个名为“Example”的数据元素,您可以根据上下文使用 %Example%_satellite.getVar('Example') 引用该数据元素.

在 session 期间,数据元素将具有值“foo”。因此,要更改它,您需要执行以下操作:

someVariable='bar';
_satellite.getVar('Example');

您可以在自己的脚本中的某个地方调用它,或者如果您想将其放入混合中,例如页面加载规则,您可以将其添加为 Criteria > Data > Custom 代码框内的条件(注意:如果将其放在这里,请添加 return true;作为第三行),等等..

作为替代方案,如果您感觉更具冒险精神,或者需要解决数据元素设置的问题(例如,您的数据元素是自定义脚本类型,并且您需要回避其中的逻辑) )..

当您将数据元素配置为持久性时,它会设置一个名为的 cookie

_sdsat_[数据元素名称]

所以在上面的例子中,它设置了一个名为

的cookie

_sdsat_Example

因此,如果您确实想要,您可以只用新值更新 cookie,并让默认操作顺序返回(现已更新的)cookie 值。 (注意:由于 javascript 无法获取 cookie 的过期时间,因此如果您将范围设置为“访客”,则可以将过期时间设置为 2 年,which is what DTM does ) p>

关于Adobe DTM 数据元素更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28078790/

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