如何对 Adob​​e Analytics (Omniture) 数据进行采样

How to Sample Adobe Analytics (Omniture) Data

我在网上找不到任何关于如何对 Adob​​e Analytics 数据进行采样的信息?我需要将 Adob​​e Analytics 集成到一个具有大量流量的新网站中,以便利益相关者希望对数据进行采样以避免过多的服务器调用。我正在使用 DTM,但不确定这是否有帮助或不是一个因素?任何人都可以指出一些文档或指导我如何执行此操作吗?

Adobe Analytics 没有任何内置的数据采样方法,无论是在它们的末端还是在 js 代码中。

DTM 也不提供此类服务。它没有任何(公开的)机制来评估对给定 属性(容器)发出的 all 请求;任何将状态扩展到 "hit" 范围之外的规则都是基于 cookie 的。

Adobe Target 确实提供了根据流量百分比输出代码的功能,因此您可以通过这种方式实现采样,但实际上,您只是用一个服务器调用成本换取另一个服务器调用成本。

基本上,您唯一的解决方案是创建自己的服务器端框架,用于有条件地输出 Adob​​e Analytics(或 DTM)标签,以使用 Adob​​e Analytics 实现采样。

更新:

@MichaelJohns 在下方评论:

We have a file that we use as a boot strap file to serve the DTM file. What I think we are going to do is use some JS logic and cookies around that to determine if a visitor should be served the DTM code.

好吧,也许我误解了你的目标是什么(但我不认为我是)但那是行不通的。

例如,如果您只想输出对 50% 访问者的跟踪,您将如何单独使用 javascript 和 cookie 来实现这一目标?为了知道您只过滤了 50%,您需要知道参与游戏的总人数。就其本身而言,javascript 和 cookie 只知道一个浏览器,一个人。它无法了解其他 99 个人的任何信息,除非您在所有人之间拥有某种共享状态,例如在数据库服务器端跟踪计数。

单独使用 javascript 和 cookie 最多只能抛硬币。在这个 50% 的示例中,基本上您会在 1 到 100 之间随机选择一个 #,下半部分没有跟踪,上半部分得到跟踪。

问题是钟摆有可能以一种方式或另一种方式摆动 100%。这和连续抛硬币100次是一样的道理:100次都朝反面着地是完全可能的。

理论上,随着时间推移的趋势应该显示总体平均值为 50/50,但这有一个主要缺陷,即您可能一个月有大量流量,而另一个月流量很少。或者您可能有一个星期的流量很少,然后是 1 天的大量流量。而且您真的不知道随着时间的流逝这将如何体现;除非您实际记录了 100% 的流量,否则您无法真正知道您的钟摆在哪个方向摆动。这一切的影响是它绝对会破坏你的趋势数据,这是进行任何有意义的分析的核心原则。

所以基本上,如果您真的想可靠地输出对 % 流量的跟踪,您将需要一种机制来实际记录 100% 的流量。如果我要推出自己的自制 "sampler",我会这样做:

在平面文件或数据库中 table 我会有两列,一列代表 "yes",一列代表 "no"。每次发出请求时,我都会查找 cookie。如果 cookie 不存在,我将其视为新访客。由于是新访客,我会将其中一列增加 1。

哪一个?这取决于我想要(不)跟踪的流量百分比。在这个例子中,我们做的是一个非常简单的 50/50 分割,所以实际上,我需要做的就是递增较低的那个,如果它们当前相等,我可以随机选择一个。如果您想进行更不均匀的拆分,例如30% 被跟踪,70% 没有被跟踪,那么公式就变得有点复杂了。但这是一个不同的讨论主题(另外,有很多比我聪明得多的人发表的论文、文档和维基可以解释得比我好得多! ).

然后,如果命中注定我会增加 "yes" 列,我会将 "track" cookie 设置为 "yes"。否则,我将 "track" cookie 设置为 "no"。

然后在我的控制器(或 bootstrap、路由器,无论所有请求通过什么)中,我会查找名为 "track" 的 cookie 并查看它的值是否为 "yes" 或 "no"。如果 "yes" 那么我输出跟踪脚本。如果 "no" 那么我就不会。

所以总而言之,过程是:

  • 已提出请求
  • 寻找 cookie。
  • 如果未设置 cookie,更新 database/flatfile 递增是或否。
  • 设置 cookie 是或否。
  • 如果cookie设置为yes,输出跟踪
  • 如果cookie设置为no,不输出tracking

注意: 根据您服务器的 language/technology,cookie 直到下一次请求才会真正设置,因此您可能需要加入逻辑来查找来自 db/flatfile 更新的返回值,然后回退到在最后 2 个步骤中查找 cookie 值。

另一个(更一般的)注意事项:一般来说,你应该注意抽样。确实,某些跟踪工具(最著名的是 Google Analytics)会对数据进行采样。但问题是,它最初记录了所有的数据,然后使用复杂的算法从那里采样,包括excluding/exempting某些来自抽样的关键指标(如购买、目标等)。

想一想。即使您花时间如上所述设置适当的 "sampler",您也基本上是在丢弃 window 证明人们在您的网站上做关键事情的数据——帮助您决定在哪里做的重要事情尽可能让访问者在您的网站上获得更好的体验等等。所以现在唯一的解决方法是开始在内部记录所有内容,并将这些因素考虑到是否将数据发送给 AA。

但除此之外..看,我同意点击率在某种程度上是值得关注的。我曾与非常非常大的客户合作过,他们的预算实际上是无限的,甚至他们也担心命中成本会增加。

但归根结底,您是在为 企业级 工具付费。如果您担心 Adob​​e Analytics 对您网站流量的成本.. 或许您应该考虑从 Adob​​e Analytics 转移到其他工具,如 GA,或其他不按点击量收费的工具。 Adobe Analytics 是一种 企业级 工具,提供的功能比大多数其他工具都多,而且价格也相应。没有冒犯,但在我看来,这就像租一辆梅赛德斯,然后以便宜的价格购买你使用的汽油。