2013-03-01 136 views
4

我在计划如何跟踪Omniture/SiteCatalyst中的内部搜索数据。如何在SiteCatalyst中跟踪提前输入内部搜索

这是一个标准的“输入一个术语并得到一个结果页”模型的一个相当直接的计划:设置sProps和eVars的术语,结果的数量和搜索到的页面,然后激发成功用于搜索的事件和用于单击搜索结果的另一个事件

对于输入提前搜索 - 用户在搜索栏中输入搜索结果时 - 给定事件提交的时间处理方法,以便最终不会出现不同的事件/检索词条目中的字母4,5,6和7的条目?我一直使用

回答

2

我们的解决方案是利用自动完成的延迟来减少呼叫次数。从跟踪的角度来看,如果有人暂停1秒(或500毫秒,无论),那么他们可能实际上正在等待自动完成结果,并构成一个有效的搜索。

从技术角度来看,我们对jQuery UI的小部件利用了delay option

0

策略是不跟踪features..put搜索结果页面一样正常的在跟踪的“自动完成”搜索。还是你说整个搜索结果页面正在输出,因为用户输入?如果是这样的话......你可以做的一件事就是编写一些代码来在搜索字段失去焦点时弹出Omniture代码。

你可以做的另一件事是在访问者在搜索栏中键入,每个按键,写入电流值的cookie。然后让页面加载运行一些代码来查找该cookie,如果存在,则弹出Omniture搜索变量并清除cookie。或者,您可以跟踪当前值w/a服务器端会话变量,因为我认为这件事是ajax驱动的,并且如果会话var存在,则输出omn代码w /服务器端代码。这些方法意味着搜索事件和变量不会在搜索结果页面上弹出......这可能不是什么大不了的事情,除非你有支持的变量,比如“内部搜索引用”prop/eVar跟踪访问者所在的上一页(或访问者执行搜索时访问的页面)。所以你必须牢记这一点,并将其贯彻下去。

0

当你做一个搜索,你可能会意识到,查询字符串参数的URL的末尾添加得到的概念。

假设www.stackoverfow.com是网站,当你在执行上有一个搜索,然后它会像www.stackoverflow.com?q=yourname,提供yourname是searchkeyword.This关键字,我们可以在拍摄的SiteCatalyst 。

你可以看到google.com,同时搜索互联网上的SiteCatalyst是--- www.google.co.in/search?q=sitecatalyst

以同样的方式,我们可以使用查询字符串参数因为q =某事。


做这一切的事,我们可以使用在s_code库文件的插件部分的插件getQueryParam获取该变量并存储在SiteCatalyst的变量之后...

例如: -

function s_doPlugins(s) { 
 
var one = s.getQueryParam("q"); 
 
if(one) 
 
s.eVar1=one; 
 
} 
 
s.doPlugins=s_doPlugins

插入此下面的代码外插件部分

/* 
 
* Returns the value of a specified query string parameter, if found in the current page URL. 
 
*/ 
 
s.getQueryParam=new Function("p","d","u","" 
 
+"var s=this,v='',i,t;d=d?d:'';u=u?u:(s.pageURL?s.pageURL:s.wd.locati" 
 
+"on);if(u=='f')u=s.gtfs().location;while(p){i=p.indexOf(',');i=i<0?p" 
 
+".length:i;t=s.p_gpv(p.substring(0,i),u+'');if(t){t=t.indexOf('#')>-" 
 
+"1?t.substring(0,t.indexOf('#')):t;}if(t)v+=v?d+t:t;p=p.substring(i=" 
 
+"=p.length?i:i+1)}return v"); 
 
s.p_gpv=new Function("k","u","" 
 
+"var s=this,v='',i=u.indexOf('?'),q;if(k&&i>-1){q=u.substring(i+1);v" 
 
+"=s.pt(q,'&','p_gvf',k)}return v"); 
 
s.p_gvf=new Function("t","k","" 
 
+"if(t){var s=this,i=t.indexOf('='),p=i<0?t:t.substring(0,i),v=i<0?'T" 
 
+"rue':t.substring(i+1);if(p.toLowerCase()==k.toLowerCase())return s." 
 
+"epa(v)}return ''");

,你会发现塔它会捕获您的搜索结果

请让我知道更多的情况下澄清