我在同一个Adobe DTM网络媒体资源中有多个Adobe Analytics实例。他们都去了不同的报告套房。我想创建一个页面加载规则,以便只将数据报告给任何给定页面的一个报表包。到目前为止,我创建的页面加载规则导致AA数据报告给所有报表包。有没有人有任何想法让它们一次只发射一个?
谢谢, 麦克
答案 0 :(得分:4)
可以将DTM设置为禁止调用基于事件的规则或直接调用规则,但目前无法使用DTM内置接口中的页面加载规则来执行此操作。
你可以做的一些事情:
1)将您的Adobe Analytics实例合并到一个实例中。您是否使用多个Adobe Analytics实例?我知道你提到它们是针对单独的报表包,但它们是否也适用于单独的Adobe Analytics实例?如果不是,是因为它们是完全独立的实现,为它们分配了不同的变量和逻辑?如果它们之间唯一不同的是报表包ID,那么您应该将它们组合起来并编写一些逻辑来弹出s.account
的相关报表包ID。
2)利用s.abort
来抑制通话。如果您的代码版本是H25.3 +,或者您正在使用AppMeasurement,那么您可以将s.abort
设置为true
以进行下一个Adobe Analytics请求(s.t
或s.tl
来电)被取消。请注意,这可能仅在您的实例都使用单独的命名空间时才可行。如果您只是在同一命名空间下输出多个代码实例,则会出现问题。此外,如果您这样做,那么您可能还有一些问题,因为变量会转移到其他实例。但无论如何,基本上在你的页面加载规则中,你会添加一个规则条件,其中条件是Data:Custom,然后你编写js逻辑来确定你不想弹出哪一个并设置{{每个人都有1}}。然后在[namespace].abort=true;
结束,以确保条件始终为真。
或者,您可以在自定义页面代码部分中为要在页面加载规则中隐藏的每个Adobe Analytics实例设置return true
。弹出s.abort=true;
还有其他各种方法,但希望你能得到图片。哪一个最好只取决于你的所有东西是如何实际设置的。
3)将Adobe Analytics标记弹出为常规标记而不是工具。将它们作为工具删除,并将它们作为 Javascript / Third Pary Tag 放在页面加载规则中。这包括核心lib代码以及工具配置部分中可能包含的任何其他内容。这也意味着输出“触发器”(s.abort
调用)。为每一个单独制作一个,然后你可以为它们制作条件。
答案 1 :(得分:2)
要添加到Crayon的答案,您还可以在工具配置设置的“库管理”部分中选择自定义代码实现。您必须粘贴s_code内容并选中“使用下面的自定义代码设置报表套件”框
然后,您可以使用任何逻辑来设置代码中的变量,该变量将数据定向到报表包。
if(document.location.href == "http://www.mypage1.com"){
s_account = "rsid_1";
}else{...}
答案 2 :(得分:0)
为了增加Brett的答案 - 除了极少数例外,我让Adobe管理分析文件。但是,您可以使用Adobe Analytics工具配置中的自定义页面代码部分来动态部署插件或设置报表包ID。这是我常用的一个例子:
var suiteid;
var enviro;
var getURL = window.location.href
// Set RSID based on URL
if (getURL.indexOf('myURL.com') != -1)
{
suiteid = 'rsidproduction';
s.linkInternalFilters = 'javascript:,mailto:,tel:,' + window.location.host;
enviro = 'prod';
}
else
{
suiteid = 'rsidstaging';
s.linkInternalFilters = 'javascript:,mailto:,tel:,' + window.location.host;
enviro = 'dev';
}
s.account = suiteid;
这是一种动态更改RSID并保持Adobe管理的分析文件的简便方法。我还在这里写了博客:Managing your RISD Dynamically