Подтвердить что ты не робот

Контент Script отслеживание с помощью Google Analytics

Я работаю над расширением Google Chrome, которое модифицирует определенные страницы с содержимым script. Чтобы понять, когда и где применяются эти изменения, мы изучали аналитику Google, так как мы уже используем ее для других веб-свойств.

Мы включаем библиотеку ga.js через файл манифеста и запускаем _trackPageview с синхронным вызовом страницы при применении изменения к странице.

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

Проблема в том, что каждый pageView в другом домене считается новым посетителем и посетителем. Там есть способ обойти это? Например, он использует базу данных sqlite расширения chrome или хранилище ключей в браузере для хранения уникального идентификатора пользователя и независимого доступа к домену id. Возможно ли это?

Спасибо

4b9b3361

Ответ 1

Вы не должны выполнять этот код внутри других сайтов. Конфигурация Google Analytics несколько чувствительна, и если у сайта есть пользовательская реализация, вы можете нарушить ее для этого посетителя.

Вы должны включить Google Analytics на свою собственную справочную страницу. А затем обменивайтесь с content_script на свою фоновую страницу каждый раз, когда вам нужно отслеживать событие.

Включая GA script на вашем фоне script, это приятно, потому что вы не мешаете другому коду на веб-сайте и всегда выполняете его из того же домена и, таким образом, будете использовать одни и те же файлы cookie, не вызывая дублирования посещений/посетителей.

Подробнее о том, как установить GA на свою фоновую страницу, больше.

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

И вот документы для передачи информации из Content Scripts на вашу справочную страницу:

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

Ответ 2

Как сказал Эдуардо в своем ответе, вам нужна справочная страница, так что это можно сделать следующим образом:

в файле 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']);
        }
    });