2012-01-19 16 views
0

GoogleのGAコードでは、複数のドメインとサブドメインをトラッキングしており、コードの大部分は2つの自己紹介で正しくトラッキングしています。最大の問題は、私たちがモーダルウィンドウにColorboxを使用しているという事実を中心にしており、これらのページにコードを付けて自己参照を取り除く必要があります。Google Analyticsとカラーボックス - クロスドメイントラッキング

私は多くの検索を行い、JavaScriptを使用して回避策を見つけることができました。

modalウィンドウを開くためにonClick="_gaq.push(['_link', $(this).attr('href')]);return false;"をaタグに追加すると、ページがGoogleのquerystring paramsを添付してリフレッシュすると、モーダルウィンドウから切り離され、ブラウザウィンドウ全体が引き継がれます。私は、まっすぐな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はあなただけ(この場合には不便である)の便利な機能を使用せずにJavaScriptで動的リンカを持っているURLを変換することができ

_getLinkerUrl.上で便利なラッパーです。 (あなたがcolorboxを使っているので、jQueryを仮定します)。そのリンク上のマークアップを想定し

<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の周りに括弧を入れておく必要があります。 '_trackPageview'呼び出しの後に' _gaq.push(function(){...}); '非同期構文を前提としています) – Yahel

+0

ラップするコードは正確にはわかりません。ブロック全体?私はいくつかのバリアントを試しましたが、その機能でラップすると、それはまったく終了しません.... – retsoced