2011-09-08 9 views
12

Googleアナリティクスでは、このようなURLで1つのピクセルGIFを埋め込む:Googleアナリティクスでデータを転送するのに1ピクセルの画像を使用するのはなぜですか?

http://www.google-analytics.com/__utm.gif?utmwv=5.1.5&utms=5&utmn=1532897343&utmhn=www.douban.com&utmcs=UTF-8&utmsr=1440x900&utmsc=24-bit&utmul=en-us&utmje=1&utmfl=10.3%20r181&utmdt=%E8%B1%86%E7%93%A3&utmhid=571356425&utmr=-&utmp=%2F&utmac=UA-7019765-1&utmcc=__utma%3D30149280.1785629903.1314674330.1315290610.1315452707.10%3B%2B__utmz%3D30149280.1315452707.10.7.utmcsr%3Dbiaodianfu.com%7Cutmccn%3D(referral)%7Cutmcmd%3Dreferral%7Cutmcct%3D%2Fgoogle-analytics-architecture.html%3B%2B__utmv%3D30149280.162%3B&utmu=qBM~ 

AJAX呼び出しを使用しないのはなぜ? 1ピクセルGIFを使用する利点は何ですか?

+0

@Joseph:ブロック引用を使用すると、MarkdownがURLの一部の文字をイタリックまたは他の書式で解釈するため、編集を元に戻しました。 – icktoofay

+0

@icktoofay - 情報ありがとうございます。 –

+0

gif要求が大きすぎる場合、POSTを使用することがあります。このような場合、POST本体の中にすべての変数を入れます。これは、一部のブラウザがリクエストURLのサイズを制限するためです。 – Eduardo

答えて

14

クロスドメインAJAX(CORSは例外ですが、それは別の話ですが、普遍的なサポートよりも少ない最近の現象です)ができないため、AJAXは同じ発信元リクエストです。また、UrchinのGoogle Analyticsフォークも実際にAJAXテクノロジの導入に先立っています。

イメージをリクエストすることは、アナリティクスサービスがサードパーティのサーバーに何かを送信する手段として何かを「要求」することのかなり標準的な方法です。 AJAX/CORSが実際に意味をなさない理由は、実際にページで使用するための重要なリソースを要求していないため、要求自体をできるだけ迅速かつオーバーヘッドにすることです。分析データの要求

  • を渡すのiframe SRCのクエリ文字列と目に見えないのiframeを含む

    1. 、:

      分析サービスは、時折、クライアントからのデータを送信扱う他の二つの方法があります画像を返す代わりに、HTTP 204 headerの空の応答を返します。

  • +0

    GoogleはAjaxとCORSを使用するAPIを提供できないのですが、この劣等イメージメソッドではありません。 CORSを使用する他のブラウザアナリティクスサービスはありますか?私は[このスレッド]の問題のために特に関心があります(http://stackoverflow.com/questions/14413271/if-google-analytics-goes-down-how-do-i-keep-my-site-working/14413293#comment20058553_14413293)。 – zuallauz

    +0

    @zuallauz AJAXまたはCORSを使用しても問題は解決しません。 (古いブラウザではブラウザの非互換性が導入されます)問題の場合は、DOMReady/WindowOnLoad/SetTimeout型の遅延でGAコード全体をラップしてください。遅延はga.jsをロードしようとすると遅延します、1ピクセルのGIFではなく) – Yahel

    +0

    あなたの質問に答えました。 – Yahel

    -2

    互換性を最大限にする。たとえば、携帯電話のブラウザはAJAXをサポートしていない可能性があり、その結果、不適切な結果が得られる可能性があります。しかし、ねえ、Googleは誰も説明できないたくさんのファンキーなことをしている。

    +0

    テーブルベースのデザイン、誰ですか? – Blender

    +1

    おそらく[email protected]にメールを送信すると、より良い回答が得られるでしょう。あまりにも古い応答を待って取得しないようにしてください。 –

    +0

    (実際に)クロスドメインAJAXを行うことはできません(CORSは例外ではありません)。これは「ファンキーなもの」ではありません。これはウェブ解析では非常に標準的な方法です。 – Yahel

    関連する問題