Для варианта 3 вы можете использовать методы отслеживания Urchin для имитации данных, которые будут отправлены в Google Analytics, и вместо этого отправить их в локальный файл, который очищает информацию о запросе и затем отправляет ее в Google, когда это будет сделано.
Итак, ваш код JS будет выглядеть так:
var pageTracker = _gat._getTracker("UA-XXXX-1");
pageTracker._setLocalServerMode(); //this disables external GA calls.
pageTracker._setLocalGifPath("/foo/bar.gif");
pageTracker._trackPageview(); //or your transaction calls
Из рассмотрения запроса URL-адреса, который это делает в сравнении с обычным запросом __utm.gif, кажется, что единственное важное, чего не хватает, - это параметр utmcc
, который выглядит как URL-кодированная версия файлов cookie Google Analytics. Вы также хотели бы отследить это (из document.cookie или на стороне сервера), чтобы добавить его в строку запроса при выполнении запроса Google Analytics. Это важно, потому что именно здесь хранится информация о сеансе и источнике; в противном случае ваше отслеживание не будет иметь контекста.
Затем на сервере bar.gif может переписать файл bar.php, который фиксирует строку запроса и заголовки запроса, которые Google отправил бы на свои серверы (первостепенное значение имеет строка запроса и строка агента пользователя и IP-адрес); затем добавляет все необходимые данные, затем берет полученную строку запроса и отправляет запрос cURL в версию этого URL-адреса Google Analytics с поддельными заголовками для браузера и т. д.