在Adobe DTM中将日期设置为道具

时间:2016-09-27 19:19:19

标签: tags adobe analytics adobe-analytics web-analytics

我正在尝试使用Adobe DTM将日期传递给prop变量,但没有取得多大成功。最终输出应该是Adobe的道具报告,它将为我提供特定日期的交通数据(2015年5月11日,2015年6月15日等)。将日期设置为道具的最终目标是能够根据各种业务需求对一系列日期进行分类。

有人能指出我正确的方向来完成这项工作吗?我假设我必须在s.code文件中添加一行代码来定义s.prop5 = ...

由于

2 个答案:

答案 0 :(得分:2)

根据您的评论,听起来您只是希望使用" MM-DD-YYYY"来播放带有当前日期戳的内容。格式。

正如Gigazelle所提到的,你可以创建一个数据元素来返回值,然后引用它来设置你的道具。但是,根据您的需求/限制,将数据层投入混合可能对您来说太过分了。

数据层用于公开DTM可以通过内置功能或托管自主js片段自行实现/可靠自动化的数据。

您可能希望考虑让您的网站将其推送到数据层的唯一原因是,如果您希望通过服务器端编码生成日期,以确保在所有访问者的相同时区设置内生成日期。如果您在客户端生成它,它将根据访问者的浏览器/系统设置生成。由于访问者来自世界各地不同的时区,因此数据可能不一致(即使您添加其他代码来更改时区偏移量,它仍可能不是100%基于浏览器版本/安全设置,或访问者改变他们的浏览器/系统日期/时区设置)。

因此,如果您想确保最佳准确度,那么我建议您通过服务器端代码输出值,并放入数据层。如何执行此操作取决于您的服务器以及您所使用的语言,以便为您的网页提供服务。这是使用PHP的一个非常基本的例子:

<script>
var dataLayer = {
  currentDate : '<?php echo date('m-d-Y'); ?>'
}
</script>

这将使服务器生成日期戳并输出一个名为dataLayer的js对象,其中包含您可以引用的属性currentDate。您可以将数据元素创建为类型&#34; JS对象&#34;对于路径,请添加dataLayer.currentDate,然后在其他位置引用您的数据元素(参见下文)。

如果这对您来说太麻烦,或者您希望将其保持为纯客户端/ DTM,并且可能具有较低的一致性......

在DTM中,转到规则&gt; 数据元素,然后点击创建新数据元素

名称它&#34; currentDate&#34; (没有引号)。

对于类型,选择&#34;自定义脚本&#34;,然后点击打开编辑器,并添加以下内容:

var t=new Date(),d,m,y;
d=t.getDate();
d=d<10?'0'+d:d;
m=t.getMonth()+1;
m=m<10?'0'+m:m;
y=t.getFullYear();
return m+'-'+d+'-'+y;

点击保存并关闭保存数据元素

现在,您可以引用数据元素以弹出prop5。如何操作取决于您在DTM中如何设置Adobe Analytics。例如,如果您将其设置为工具并且只希望它在初始页面视图中弹出,则可以打开AA工具配置,转到全局变量下拉列表,然后设置{{1} } 那里。您将其引用为prop5

enter image description here

您可以在网页加载规则或其他规则或使用DTM内置字段的任何其他地方执行相同的%currentDate%语法。

或者,如果您需要在javascript代码中引用它(例如,如果您在%currentDate%或其他自定义脚本框中设置prop5,则可以引用数据像这样的元素:

s.doPlugins

答案 1 :(得分:0)

  1. 在您的网站上设置一个JS变量(例如在数据层中),该变量以您希望收集的格式输出日期。类似于var d = Date();
  2. 在DTM中,转到规则&gt;数据元素并创建一个映射到您在站点上创建的JS变量的数据元素
  3. 如果要在每个页面上定义prop5,请单击齿轮图标并使用%DataElementName%将prop5映射到数据元素名称(无论您在步骤2中将数据元素命名为什么,请用百分号包装)。如果您不希望在每个页面上定义它,请转到规则并创建页面加载规则,基于事件的规则或直接调用规则,具体取决于您希望变量触发的时间。在规则的Adobe Analytics部分下,将prop5映射到%DataElementName%。
  4. 这将允许您将日期作为值收集,然后可以在分类中使用。