पारंपरिक निर्देश कैसे शामिल करने के लिए पर गूगल से ga.js
उपयोग document.write()
। इसलिए, भले ही कोई ब्राउज़र किसी भी तरह से अतुल्यकालिक रूप से बाहरी जावास्क्रिप्ट पुस्तकालयों को लोड करेगा, जब तक कि कुछ कोड को वास्तव में निष्पादित नहीं किया document.write()
जाएगा , तब भी पेज लोडिंग को अवरुद्ध करेगा। बाद के अतुल्यकालिक निर्देशdocument.write()
सीधे उपयोग नहीं करते हैं, लेकिन शायद insertBefore
पृष्ठ लोडिंग को भी अवरुद्ध करते हैं?
हालाँकि, Google कैश max-age
को 86,400 सेकंड (1 दिन होने पर, और यहां तक कि सार्वजनिक होने के लिए सेट करता है , इसलिए प्रॉक्सिस पर भी लागू होता है) सेट करता है। इसलिए, कई साइटें एक ही Google स्क्रिप्ट को लोड करती हैं, तो जावास्क्रिप्ट अक्सर कैश से प्राप्त किया जाएगा। फिर भी, जब ga.js
कैश किया जाता है, तो बस पुनः लोड बटन पर क्लिक करने से अक्सर एक ब्राउज़र Google से किसी भी बदलाव के बारे में पूछेगा । और फिर, जब ga.js
अभी तक कैश नहीं किया गया था, तो ब्राउज़र को जारी रखने से पहले प्रतिक्रिया का इंतजार करना होगा:
HTTP / 1.1 प्राप्त करें
होस्ट: www.google-analytics.com
...
यदि-संशोधित-चूंकि: सोम, 22 जून 2009 20:00:33 GMT
कैश-कंट्रोल: अधिकतम आयु = 0
HTTP / 1.x 304 संशोधित नहीं है
अंतिम-संशोधित: सोम, 22 जून 2009 20:00:33 GMT
दिनांक: सूर्य, २६ जुलाई २०० ९ १२:० Jul २ Sun जीएमटी
कैश-कंट्रोल: अधिकतम आयु = 604800, सार्वजनिक
सर्वर: गोल्फ
ध्यान दें कि कई उपयोगकर्ता समाचार साइटों, मंचों और ब्लॉगों के लिए फिर से लोड करते हैं जो उनके पास पहले से ही एक ब्राउज़र विंडो में खुले हैं, कई ब्राउज़र को तब तक ब्लॉक करते हैं जब तक कि Google से कोई प्रतिक्रिया प्राप्त नहीं हो जाती । आप कितनी बार SO होम पेज को पुनः लोड करते हैं? जब Google Analytics की प्रतिक्रिया धीमी होती है, तो ऐसे उपयोगकर्ता तुरंत नोटिस करेंगे। (इस तरह की साइटों के लिए विशेष रूप से उपयोगी स्क्रिप्ट को अतुल्यकालिक रूप से लोड करने के लिए नेट पर कई समाधान प्रकाशित किए गए ga.js
हैं, लेकिन शायद अब Google के अद्यतन निर्देशों से बेहतर नहीं है।)
एक बार जब जावास्क्रिप्ट लोड और निष्पादित हो जाता है, तो वेब बग (ट्रैकिंग छवि) का वास्तविक लोडिंग अतुल्यकालिक होना चाहिए। इसलिए, जब तक पृष्ठ का उपयोग नहीं किया जाता, तब तक ट्रैकिंग छवि का लोड कुछ और अवरुद्ध नहीं करना चाहिएbody.onload()
। इस स्थिति में, यदि वेब बग तुरंत लोड करने में विफल रहता है, तो पुनः लोड करने पर क्लिक करने से वास्तव में चीजें खराब हो जाती हैं, क्योंकि क्लिक करने पर ब्राउजर फिर से स्क्रिप्ट का अनुरोध कर सकेगा, जैसा If-Modified-Since
कि ऊपर वर्णित है। पुनः लोड करने से पहले ब्राउज़र केवल वेब बग का इंतजार कर रहा था, जबकि पुनः लोड करने के बाद उसे ga.js
स्क्रिप्ट की प्रतिक्रिया की भी आवश्यकता है ।
इसलिए, Google Analytics का उपयोग करने वाली साइटों का उपयोग नहीं करना चाहिएbody.onload()
। इसके बजाय, किसी को jQuery के $ (डॉक्यूमेंट) पहले से ही () या MooTools की डोमेस्टिक इवेंट जैसी किसी चीज़ का इस्तेमाल करना चाहिए ।
Google का कार्यात्मक अवलोकन भी देखें , यह बताते हुए कि Google Analytics डेटा कैसे एकत्रित करता है? सहित , ट्रैकिंग कोड कैसे काम करता है । (इससे यह भी आधिकारिक हो जाता है कि Google प्रथम-पक्ष कुकी की सामग्री एकत्र करता है। यह है: वह साइट जहाँ आप जा रहे हैं, वहाँ से कुकीज़।)
अपडेट: दिसंबर 2009 में , Google ने एक एसिंक्रोनस संस्करण जारी किया है । उपरोक्त सभी को केवल सुनिश्चित होने के लिए अपग्रेड करने के लिए कहना चाहिए, हालांकि अपग्रेड करने से सब कुछ हल नहीं होता है ।