2011-11-13 21 views
8

के साथ ऑफ़लाइन ईवेंट को ट्रैक करना मैंने अपनी साइट पर उपयोगकर्ता गतिविधि जैसे क्लिक या माउस ओवर और विभिन्न प्रकार की घटनाओं को ट्रैक करने का प्रयास किया .... क्या उपयोगकर्ता ऑफ़लाइन काम करते समय भी ईवेंट ट्रैक करने का कोई समाधान है ... क्या मैं उन्हें कुकी जैसी कुछ चीज़ों में स्टोर कर सकता हूं और उन्हें सक्रिय इंटरनेट कनेक्शन खोजने पर सर्वर पर भेज सकता हूं?Google Analytics

क्या यह संभव है?

आप

उत्तर

14

क्या ब्राउज़र प्रकार लक्षित कर रहे हैं पर निर्भर करता है धन्यवाद। क्या ये HTML5 ऑफ़लाइन वेबपैस के लिए हैं?

यदि वे support ononline and onoffline events हैं, तो आप इसे अपने आप को काफी हद तक कार्यान्वित कर सकते हैं।

कुछ संभावित व्यावहारिक कोड, ऑफ़लाइन घटनाओं, देशी JSON और एचटीएमएल 5 स्थानीय संग्रह का उपयोग कर:

if(!localStorage.getItem("offlineGA")){ 
    localStorage.setItem("offlineGA","[]"); 
} 
var _ogaq = { 
push : function(arr){ 
    if(navigator.onLine || !("onLine" in navigator)){ // if online or if browser doesn't support onLine/offLine detection. 
     _gaq.push(arr); 
    } 
    else{ 
    var stored = JSON.parse(localStorage.getItem("offlineGA")); 
    stored.push(arr); 
    localStorage.setItem("offlineGA", JSON.stringify(stored)); 
    } 
} 
}; 

$(window).bind("online", function(){ // if you don't have jQuery, you can do window.ononline instead 
    _gaq.push(JSON.parse(localStorage.getItem("offlineGA"))); 
    localStorage.setItem("offlineGA","[]"); //empty it 
}); 

तो फिर तुम सिर्फ _gaq के लिए एक आवरण के रूप में _ogaq का प्रयोग करेंगे।

अर्थात्:

_ogaq.push(["_trackEvent","Category", "Action"]); 
+2

जोड़ने के लिए आप एक छोटी अवधि में जीए करने के लिए 10 से अधिक हिट आग यह गिरा दिया जाएगा प्रयास करें, और केवल पहले 10 भेजा जाएगा तो। इसका अर्थ यह है कि यदि आप बहुत लंबे समय तक ऑफ़लाइन रहते हैं और 10 से अधिक ईवेंट/पेजव्यू से पूछताछ करते हैं, तो ऑनलाइन – Eduardo

+0

ओह, अच्छा कॉल प्राप्त करने के बाद केवल पहला 100 वास्तव में GA पर जाएगा। मैं एक चौंकाने वाली दर पर उनके माध्यम से लूप के लिए एक सेट इनवर्वल जोड़ने पर काम करूंगा :) – Yahel

+1

साथ ही, यह ध्यान रखना महत्वपूर्ण है कि Google Analytics केवल साधारण घटनाओं से अधिक ट्रैकिंग कर रहा है: ऐसी घटनाएं जैसे कि एक घटना के साथ-साथ अन्य सत्र -संबंधित सामान जो उपयोगकर्ता वापस आने के समय संदर्भित या बाहर हो जाएगा। वास्तविक समाधान वास्तविक छवि बीकन कोड उत्पन्न करना होगा और जब उपयोगकर्ता वापस ऑनलाइन आते हैं तो उन छवियों को एम्बेड करें ... मैं देखूंगा कि मैं समाधान के साथ आ सकता हूं या नहीं। –

3

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

https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#qt

एहसास यह एक पुराने सवाल है, लेकिन यह मुझे bonkers इस सप्ताह के अंत ड्राइविंग किया गया है।

0

मेरे लिए काम नहीं किया, इसलिए मुझे पता चला कि सरणी का GA पुश सही ढंग से काम नहीं करता है। इसलिए मैंने सरणी को looped, प्रत्येक प्रविष्टि को Google Analytics में धक्का दिया। अब यह एक आकर्षण की तरह काम करता ...

$(window).bind("online", function(){ // if you don't have jQuery, you can do window.ononline instead 

    var json = JSON.parse(localStorage.getItem("offlineGA")); 

    for(var i = 0; i < json.length; i++) {  
     _ogaq.push([json[i][0],json[i][1], json[i][2]]); 
    } 

    localStorage.setItem("offlineGA","[]"); //empty it 
    var json = ""; 
}); 
1

इस article के अनुसार, ऑफ़लाइन व्यवहार से गूगल ऑफ़लाइन समर्थित है। तुम सिर्फ इन पुस्तकालय

npm install --save-dev sw-offline-google-analytics 
    ... 
    importScripts('path/to/offline-google-analytics-import.js'); 
    goog.offlineGoogleAnalytics.initialize();