2009-02-26 21 views
8

Google Analytics 'साइट पर समय' ट्रैक करता है। आप इसे प्रभावी ढंग से कैसे करेंगे? क्या यह वास्तव में ट्रैक करता है जब उपयोगकर्ता ब्राउज़र बंद कर देता है या नेविगेट करता है?जावास्क्रिप्ट में साइट पर समय निर्धारित करने के लिए कैसे?

विचार?

उत्तर

4

मैं निश्चित रूप से 100% निश्चित नहीं हो सकते, लेकिन मुझे लगता है कि होगा वे AJAX के माध्यम से एक वेब सेवा के साथ संवाद करने के लिए जावास्क्रिप्ट और ऑनलोड और ऑनलोड लोड ईवेंट और/या setTimer का उपयोग करते हैं। इस तरह वे पता लगा सकते हैं कि उपयोगकर्ता आपकी साइट पर एक पृष्ठ पर जाते हैं या छोड़ते हैं। एक बार जब ब्राउज़र वेब सेवा को "पिंगिंग" बंद कर देता है, तो यह माना जाता है कि उन्होंने आपकी साइट छोड़ी है।

मुझे यकीन है कि इसमें कोई त्रुटि नहीं है, चाहे आप इसे कैसे करें, लेकिन आप इस तरह से एक सुंदर सभ्य अनुमान प्राप्त कर सकते हैं।

+1

लेकिन आप GA का उपयोग करने वाली किसी भी वेबसाइट से "पिंगिंग" के किसी भी अनुरोध को कभी भी नहीं देखते हैं। और onbeforeunload का उपयोग नहीं किया जा सकता है क्योंकि आप यह सुनिश्चित नहीं कर सकते कि पृष्ठ बंद होने से पहले अनुरोध पूरा हो जाएगा। – vsync

+0

@vsync - यह संभव है कि GA जब आप अगले पृष्ठ को लोड करते समय एक पृष्ठ छोड़ते हैं तो यह निर्धारित कर रहा है। मान लें कि सभी पृष्ठों पर GA है, यह काम करेगा। जब आप निश्चित रूप से साइट छोड़ते हैं तो छोड़कर। –

+0

ऐसी स्थितियां हो सकती हैं जब आपकी वेबसाइट एकाधिक टैब पर खोली जाती है, और एक से आप दूसरी वेबसाइट पर जाते हैं। या शायद अन्य स्थितियों .. तो यह काम नहीं कर सकता है, जब तक कि GA यह सुनिश्चित करने के लिए आपको हर समय पिंग न करे कि उपयोगकर्ता साइट पर है चाहे कोई भी टैब में कोई फर्क नहीं पड़ता .. लेकिन यह बेहद बदसूरत होगा और कौन सा वेब व्यवस्थापक चाहता है .. – vsync

1

मुझे लगता है वे शायद एक टाइमर है कि दोहराता है और कुकी का उपयोग करके उपयोगकर्ता और सत्र की पहचान के लिए प्रत्येक पाश पर कॉलबैक किसी तरह कार्यान्वित चलाने

2

मुझे नहीं लगता कि जब आप ब्राउज़र बंद करते हैं या नेविगेट करते हैं तो यह ट्रैक करता है, और यहां तक ​​कि अगर ऐसा होता है, तो यह 100% मामलों में काम नहीं करता है।

मेरा अनुमान है कि वे बाहर निकलने वाले पृष्ठ पर रहने का अनुमान लगाते हैं, शायद पिछले पृष्ठों के आधार पर या सभी आगंतुकों के लिए उस पृष्ठ के औसत। यदि आपको कुछ मिनटों में तीन पेज हिट मिलती हैं, तो आपके पास पहले दो पृष्ठों के लिए सटीक देखने का समय होता है, लेकिन आप कभी नहीं जानते कि तीसरा पृष्ठ कब देखा जाता है। शायद आप तुरंत पेज बंद कर दें, या इसे खोलें और बाद में इसे पढ़ें।

यह आंकड़े हैं, इसलिए लंबे समय तक यह आमतौर पर सटीक होता है, लेकिन यह वास्तव में सच नहीं है। ;)

+0

मुझे आपका जवाब पसंद आया – vsync

3

बस इस तरह एक समारोह सेट: MM: एस एस, या एच: एम: मामले में एस घंटे/मिनट/दूसरा नंबर

function track() 
{ 
    setTimeout(track ,1000); 
    now = new Date; 
    now_string = now.getHours() + ":" + now.getMinutes() + ":" + now.getSeconds(); 
    (... whatever you want to do with this data) 
} 

जावास्क्रिप्ट में आप कि एक स्ट्रिंग कह एचएच की तरह मिलता है कम से कम 2 वर्ण

रूप

तो बस गणित का एक सा बना arround यह

बस इस कहीं अपने विंडो में चल रहा है, और (इस guaranteing सभी पृष्ठों में है) आप वास्तव में कितना मिलता सत्र से संबद्ध कर दिया कुछ समय आपके उपयोगकर्ता में था।

संपादित करें: एक समारोह मैं वहाँ था कि मेरा था दूर करने के लिए था और यह जावास्क्रिप्ट sry से नहीं है:

3

पी जावास्क्रिप्ट घटना onBeforeUnload कहा जाता है जो निष्पादित करता है जब कोई उपयोगकर्ता किसी पेज छोड़ देता है। इसमें विंडोज़/टैब को बंद करना या किसी दूसरे पृष्ठ पर नेविगेट करना शामिल हो सकता है (भले ही यह एक ही साइट पर हो)। पेज लोड के तुरंत बाद समय प्राप्त करके और एक सिंक्रोनस अनुरोध onBeforeUnload भेजने के लिए जावास्क्रिप्ट का उपयोग करके लोडिंग और छोड़ने के बीच में अंतर के साथ, आप प्रभावी रूप से किसी पृष्ठ पर बिताए गए समय को ट्रैक कर सकते हैं। मुझे लगता है कि Google यही करता है।

यदि आप कोड कोड उदाहरण और थोड़ी अधिक जानकारी चाहते हैं, तो this बाहर देखें।

संबंधित मुद्दे

 संबंधित मुद्दे