2012-07-07 18 views
12

के साथ सामग्री स्क्रिप्ट ट्रैकिंग मैं Google क्रोम एक्सटेंशन पर काम कर रहा हूं जो सामग्री स्क्रिप्ट के साथ कुछ पृष्ठों को संशोधित करता है। यह समझने के लिए कि उन परिवर्तनों को कब और कहाँ लागू किया गया है, हम Google Analytics में देख रहे थे क्योंकि हम इसे पहले से ही अन्य वेब गुणों के लिए उपयोग करते हैं।Google Analytics

हम मैसेज फ़ाइल के माध्यम से ga.js लाइब्रेरी को शामिल करते हैं, और एक पृष्ठ पर परिवर्तन लागू करते समय एक सिंक्रोनस पेज कॉल के साथ _trackPageview ट्रिगर करते हैं।

var pageTracker = _gat._getTracker("UA-our-UA");  
pageTracker._setDomainName("none"); 
pageTracker._setAllowLinker(true);  
pageTracker._trackPageview(window.location.href); 

समस्या यह है कि प्रत्येक पृष्ठ एक अलग डोमेन में दृश्य एक नई विज़िट और विज़िटर के रूप में गिना जाता है। इसका बचाव करने का कोई तरीका है? उदाहरण के लिए यह अद्वितीय उपयोगकर्ता आईडी स्टोर करने के लिए ब्राउज़र में क्रोम एक्सटेंशन स्क्लाइट डेटाबेस या कुंजी मान स्टोर का उपयोग करें और आईडी डोमेन को स्वतंत्र रूप से देखें। क्या यह संभव है?

धन्यवाद

उत्तर

18

आपको अन्य लोगों के अंदर उस कोड को निष्पादित नहीं करना चाहिए। Google Analytics कॉन्फ़िगरेशन कुछ हद तक संवेदनशील है और यदि किसी साइट पर एक कस्टम कार्यान्वयन है तो आप उस विज़िटर के लिए इसे तोड़ सकते हैं।

आपको अपने स्वयं के पृष्ठभूमि पृष्ठ में Google Analytics शामिल करना चाहिए। और तब किसी भी ईवेंट को ट्रैक करने के लिए हर बार सामग्री_स्क्रिप्ट से अपने पृष्ठभूमि पृष्ठ पर संवाद करें।

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

यहां आपके पृष्ठभूमि पृष्ठ पर GA इंस्टॉल करने के तरीके के बारे में अधिक जानकारी दी गई है। ,

http://code.google.com/chrome/extensions/messaging.html

+1

पृष्ठभूमि पृष्ठ के साथ अच्छा विचार है। मुझे कोशिश करने दो। मैंने GA एक्सटेंशन निर्देश देखा लेकिन ऐसा लगता है कि यह केवल पॉपअप पर लागू होता है। टिप के लिए फिर से धन्यवाद। अगर यह काम करता है तो मैं यहां पोस्ट करता हूं। –

+1

पृष्ठभूमि पृष्ठ ने यह किया! –

+0

क्या क्रोम एक्सटेंशन के माध्यम से इंजेक्शन किए जाने वाले आईफ्रेम में एनालिटिक्स डालना ठीक है? –

3

के रूप में एडुआर्डो उसके जवाब आप एक पृष्ठभूमि पृष्ठ की जरूरत में कहा ताकि किया जा सकता है:

http://code.google.com/chrome/extensions/tut_analytics.html

और यहाँ अपनी पृष्ठभूमि पृष्ठ पर सामग्री स्क्रिप्ट से जानकारी पारित करने के लिए डॉक्स है इस तरह:

आपके manifest.json फ़ाइल:

, 
"content_security_policy": "script-src 'self' https://ssl.google-analytics.com; object-src 'self'" 
, 

content_scripts.js जब भी आप ईवेंट ट्रैक करना चाहते हैं, तो उस ईवेंट को ट्रिगर करने के लिए पृष्ठभूमि पृष्ठ पर एक संदेश भेजें।

chrome.runtime.sendMessage({action: "yourEvent"}); 

background.js

(function() { 
     var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; 
     ga.src = 'https://ssl.google-analytics.com/ga.js'; 
     var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); 
    })(); 

    var _gaq = _gaq || []; 
    _gaq.push(['_setAccount', 'UA-XXXXXXX-X']); 

    // here we receive the coming message from the content script page 
    chrome.runtime.onMessage.addListener(function(request, sender, sendResponse) { 
     if(request.action == "yourEvent"){ 
      _gaq.push(['_trackEvent', "eventCategory", 'eventType']); 
     } 
    });