クイック エンジニアリングブログ

株式会社クイック Web事業企画開発本部のエンジニアリングチームが運営する技術ブログです。

【Googleアナリティクス】クライアントIDが取得できない場合の対処法

yumeです。

ユーザーベースの行動分析を行うために、Google Analyitcs(GA)のclientIDを取得して各システムに連携する…ということを試みました。
その中で、うまくclientIDを取得できない!というケースがあったので紹介します。

GA フォーラム | Googleアナリティクスの情報サイト | ユニバーサル アナリティクスでクライアント ID を表示して、個々人の行動分析をするには
(↑あたりの記事を読んで、試していました。)

流れ

clientIDが取得できない

trackerが複数あることが原因でした。

→修正したところ、clientIDが取得できるようになりました

それでもまだ一部のclientIDが取得できない

一応連携はできたのですが、clientIDが取得できず、空のケースが無視できないくらいありました。
他のデータを照らし合わせて見ても、Cookieの許可うんぬん以前の問題のように見えたので、調査。

対処法

取得できないケースの要因として自分の中で有力だったのが、「GAに問い合わせできていない」「GAに問い合わせできているが、clientIDを返せていない」でした。

なんとなく後者のような気がしたので、

「clientIDを取得する」処理を、clientIDが返るまで繰り返しました。

(上限10回、何msか置いて実行)

→単純な発想でしたが、取得精度が格段に向上しました。

考察

今回のケースでは、clientIDをGA側のランダムな生成に任せています。

初回訪問などで、Cookieに該当の情報を持っていないユーザーに対しては

  • clientIDを生成
  • Cookieに設定

を行った後でないと、tracker.get('clientId') の値が空になってしまうのでは?と推測しています。
(確証はありません)


「折角実装したのに、clientIDを取得できてなくて分析に使えない!!!!」ということがあればお試しください。