由於受到Google隱私政策的限制,Google Analytics 分析工具是不開放給網站管理員查看訪問者的IP地址,而且也有明文規定不可以上傳能夠識別用戶的信息。
但是網站或APP應用程式,若是能夠直接抓取訪客IP,這些數據在排查異常流量的時候還是起到很好的作用性。例如:DDoS或DoS攻擊、Ads惡意點擊、網站流量異常、查看AdSense 廣告點擊者的IP地址或再行銷(Remarketing)去瞭解曾經來過網站的使用者的客層與興趣。
聲明:這個是受限於 Google Policies 隱私權與條款,傳問刻意收集用戶信息資料,可能會被封禁AC,大個仔/女請自行承擔風險。
Google隱私權與條款:去看吓!
Google Analytics:官方網站
Analytics 獲取用戶IP方法:
1. 在header或footer文件加入抓取IP的代碼。
<?php
if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
$ip=$_SERVER['HTTP_CLIENT_IP'];}
elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ip=$_SERVER['HTTP_X_FORWARDED_FOR'];} else {
$ip=$_SERVER['REMOTE_ADDR'];}
?>
2. 首先將Google Analytics 官方的原有統計代碼刪除,再添加以下代碼。
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-XXXXXXX-X', 'auto');
ga('send', 'pageview', {
'dimension1': '<?=$ip;?>'
});
</script>
說明: 以上"UA-XXXXXXX-X"是Analytics 分析ID更改成你自己的ID,其他的不用動。
3. 在Analytics 頁面,點擊「管理」按鈕,在「自訂定義」的欄位,點選「自訂維度」→「新增自訂維度」後,名稱為"IP",範圍為"工作階段",然後「儲存」即可。請看圖片▼
Product – value is applied to the product for which it has been set (Enhanced Ecommerce only).
產品 – 將值套用至已設定此值的產品 (僅限「加強型電子商務」)。
Hit – value is applied to the single hit for which it has been set.
命中 – 將值套用至已設定此值的單次命中。
Session – value is applied to all hits in a single session.
工作階段 – 將值套用至單一工作階段中的所有命中。
User – value is applied to all hits in current and future sessions, until value changes or custom dimension is made inactive.
使用者 - 將值套用至目前和未來工作階段中的所有命中,直到此值變更或自訂維度不再有效為止。
說明文件:Analytics Help (google.com)
4. 請按側欄的「自訂」→「自訂報表」→「新增自訂報表」按鈕。
維度or維度深入分析:請選擇"IP"作為首選自訂維度
指標or指標群組:請選擇"工作階段"Session,以及"使用者"User等,作為首選自訂目標
請看圖片▼
PS: 當完成所有的步驟,等待12~24小時會有數據顯示。
舊方法Backup▼
GA 自定義變量的部署的代碼如下:
_smq.push(['_setCustomVar',index, name, value, opt_scope]);
參數含義:
index,指的是自定義變量槽的編號。免費版的 GA 最多支持 5 個自定義變量, 這裡定義的值只能為 1-5,在後台 「受眾群體——自定義——自定義變量」中可以看到主要維度有自定義變量 1 到 5,這裡的數值就定義了這個自定義變量佔用了哪個位置,查看報告的時候需要到對應的標籤里去查看。
name,指的是自定義變量的名稱
value,自定義變量的值
opt_scope,作用範圍,值可以為1、2、3,1 表示訪客級別,2 表示訪問級別,3 表示頁面級別
Analytics 自定義變量:官方文檔
方法一、
1. 在傳統的Google Analytics(分析)代碼之前,將以下代碼添加到您的網頁中:
<?php
if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
$ip=$_SERVER['HTTP_CLIENT_IP'];}
elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ip=$_SERVER['HTTP_X_FORWARDED_FOR'];} else {
$ip=$_SERVER['REMOTE_ADDR'];}
?>
2. 然後,將以下代碼添加到您的footer文件中,在</body>前:
<script type='text/javascript'>
_gaq.push(['_setCustomVar', 1, 'IP', '<?=$ip;?>', 1]);
</script>
查看數據:
在“自訂報告”中創建報告。
選擇自訂變數 → 自訂變數(值01)作為第一維度。
選擇您要查看的所有網絡指標(訪問,綜合瀏覽量,網站停留時間等)
方法二、
在網頁的footer文件中,在</body>前,插入如下代碼:
<?php
if(!empty($_SERVER['REMOTE_ADDR'])){
$ip = $_SERVER['REMOTE_ADDR'];
}else {
$ip = "(not set)";
}
?>
<script>
_gaq.push(['_setCustomVar', 1, 'IP', '<?php echo $ip;?>', 1]);
</script>
說明:這段代碼表示,先用 PHP 獲取到訪客的 IP 地址,動態填充到 GA 的監測代碼中去。一段時間以後,在後台 「受眾群體——自定義——自定義變量」中就可以看到數據。