Server Side Google Analytics できる気がしない

モバイル用に Server Side Google Analytics な感じで Google Analytics を(やろうと思えば)できる様なので、やってみようかとしているわけですが、全くもってできる気がしません。

考え方として、ビーコン(GIF Request)へのリクエストをサーバ側でやっとけば、統計情報を Google に送信できるわけで、そうすればいい、というのは分かります。そのパラメータ一覧も Google で公開されているので、必要に応じて渡したらいいだろう事も分かります。ただ、このパラメータ一覧の2つ目のutmccの意味が分かりません。

Google Analytics がブラウザに食わせた Cookie の内容を、ビーコンで送信するためのものだという事は分かります。分からないのは、その中身の値をどうやって決めるのかという事です。以下でそれらしき情報が公開されていたので、読めば分かるのかと思いましたが、具体的な値の仕様までは書いていない様な気がするわけです。
Cookies & Google Analytics - Google Analytics Tracking Code - Google Code

ブログ記事やGoogle Analyticsのフォーラムで、いくつかその辺の情報を見かけはしますが、それが何を根拠にしたものかよく分かりません。
Tracking from server side - Tracking Your Site | Google グループ
ある程度割り切ってしまえば(最低限何を記録できればいいのかはっきりさせれば)、十分な情報ですが、それなりに機能を追随させようとすると、心もとないわけです。ググって見つけた以下のコードでは、きっと割り切って、目的を絞った結果じゃないかと思ってみたりしています。

で、とりあえず、ga.jsを読んでみればいいのかなと思い、Online beautifier for javascriptを使って整形してから読んでみたわけですが、さっぱりです。アルファベット1文字の変数が沢山あり、かつそのスコープがあれこれしててよく分かりません。ただでさえ、JSを理解しきれていないので、大混乱です。utmcc 関連の処理を追いかけて、Cookie に書き込むところまではおおよそで把握できましたが、肝心の値を決定している部分がまだ分かっていません。正直、やる気が起きません。疲れます。

で、コードを読んでいって思ったわけですが、結局、コード読んでまじめに Server Side Google Analytics の実装を目指してしまうと、不毛で無駄で無茶な作業になるのではないでしょうか。出来上がればそれはそれで価値があるとは思うんですが、とはいえ、Google が明確に仕様を公開していない(と思われる; 見つけられていません)ものを、コード(実装)を見てどうにかするというのも、なんだか今いちスッキリしません。

まあ、なんと言いますか、JSのコード自体読み慣れていないのに、あんな意味不明な変数名ばっかりのコードにつきあいきれない、というのが本音です。ソースコードの読み方を間違えて、無駄に苦労している様な気もしますけど。あと、(JSによるトラッキングから) Google Analytics でとれるレポートにできる限り対応した方がいいのかと考えてしまっているのも、問題を無駄に複雑にしているんでしょうね。

と、延々愚痴っていますが、気分転換(神頼み的)に出来上がりものがないかググっていた中で、以下にたどり着いたわけです!

13.  財産権表示 UTM 及び Google Analytics ソフトウェア等を含む本サービス及び本サービスの全知的財産権は、全て Google (及びその 100 %子会社)の財産であり、かつあり続けるものとします。 Google (及びその 100 %子会社)が有するプロセシングソフトウェア及び付属文書の単独所有権等を含め、 Google Analytics ソフトウェアに関する権利であって本契約においてお客様に対して明示的に付与されていない権利は、全て無制限に Google 及びそのライセンサーがこれを明示的に留保・保有するものとします。前記規定の一般性を限定することなく、お客様は、以下の行為をせずかつ第三者にさせないことに同意します。 (a) 本サービスをサブライセンスし、配布し、又は本契約において付与された本ライセンスの範囲を超えて使用すること。 (b) プロセシングソフトウェアのコピー、改変、改作、変換、派生著作物の作成、リバースエンジニアリング、逆アセンブルを行い、又は逆コンパイルその他の方法で本サービスのソースコード若しくは本サービスに関連する営業秘密を探ろうとすること。 (c) 目的を問わず本サービスに関連する商標、商号、サービスマーク、ロゴ、ドメイン名及びその他の明確なブランド特性又は著作権若しくはその他の財産権を、 Google の書面による明示的な同意なしに使用すること。 (d)Google (又はその 100 %子会社)に関連する商標、商号、サービスマーク、ロゴ、ドメイン名及びその他の明確なブランド特性又は著作権若しくはその他の財産権を Google (又は場合によってその 100 %子会社)の名義以外で登録し、登録を試み、又は他人が登録するのを支援すること。又は (e) 本サービスに含まれるアイテムに表示されている著作権、商標又はその他の財産権表示を削除し、不明瞭にし、又は改変すること。
Google Analytics - Features

全く意識せずにソースコードを読んで、あわよくば移植とかも視野に入れていたわけですが…。躊躇せずオープンソースなノリで取りかかっていましたが、ga.js には(再利用可能を示す様な)ライセンスなんて無いわけです。(読める以上は)読むのは自由でしょうが、それ以上の事はサービス利用規約の制限内でやらないと駄目ですね。

正直、現時点で既に(b)の『リバースエンジニアリング、逆アセンブルを行い、又は逆コンパイルその他の方法で本サービスのソースコード若しくは本サービスに関連する営業秘密を探ろうとすること。』に抵触してしまった気がします。

営業秘密とは、秘密として管理されている生産方法、販売方法その他の事業活動に有利な技術上または営業上の情報であって、公然と知られていないもののこと(不正競争防止法2条4項)。

営業秘密を不当に使用した場合、一定の要件で不正競争行為となり、不正競争防止法違反となる。
営業秘密とは 〜 exBuzzwords用語解説

さて、どうしたものでしょうか。Google がオープンソースで、Pythonか何かのサーバサイドで動作するものをリリースしてくれませんかね?もちろん、JS だからこそとれている情報はとれなくなるでしょうけど、それはそれで。

モバイル端末用サイトでアクセス解析がしたければ、それに公的に対応しているサービスを使うべき、という事でしょうか。

プロフィール

このブログ記事について

このページは、koshigoeが2008年11月29日 00:58に書いたブログ記事です。

ひとつ前のブログ記事は「Passenger と rake のアップデートと gem のアクティベートでの例外」です。

次のブログ記事は「久方ぶりのPHP」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。