2012-07-07 7 views
12

İçerik komut dosyasıyla belirli sayfaları değiştiren bir Google Chrome Uzantısı üzerinde çalışıyorum. Bu değişikliklerin ne zaman ve nerede uygulandığını anlamak için, diğer web mülkleri için zaten kullandığımızdan, Google Analytics'e bakıyorduk.İçerik Analizi Google Analytics ile izleme

ga.js kitaplığını manifest dosyası aracılığıyla ekledik ve bir sayfaya değişiklik yaptığımızda eşzamanlı sayfa çağrısı ile _trackPageview özelliğini tetikleriz.

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

Burada sorun şu ki, farklı bir etki alanındaki her sayfa yeni bir ziyaret ve ziyaretçi olarak sayılır. Bunu atlatmanın bir yolu var mı? Örneğin, benzersiz kullanıcı kimliğini saklamak ve id alanını bağımsız olarak ziyaret etmek için tarayıcıda bir chrome extension sqlite veritabanı veya anahtar değer deposu kullanın. Mümkün mü?

Teşekkürler

cevap

18

Bu kodu diğer kişi sitelerinde çalıştırmamalısınız. Google Analytics yapılandırması biraz hassastır ve bir sitenin özel bir uygulaması varsa, bu ziyaretçi için onu kırıyor olabilirsiniz.

Google Analytics'i kendi arka plan sayfanıza eklemelisiniz. Ardından, bir etkinliği izlemek için gereken her zaman content_script'ten arka plan sayfanıza geri dönün.

Arka plan komut dosyasına GA komutunu dahil etmek güzel çünkü web sitesindeki diğer kodları etkilemiyorsunuz ve her zaman aynı etki alanından çalıştırılıyor ve böylece aynı çerezleri çoğaltılmış ziyaretlere/ziyaretçilere neden olmayacak.

Arka plan sayfanızda GA'nın nasıl yükleneceği hakkında daha fazla bilgi. Bu yapılabilir, böylece Eduardo bir arka plan sayfası ihtiyacım onun cevabını söylediği gibi

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

+1

arka plan sayfası ile iyi bir fikir. Bunu deneyeyim. GA uzantı talimatını gördüm, ancak bu sadece pop-up için geçerli görünüyor. Tekrar bahşiş için teşekkürler. Bu işe yararsa buraya yazıyorum. –

+1

Arka Plan Sayfası yapıldı! –

+0

Krom uzantısıyla enjekte edilen iframe'e analitiği koymak uygun mu? –

3

:

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

Ve burada arka plan sayfasına İçerik Kodları tarafından geçirilmesi için belgeler var böyle:

sizin manifest.json dosyasında

:

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

Eğer etkinliği izlemek olayı tetiklemek için arka plan sayfasına bir mesaj göndermek istediğinizde content_scripts.js içinde.

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']); 
     } 
    });