Google Analytics と Baidu Statistics の統計データは異なり、その違いは非常に大きく、その根本的な理由はデータ統計の原理とメカニズムが異なるためです。 Google AnalyticsとBaidu Statisticsの原理分析を共有しましょう。
Baidu統計の動作原理の分析
Baidu Statistics が提供する JS は、基本的に hm.baidu.com/h.js のコードをページに導入します。コードの内容は、h.js に続くパラメータによって異なります。百度統計の.id。
h.js コードを取得する際、Baidu Statistics は「HMACCOUNT」という名前の Cookie をブラウザに書き込みます。この Cookie の有効期限は 2038 年であるため、ブラウザの Cookie をクリアしない限り、基本的に期限切れになることはありません。
h.js がダウンロードされると、そのスクリプトが実行されてブラウザ関連の情報が取得され、取得される情報には画面サイズ、色深度、Flash バージョン、ユーザー言語などが含まれます。
JS コードのすべてのパラメータには、「cc、cf、ci、ck、cl、cm、cp、cw、ds、ep、et、fl、ja、ln、lo、lt、nv、rnd、sb、se」が含まれます。 、si、st、su、sw、sse、v」。これらのパラメータの意味はおおよそ次のとおりです。
cc: わかりません、通常は 1
cf:URLパラメータhmsrの値
ci:URLパラメータhmciの値
ck: Cookie をサポートするかどうか 1:0
cl: 色深度(「32 ビット」など)
cm:URL パラメータ hmmd の値
cp:URL パラメータ hmpl の値
cw:URLパラメータhmkwの値
ds: 画面サイズ (「1024×768」など)
ep: 初期値は「0」で、ページ滞在時間を反映する時間変数です。形式はおそらく次のとおりです: 現在時間 - 読み込み時間 + "," + 別の小さな時間値。
et: 初期値は「0」です。ep time 変数が 0 でない場合は、他の値になります。
fl:フラッシュバージョン
ja:java は 1:0 をサポートします
ln: 言語 zh-cn
lo: わかりません、通常は 0
lt: Date time.time() (「1327847756」など)、最初のリクエストでは使用できません
nv: わかりません、通常は 1 または 0
rnd: 10 個の乱数
sb: 360se ブラウザの場合、値は「17」に相当します。
se: 検索エンジン関連
si: 統計コード ID
セント:
su: 前のページの document.referrer
sw: わかりません。おそらく検索エンジンに関係しています。通常は空です。
sse: わかりません。おそらく検索エンジンに関係しています。通常は空です。
v: 統計コードのバージョン。現在の値は「1.0.17」です。
これらのパラメーターがすべて設定されたら (値が割り当てられていないパラメーターもあります)、割り当てられたパラメーターをフィルターで除外し、それらを hm.baidu.com/hm.gif のパラメーターとして使用して、 http://upload などの URL を結合します。 chinaz .com//?cc=1&ck=1&cl=32-bit & ds=1366×768&ep=0&et=0&fl=11.0&ja=1&ln=zh-cn。次に画像をリクエストします。
Baidu 統計サーバーはこのリクエストを受信し、画像の URL に添付されたパラメータから関連情報を取得して訪問者のアクセス記録を記録します。ユーザーがページを閉じると、hm.gif のリクエストもトリガーされます。このプロシージャは、すべてのブラウザやすべての終了アクションでサポートされているわけではありません。
Wireshark (ネットワーク パケット キャプチャ ツール) テストを使用すると、ブラウザが合計 4 つのリクエストをサーバーに送信したことがわかります。
js スクリプトをリクエストします。
ロードが完了したら、リクエストを開始してパラメータを渡します
ページを終了するときにリクエストを行ってパラメータを渡します。 上記と比較すると、ep パラメータが変更されていることがわかります。
Baidu 統計は Cookie に基づいています。js スクリプトが要求されると、ユーザー ID として機能する永続的な Cookie がコンピュータに保存されます。同時に、パラメータ ep が初期の 0 から、エスケープ後に「7289,115」、つまり 7.2 秒と 0.1 秒の 2 ミリ秒単位に変化することが判明しました。同時に、lt パラメータ (time, javascript: (new Date).getTime()) は、最初の 2 回の hm.gif リクエスト時に変更されません。 rnd乱数は毎回変わります。
Google アナリティクスの仕組み
ユーザーが Google Analytics 統計コードを含むページにアクセスすると、このコードはユーザーのブラウザによって実行され、このコードの機能は、閲覧したページの URL、ブラウザの種類、オペレーティング システムなどの訪問者の情報を収集することです。 、システム言語、画面解像度など。
GA 統計コードは、この訪問者情報を Cookie に保存します。Cookie はローカルに保存され、訪問した Web サイトに関連付けられる短いテキストであり、ユーザーが初めて訪問したか、複数回訪問したかを判断するために使用されます。ページの推奨ソースとその後のページビュー情報など。
最後に、収集されたすべての情報は Google Analytics のデータ サーバーに送信されます。このプロセスは非常に巧妙であり、サーバーのログ ファイルには各ファイル リクエスト情報が記録され、Google Analytics がデータを収集する方法は、サーバーから透明な 1×1 GIF 画像ファイルをリクエストすることによって行われます。ファイルリクエスト情報には、GA 統計コードによって収集されたデータと Cookie 情報が含まれます。このように、この GIF 画像がリクエストを受信するたびに、訪問者のアクセス情報が Google Analytics データ サーバーによって収集されます。 。
ただし、Google アナリティクスは GIF リクエストを 1 つだけ送信し、複数の GIF リクエストを送信することもよくあります。カウントできない gif 画像がある場合、GA は別の gif リクエストを送信します。
要約:
ウェブサイト分析の達人であるアビナシュ氏は、データが 90% 正確であれば、すぐに行動を起こすことができるとかつて述べました。重要なのは、傾向を見て行動を起こし、テストして継続的に最適化できることです。
記事出典:Lu Songsongブログ、転載の際はこの記事のアドレスを明記してください、よろしくお願いします。
(編集:楊楊) 著者ルー・ソンソンのブログの個人空間