2012-01-19 129 views
0

通過我們的GA代碼,我們正在跟蹤多個域和子域,並且只有幾個自我引薦,我們才能正確跟蹤大部分代碼。最大的問題在於我們使用Colorbox作爲模式窗口,並且我需要能夠將代碼附加到這些頁面以消除自引用。Google Analytics和Colorbox - 跨域跟蹤

我已經做了大量的搜索工作,並在JavaScript中尋找解決方法,沒有運氣。

如果我將onClick="_gaq.push(['_link', $(this).attr('href')]);return false;"添加到標記以打開模式窗口,當頁面使用Google的附加查詢字符串刷新時,它會跳出模式窗口並佔據整個瀏覽器窗口。我試過建立一個自定義函數,而不僅僅是一個直接的onclick,並且我得到了相同的結果。我找到的唯一參考是this article from 2010

我在這裏不知所措。我想也許我可以搶utmcc信息預鏈接並提前將其附加到URL,沒有找到一種方法從會話中抓取。

回答

1

這是我最終使用的代碼,感謝yahelc的幫助。

$('.link-btn').bind("cbox_complete", function(){ 
    var pageTracker = _gat._getTrackerByName(); 
    var href = $.colorbox.element().attr('href'); 
    if (href) { 
     _gaq.push(function() { 
      var pageTracker = _gat._getTrackerByName(); 
      setTimeout(function(){ 
       $('#cboxLoadedContent iframe').attr('src',pageTracker._getLinkerUrl(href)); 
      },1000); 
     }); 
    } 
});  
0

_link是一個便利的包裝上_getLinkerUrl.

你可以只是轉換的網址有動態鏈接在JavaScript中不使用便捷功能(在這種情況下是不方便)。 (假設jQuery,因爲你使用的是colorbox)。

假設鏈路上的標記是一樣的東西<a href="..." class="colorboxlink">Click!</a> ...

$(".colorboxlink").each(function(){ 
     $(this).attr('href', function(i,v){ 
       return _gat._getTrackerByName()._getLinkerUrl(v); 
     }); 
    }); 

我只推薦這種方法,如果它是不超過1或2個鏈接;對於大量的鏈接(20+),它可能會對性能產生影響。這裏是一個演示:http://jsfiddle.net/XscWT/

+0

謝謝。這與我所尋找的內容是一致的 - 唯一的一點是,它看起來沒有攜帶相同的用戶cookie,而是爲新頁面生成新的cookie。我理解這是如何工作不正確?我使用httpwatch和fiddler來窺探結果。你還需要在'this' - ''$(this)''' – retsoced

+0

Hm''旁邊有parens,試着在'_trackPageview'調用之後將代碼包裝在'_gaq.push(function(){...});假設異步語法) – Yahel

+0

我不確定要包裝什麼代碼。整個街區?我已經嘗試過幾種變體,如果我將它包裝在該功能中,它會停止發射...... – retsoced

相關問題