【问题标题】:Adobe DTM (adobe tag manager) set s.campaign with direct call ruleAdobe DTM (adobe tag manager) 使用直接调用规则设置 s.campaign
【发布时间】:2015-08-10 21:10:27
【问题描述】:

我需要用某个 ajax 返回的值来设置 s.campaign。我想我可以直接打电话来完成这项工作。似乎没有任何报告。

在 ajax 之后我调用:

_satellite.track('ruleString');

我可以在调试器中看到我的规则被触发了。在 Adob​​e 分析管理员中,已将值设置为在 MIN 之后过期。

我已经尝试了四种从这里获取广告系列价值的方法。

1 - 将其设置为一个数据元素,例如:(在分析预设中)

Campaign Value  ->  %mySpecialValue%

此元素运行自定义 JS 并记录值,因此我知道它运行,但 adobe 从未看到值。

2 - 我使用以下设置:(在自定义代码框中)

var delm = _satellite.getVar('special_id');
_satellite.setVar("newVal",delm);
return true;

然后将campaing设置为%%newVal%%

  1. - 我使用以下设置:(在自定义代码框中)

    var delm = _satellite.getVar('special_id'); s.linkTrackVars='活动'; s.campaign = delm; s.tl();

  2. - 我使用以下设置:(在自定义代码框中)

    var delm = _satellite.getVar('special_id'); s.linkTrackVars='eVar0'; s.campaign = delm; s.tl();

他们似乎都没有将数据传递给 adobe Analytics。就像我的广告系列变量不接受数据一样。还应该注意的是,如果我只是在 DTM 中将活动的值设置为“文本”,它似乎也永远不会被传递。

有没有更好的方法来使用自定义代码设置广告系列。

【问题讨论】:

  • 尝试直接在 DC 规则中设置您的 vars 同时确认您的 DE 具有值。我的猜测是这是一个时间问题,当你调用它时没有设置 DE。

标签: adobe adobe-analytics


【解决方案1】:

请记住 AJAX 是异步的:

$.ajax({
  url: "test.html",
});
_satellite.track('ruleString');

错了,但是:

$.ajax({
  url: "test.html",
  context: document.body
}).done(function() {
  _satellite.track('ruleString');
});

会起作用的。

另外,请在 javascript 部分中添加带有数据元素值的直接调用规则 console.log,以检查触发规则时该值是否存在。

【讨论】:

    【解决方案2】:

    事实证明,最初为我们设置 dtm 的顾问在我们的应用测量文件中放入了一些自定义代码。它必须来自另一个客户端基本上只有当“cmpid”作为查询参数传递时,s.campaign 才被设置在那里。

    只要您调用 _satellite.track('stringVal');当你的 ajax 完成时

    如果数据元素的值来自通过 Ajax 完成的工作,那么在调用该数据元素之前不要使用任何其他规则。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-26
      • 2019-04-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多