Mic*_*hns 2 adobe adobe-analytics
我正在寻找一种动态更新DTM中预定义数据元素的方法.一旦页面加载并且数据元素被初始化,就无法更新它们,_sattelite.setVar()不起作用.我可以动态创建数据元素,但它不会在页面之间持续存在.例如:
var currElementName = this.getAttribute('data-analytics-tracking-name');
_satellite.setVar('custom link name', currElementName);
Run Code Online (Sandbox Code Playgroud)
有什么建议?我问这个是因为我将使用MVC框架,我想将一些数据存储在DTM数据元素中,并随着视图的变化而更新.谢谢!
为了将持久数据元素设置为新值,您需要首先更新数据元素所基于的任何源,然后使用_satellite.getVar('element_name_here')强制评估数据元素.
这里的关键是在页面加载时,持久数据元素的操作顺序基本上是:
但是当您明确调用时 _satellite.getVar('Example'),操作顺序是:
数据元素示例:
名称:示例
键入: JS对象
路径: someVariable
默认值:默认值
请记住以下值:会话
所以,假设我在页面上有以下内容(在DTM脚本标记之前设置):
someVariable = 'foo';
Run Code Online (Sandbox Code Playgroud)
这将使一个名为"Example"的数据元素可以引用,%Example%或者_satellite.getVar('Example')根据上下文引用.
在会话期间,数据元素将具有该值"foo".所以要改变它,你会做以下事情:
someVariable='bar';
_satellite.getVar('Example');
Run Code Online (Sandbox Code Playgroud)
您可以在自己的脚本中的某个地方调用它,或者如果您想将其添加到例如页面加载规则的混合中,您可以将其作为条件添加到Criteria > Data > Custom代码框中(注意:如果您将其添加到此处,请添加return true;为第3行)等..
作为替代方案,如果您感觉更冒险,或者需要为数据元素设置进行解决(例如,您的数据元素是自定义脚本类型,您需要回避其中的逻辑).
如果将数据元素配置为持久性,则会设置名为的cookie
_sdsat_[data element name]
所以在上面的例子中,它设置了一个名为的cookie
_sdsat_Example
因此,如果您真的想要,您只需使用新值更新cookie,然后让默认的操作顺序返回(现在更新的)cookie值.(注意:由于javascript无法使cookie过期,如果您将范围设置为"访问者",则可以将过期时间设置为2年,这就是DTM所做的事情)
| 归档时间: |
|
| 查看次数: |
2658 次 |
| 最近记录: |