2015-09-16 2 views
0

Я использую следующие:Server Side Google Analytics Client IP

Я использую WordPress перехватчики действий, которые плагин обеспечивает использование сс-га класс, который запускает хит страницы для XML-канала (iTunes нуждается в этом) и событие для воспроизведения подкаста (скачать):

ssp_file_download и ssp_before_feed

Это все работает отлично. Я использую cloudflare, поэтому я могу использовать $_SERVER['REMOTE_ADDR'] ИЛИ $_SERVER["HTTP_CF_CONNECTING_IP"], чтобы получить IP-адрес клиента. Проблема в том, что с ss-ga я не могу отправить клиентский IP-адрес при регистрации события или пострадали страницы. В результате он всегда показывает Чикаго, где находится центр обработки данных моего хоста.

Может кто-нибудь предложить способ убедиться, что когда я отправляю событие аналитики с использованием класса php, что IP-адрес правильный?

Заранее спасибо. Если вам нужен какой-либо код, просто дайте мне знать, но я использовал базовые примеры, как это предусмотрено документацией сценария.

Cheers.

+0

Способ, которым я пользовался ssga Я генерировал URL-адрес GIF, который я показывал на странице. Затем из этого Google будет получен IP-адрес пользователя. Это то, что вы делаете? –

+0

Все это происходит на стороне сервера. На какой-либо странице нет выхода. Это часть моей проблемы. – jay

+0

Я предполагаю, что вы можете запросить сервер GIF с помощью Curl и вручную установить IP на основе $ _SERVER ['REMOTE_ADDR']. –

ответ

1

До сих пор лучший путь был бы не класс сс-га и вместо того, чтобы использовать measurement protocol. Протокол измерений - это не только способ, которым Google Analytics должен быть реализован в эти дни, но и offers a parameter&uip для отправки IP-адресов пользователей. Есть variouspackagesthatimplement протокол измерений в PHP-классах, поэтому его использование не должно быть сложнее, чем ss-ga (на самом деле это, скорее всего, проще, надежнее и лучше документировано, поскольку оно специально построено для обеспечения языкового агностического интерфейса к GA).

+0

Так оно и было, и почему-то это ускользнуло от меня. Спасибо! Он работает отлично. – jay

0

Что вы можете попробовать, если сгенерировать URL GIF с помощью getFullBeaconUrl(), а затем запросить этот GIF через Curl и установить IP на IP-адрес пользователя. Нечто подобное должно работать:

$curl = curl_init(); 
curl_setopt($curl, CURLOPT_URL, $gifUrl); 
curl_setopt($curl, CURLOPT_HTTPHEADER, array("REMOTE_ADDR: $ip", "HTTP_X_FORWARDED_FOR: $ip")); 
+0

Я ценю ваше время. Я закончил использовать решение от @Eike Pierstorff. Благодаря! – jay

Смежные вопросы