我正在尝试创建一个迷你分析,并确定访问者的来源。
我正在使用$_SERVER['HTTP_REFERER']
找出每个访问者的来源,但我很难知道他们是来自 Google Adwords 还是有机。
这有什么诀窍吗? $_SERVER['HTTP_REFERER']
甚至是正确的方法吗?
此外,如果有人知道如何为 yahoo 和 bing 做同样的事情,那么这肯定也会很方便。
答案 0 :(得分:1)
仅使用HTTP的引用是不可能的,因为HTTPS协议和Google会删除URL参数。此外,并不像您想象的那么容易,因为需要考虑很多变化(例如new.google.com或Google.com)
Google Analytics会混合引用页面和UTM_parameters(还包括Gclid)。我建议您查看此文档以获取更多信息 https://support.google.com/analytics/answer/6205762?hl=en
但是,我给你留下了一个可以帮助你的迷你剧本,但它仅用于检测谷歌。
<?php
function detectCampaing()
{
$ret = false;
if(isset($_GET["gclid"])){ $ret = true;}
if(isset($_GET["utm_source"])){ $ret = true;}
if(isset($_GET["utm_medium"])){ $ret = true;}
if(isset($_GET["utm_campaign"])){ $ret = true;}
return $ret;
}
if(detectCampaing() == true ||strpos($_SERVER["HTTP_REFERER"], 'google') !== false){echo "is campaign";}else{echo "is not a campaign";}
?>