javascript — Piwik: как отслеживать посетителя (идентификатор пользователя) в разных доменах (PHP / JS)?

Я хотел бы связать IP-адрес текущего посетителя с указанным идентификатором пользователя (через PHP), который Piwik должен отслеживать в нескольких (под) доменах.

Есть несколько (под) доменов, и я хочу дать посетителю (IP), который входит в систему по адресу secure.example.com, уникальный идентификатор пользователя, чтобы отслеживать его во всех других доменах. Ссылка «IP -> UserID» при входе в систему должна быть сделана на PHP (Piwik Tracking PHP Client -> setUserId). «Нормальное» отслеживание страниц во всех доменах (включая secure.example.com после входа в систему) должно основываться на JavaScript (фрагмент отслеживания Piwik JS).

Примеры доменов:

  • www.example.com (siteId 1)
  • support.example.com (siteId 2)
  • secure.example.com (siteId 3)
  • www.anotherexample.com (siteId 4)

Мой текущий код отслеживания входа в PHP (вызывается на secure.example.com/login):

<?php
require_once 'PiwikTracker.php';

$siteId = 3;
$apiUrl = 'http://piwik.example.com/';
$userId = '[TESTUSER]';

$piwik = new PiwikTracker($siteId, $apiUrl);
$piwik->enableCookies('*.example.com');
$piwik->setIp($_SERVER['REMOTE_ADDR']);
$piwik->setUserId($userId);
$piwik->doTrackEvent('Login', 'Login', $userId);
?>

Код отслеживания JS для всех других страниц и доменов (изменения siteId):

<script type="text/javascript">
var _paq = _paq || [];
(function(){ var u="//piwik.example.com/";
_paq.push(['setSiteId', 1]);
_paq.push(['setCookieDomain', '*.example.com']);
_paq.push(['setDomains', '*.example.com']);
_paq.push(['setTrackerUrl', u+'piwik.php']);
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; g.type='text/javascript'; g.defer=true; g.async=true; g.src=u+'piwik.js';
s.parentNode.insertBefore(g,s); }
)();
</script>

В Piwik config.ini.php я устанавливаю следующие значения:

[Tracker]
enable_fingerprinting_across_websites=1
use_third_party_id_cookie = 1
visit_standard_length = 1800
window_look_back_for_visitor = 86400

Моя проблема:
Когда я захожу на secure.example.com и затем посещаю support.example.com (или www.example.com и т. Д.), Piwik не связывает эти посещения с идентификатором пользователя, который я установил ранее.
Кроме того, если я перезаписываю идентификатор пользователя для текущего посетителя, он не изменится в бэкэнде Piwik.

4

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector