Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/408.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Omniture PageName跟踪自定义PageName和;Omniture suite中的PageURL我只希望跟踪自定义PageName_Javascript_Adobe Analytics - Fatal编程技术网

Javascript Omniture PageName跟踪自定义PageName和;Omniture suite中的PageURL我只希望跟踪自定义PageName

Javascript Omniture PageName跟踪自定义PageName和;Omniture suite中的PageURL我只希望跟踪自定义PageName,javascript,adobe-analytics,Javascript,Adobe Analytics,我在Omniture的页面加载中遇到了一个问题,我想跟踪自定义页面名,所以我在页面底部添加了这个脚本 <script language="JavaScript" type="text/javascript"><!-- /* You may give each page an identifying name, server, and channel on the next lines. */ pageName = "abc.com:home" s.server="" s.cha

我在Omniture的页面加载中遇到了一个问题,我想跟踪自定义页面名,所以我在页面底部添加了这个脚本

<script language="JavaScript" type="text/javascript"><!--
/* You may give each page an identifying name, server, and channel on
the next lines. */
pageName = "abc.com:home"
s.server=""
s.channel=""
s.pageType=""
s.prop1=""
s.prop2=""
s.prop3=""
s.prop4=""
s.prop5=""
/************* DO NOT ALTER ANYTHING BELOW THIS LINE ! **************/
var s_code=s.t({pageName:pageName});if(s_code)document.write(s_code)//--></script>
<!-- End SiteCatalyst code version: H.20.3. -->  

每次加载页面时,我都会通过调试器工具PageName分配“abc.com:home”,但当我在Omniture Suite中进行检查时 报告和分析-->网站内容-->页面-自定义页面名和页面URL都被跟踪我只想在套件中跟踪自定义页面名请分享这些视图或想法如何摆脱页面URL。

来自您的评论:


嗨,蜡笔谢谢你的回复1.是的,我的客户要求 站点中所有页面的自定义页面名称。我们正在使用 上述代码站点的CMS工具在主模板2中硬编码。 是的,我正在调用页面加载上的另一个s.t()来捕获其他 事件、道具、评估。。3.如果我在任何时候都通过s.PageName=“abc.com:home” 调用另一个s.t()PageName会在另一个s.t()中捕获,以 减少PageName的重复我将其作为参数传递。4.我也 我只在一个信标中与其他调试工具进行了交叉检查 传递页面名

好的,您在pages报告中同时看到pageName值和URL的原因是,您有两个
s.t()
调用,其中只有一个调用具有
s.pageName
的值。您说过要传递
pageName
值以避免页面计数两次。这已经发生了,因为您正在使用两个
s.t()
调用。因为您没有在第二个页面中指定
页面名
,所以URL是默认的

理想的解决方案是将代码重新构造为只有一个
s.t()
调用。你说你在和CMS合作。因此,理想情况下,您应该在全局头include中包含
s_code.js
script标记。然后在全局页脚包含中应该有一个
s.t()
调用。您还可以将global变量放在页脚部分(或
s_code.js
s_doPlugins
函数中)。然后,在这两者之间是放置任何特定于页面的自定义代码的地方。在我看来,你已经在做这件事了。。但是您只需要删除第一个
s.t()
调用

如果出于任何原因,您无法实现理想的解决方案,您应该转而接受第二个请求。要使用
s.tl()
,您可以执行以下操作:

s.prop1='foo';
s.eVar1='bar';
s.events='event1';
s.linkTrackVars='prop1,eVar1,events';
s.linkTrackEvents='event1';
s.tl(true,'o','description');
基本上,要在
s.tl
调用中跟踪的任何道具、评估和事件都需要在
linkTrackVars
linkTrackEvents
中声明

注意:你应该努力寻找理想的解决方案。不仅仅是页面报告会被夸大。您设置的任何其他VAR也会充气。此外,Adobe的付款模式是对向其服务器发出的每一个请求收取费用,因此您的客户可能不会喜欢您这样做会使他们的账单翻倍


s.tl
方法绝非理想,但它比您现在所做的要好。因为它将减少报告膨胀,并且
s.tl
请求的成本低于
s.t
请求

首先,您有什么理由这样设置
pageName
?如果您只执行
s.pageName='abc.com:home'
,则它将在
s.t()
调用中记录该操作,而无需传递该操作。另外,当您将它像那样传递给
s.t()
时,它会使它成为临时的。它将在点击时记录
页面名
,然后将其删除。这就引出了我的下一点:仅仅因为这段代码,您在报告中看不到URL和pageName值。此代码本身将生成一个请求,页面名称为“abc.com:home”。因此,您的代码中必须有比您所显示的更多的内容。。。。可能是您的
s_code.js
文件中的某些内容发出了第二个请求。或者另一个
s.t()
呼叫页面上的某个地方,等等。嗨,蜡笔谢谢你的回复1。是的,我的客户要求为整个站点的所有页面提供自定义页面名称。我们正在使用CMS工具的网站上面的代码是硬编码在主模板2。是的,我正在页面加载上调用另一个s.t()来捕获其他事件,prop,evar。。3.如果我在调用另一个s.t()时传递s.PageName=“abc.com:home”,则PageName会被另一个s.t()捕获,以减少PageName的重复,我将它作为参数传递。4.我还与其他调试工具进行了交叉检查,只在一个灯塔中通过了PageName。非常感谢蜡笔提供的宝贵信息。我将在整个页面中只调用一个s.t()请求。嗨,Crayon,我还有一个疑问,如果我们发送的s.tl()请求中没有s.PageName,默认情况下PageName会分配给该请求吗?正如您所说,我现在只发送一个s.t()请求,但当我导航到另一个页面时,我必须捕获一些事件,所以我使用s.tl()来实现这一点,但当我签入Httpfox PageName时,每当s.tl()时,就会触发它再次调用时,PageName将被复制。@arun408一个
s.tl
调用将获取当前的
PageName
值,是的。这样Adobe就可以将事件与发生事件的页面相关联<来自
s.tl
呼叫的code>pageName(或默认URL,如果未指定),不会膨胀您的页面报告。此外,如果我的答案解决了您的问题,请标记为已解决(单击答案旁边的复选框):)