服务器端Google Analytics客户端IP

时间:2015-09-16 16:19:51

标签: php wordpress google-analytics

我正在使用以下内容:

我正在使用插件提供的wordpress动作挂钩来使用触发XML Feed的页面点击的ss-ga类(iTunes需要这个)和播客播放(下载)的事件:

ssp_file_downloadssp_before_feed

一切都很好。我正在使用cloudflare,因此我可以使用$_SERVER['REMOTE_ADDR'] OR $_SERVER["HTTP_CF_CONNECTING_IP"]来获取客户端IP。问题是,使用ss-ga,我无法在注册事件或页面命中时发送客户端IP。结果,它总是显示芝加哥,这是我的主机的数据中心。

有人建议一种方法来确保当我使用php类发送分析事件时,IP是否正确?

提前致谢。如果你想要任何代码,请告诉我,但我已经使用了脚本文档提供的基本示例。

干杯。

2 个答案:

答案 0 :(得分:1)

到目前为止,最好的方法不是ss-ga类,而是使用measurement protocol。测量协议不仅是目前Google Analytics的实施方式,还offers a parameter &uip向用户发送IP。 PHP类中的测量协议有various packages that implement,因此它应该比ss-ga更难使用(实际上它是&#39) ; s最可能更简单,更可靠,更好地记录,因为它是专门为GA提供语言无关的接口而构建的。

答案 1 :(得分:0)

如果使用getFullBeaconUrl()生成GIF网址,您可以尝试使用,然后通过Curl请求此GIF,并将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"));