9

新しいリクエストにつながらないクリックを Google アナリティクスで追跡しようとしています。具体的には、jQuery UI タブ ウィジェットを介して作成されたタブのクリックです。古いバージョンのコード (「urchin tracker」) を使用して、次のようにクリックを記録しようとしています。

$('.ui-tabs-nav li a').click(function() {
    val = "/tab/" + $(this).attr('href');

    // when uncommented, the following line reports, for example:
    //   /tab/#main
    // as expected.
    // console.log(val);

    res = urchinTracker(val);
});

別の例では、同じ方法が機能します。私が知る限り、文字列にハッシュ (#) 記号がないことだけが大きな違いです。その文字は によって追跡される文字列で許可されていませんurchinTracker()か、それとも他の原因 (誰もリンクをクリックしていないこと以外に!) があるのでしょうか?

4

6 に答える 6

9

デフォルトでは、GoogleAnalyticsはアンカータグの追跡を無効にします。従来のトラッキングコードで有効にするには、次のフォームを使用します。

_uanchor = 1;
urchinTracker(val);

値を変数に設定することは、最新のGAコードベースを使用するときに_uanchorメソッドを呼び出すことと同じです。_setAllowAnchor(詳細な比較は、Google Analytics追跡コード移行ガイドにあります-このリンクは古くなっています)。

この方法_setAllowAnchorは、Googleリファレンスサイトで説明されています。

于 2009-08-14T12:42:41.583 に答える
3

つまり、Google Analytics は「#」文字を含むページ上のリンクを追跡できません。index.html#foo のクリックは単に index.html のクリックとして扱われ、「#」以降はすべて無視されます。

「#」文字をエスケープすることを検討できます。

$('.ui-tabs-nav li a').click(function() {
    val = new String("/tab/" + $(this).attr('href')).replace('#', '&');

    // when uncommented, the following line reports, for example:
    //   /tab/#main
    // as expected.
    // console.log(val);

    res = urchinTracker(val);
});

あなたの例では、これは のページ ビューを記録します/tab/?main。これは、Google アナリティクスで正常に機能するはずです。

于 2009-08-10T12:55:43.790 に答える
0

GoogleAnalyticsのイベントトラッキングの例ではonclick=""のゴミを使用したいようですが、おそらくこれらをjQueryのクリックイベントにバインドすることもできます。

于 2009-08-17T11:06:50.647 に答える
0

https://developers.google.com/analytics/devguides/collection/gajs/methods/gaJSApiCampaignTracking

_gaq.push(['_setAllowAnchor', true]);
于 2013-07-22T08:57:23.017 に答える
0
  1. _uanchor = 1;メソッドを使ってみました。それはうまくいきません。機能しない理由は、ハッシュ値を送信するのではなく、Google アナリティクスのパラメーターをハッシュ値として送信するように設計されているためです

    Török Gábor's answerで引用されているガイドから、 1に設定_uanchorすると次のような効果があります。

    有効にする#と、デフォルトの代わりに を使用?して、リクエスト ステムをクエリ文字列から分離します

    これは「キャンペーン トラッキング」セクションにあります。

  2. ロブ ナイトの答えは問題なく機能しますが、少し変更を加えました。擬似コード:

    if (href contains ?) {
    href = href.replace('#', '&');
    } else {
    href = href.replace('#', '?');
    }
    

のような URL を持つことが GA にとって本当に重要かどうかはわかりませんがfoo.html&bar=baz、私にはすっきりしているように思えました。

于 2009-11-05T16:23:24.027 に答える