61

サーバーからトラッキング イベントを送信するために、JavaScript の代わりに Google の新しい測定プロトコルを使用したいと考えています。

このページには、クライアント ID が必要であると書かれています: https://developers.google.com/analytics/devguides/collection/protocol/v1/devguide#required

そして、このページにはオプションであると書かれています: https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#visitor

さらに、これらのドキュメントで定義されている形式は異なります。最初のページでは例として整数が示され、「一意の値」であると書かれていますが、2 番目のリンクでは UUID である必要があると書かれています。

バックエンドでユーザー ID または生成された UUID を送信した場合、Google はどのようにしてその訪問者を既存の訪問者セッションにリンクすることを認識しますか? 既存のユーザーへの GA の内部参照を取得する必要があるようです。

どんな助けでも大歓迎です-ありがとう!

4

3 に答える 3

59

整数またはUUID

これは、JavaScriptトラッキングを使用する場合cidのCookieの2番目の値に相当します。_utmajsトラッキングでは、これはランダムな整数です(によって生成されMath.round(2147483647 * Math.random())ます)。ただし、文字列として格納および送信されるため、両方の形式(整数またはUUID)を使用できます。

必須/オプション

jsトラッキングでは、ユーザーIDが欠落している状態で送信されたリクエストは、Analyticsサーバーによって無視されます。したがって、それが必要であると想定します。

Web訪問者を測定プロトコルアクションにリンクする

バックエンドユーザーを、以前にAnalytics javascriptで追跡された訪問者とリンクする場合は、 Cookieから値をga.js取得できます。しかし、私はそれをお勧めしません。変更されるたびに(端末またはブラウザの変更、Cookieのクリーニングなど)、顧客の以前のアクションとのリンクが失われます。cid_utma

アップデート

analytics.js質問されたとき、は存在しませんでした。cidこれでCookieに保存され_gaます。あなたはそれをjavascriptで得ることができます:

ga(function(tracker) {
  var clientId = tracker.get('clientId');
});

これを書いている時点で、上記のコードのようにトラッカーからclientIdを取得すると、UUIDは提供されませんが、「XY」形式の2つのランダムな32ビット整数が提供されます。この実装は、将来UUIDに変更される可能性があります。

または、独自の値(バックエンドで生成されたUUIDなど)で設定します。

ga('create', 'UA-XXXXX-Y', {'clientId': 'your_client_id'});
于 2013-01-11T15:33:49.147 に答える
6

レールでは:

  def save_google_analytics_client_id
    if current_user && cookies["_ga"]
      client_id = cookies["_ga"].split(".").last(2).join(".")
      if current_user.google_analytics_client_id != client_id
        current_user.google_analytics_client_id = client_id
        current_user.save
      end
    end
  end
于 2015-03-15T23:18:12.813 に答える