3

サイトの内部リンクに onclick イベントを追加して、Google アナリティクス イベント トラッキングを行うことを検討しています。でも気になるのは性能。私の理解では、ワークフローは次のように変更されます。

  1. ユーザーがハイパーリンクをクリックする
  2. イベント トラッキング データを送信するために、Google アナリティクスが呼び出されます。
  3. ブラウザは GA サーバーからの応答を待機します
  4. ブラウザはリンクをたどり、新しいページを開きます。

ステップ 2 と 3 によって生じる遅延が気になります。質問は次のとおりです。

  1. 流れに対する私の理解は正しいですか?
  2. GA イベント トラッキングの呼び出しによって発生する一般的な遅延 (ミリ秒単位) は?
4

4 に答える 4

3

イベントトラッキングは、Googleサーバーから画像をリクエストすることで機能します。問題は、新しいURLへのリンクをたどると、保留中/進行中のリクエストがすべて停止することです。トラッキングリクエストが行われる前に、ブラウザが同じウィンドウで新しいURLへのリンクを開いている場合、分析データが失われる可能性があります。

したがって、ステップ3は待機ではなく、トラッキング画像リクエストを完了する(または少なくとも開始する)ために追加する必要のある遅延です。100〜150ミリ秒はリクエストには十分な長さですが、ユーザーが気付かないほど短いです。

次のイベント追跡コード(jQueryコード)のバリエーションを使用します。

$('.someClassForTracking').click(function(e){
  _gaq.push(['_trackEvent', category, action, ...]);
  if (this.target != '_blank') {
    e.preventDefault();
    var url = this.href;
    setTimeout(function(){location.href = url}, 150);
  }
});
于 2012-08-14T17:19:49.127 に答える
1

について文書化されていますが、 にも使用できるhitCallbackメカニズムを使用できます。analytics.jsga.js

これは別の質問で対処されました:フォーム送信をクリックすると、Google アナリティクスでイベントを追跡します

于 2013-04-11T12:22:09.697 に答える
1

GA の最後で追跡が完了すると起動する「hitCallback」を追加する必要があります。タイムアウトについて心配する必要はありません。このイベントは、GA が応答を返すのに時間がかかる場合に発生します。つまり、イベントのタイムアウトを処理します。

<script>
/**
* Function that tracks a click on an outbound link in Google Analytics.
* This function takes a valid URL string as an argument, and uses that URL string
* as the event label.
*/
var trackOutboundLink = function(url) {
   ga('send', 'event', 'outbound', 'click', url, {'hitCallback':
     function () {
     document.location = url;
     }
   });
}
</script>

また、リンクに onclick 属性を追加 (または変更) する必要があります。この例を独自のリンクのモデルとして使用してください。

<a href="http://www.example.com" onclick=”trackOutboundLink(‘http://www.example.com’); return false;">Check out example.com</a>

ここから取得: https://support.google.com/analytics/answer/1136920?hl=en

于 2015-07-27T01:20:46.777 に答える
0

以前に内部的にも外部的にも GA を実装したことがありますが、パフォーマンスに目立った違いは見られませんでした。さらに、リンクのクリックを追跡する最新の方法では、追跡を非同期で行うことができると思います。

コレクション - Google デベロッパー ガイド

この方法でトラッキングを追加すると、トラッキングが非同期で行われている間、ユーザーはリンク アクションをたどることができます。

onclick="_gaq.push(['_trackEvent', 'myLink', 'clicked'])"
于 2012-08-14T14:43:22.203 に答える