2013-03-01 133 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 ''");

,你會發現塔它會捕獲您的搜索結果

請讓我知道更多的情況下澄清