gpt4 book ai didi

php - 追踪流量来源

转载 作者:行者123 更新时间:2023-11-29 18:35:32 25 4
gpt4 key购买 nike

Google Analytics 是否将 utm_source、utm_medium 参数存储在 cookie 或我可以使用 PHP 在我自己的网站上访问的类似内容中? - 或者 - 有没有人有我可以用来识别流量来源的代码示例,即。 PPC、Natural等

最佳答案

是的,Google 将此信息存储在 cookie 中;具体来说,__utmz cookie。

您可以编写一段 JavaScript 来读取 GA 存储在浏览器中的 cookie。此信息存储在 __utmz cookie 中。例如,如果一个链接包含所有 5 个可能的 utm 变量,则 cookie 看起来像这样(我用大写的名称替换了值,所以 SOURCE 是 utm_source 的值:

     43838368.1283957505.1.3.utmcsr=SOURCE|utmccn=CAMPAIGN|utmcmd=MEDIUM|utmctr=TERM|utmcct=CONTENT

这是有机谷歌搜索的 __utmz cookie 的样子:

140029553.1283957328.2.136.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=SEARCH-TERMS-HERE

这是 __utmz cookie 对于直接访问的样子:

   17861479.1283957910.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)

这是带有自动标记的付费谷歌搜索的 __utmz cookie 的样子:

   175516223.1283957996.1.1.utmgclid=CLrr7fyL-KMCFZpN5QoduVOTLA|utmccn=(not%20set)|utmcmd=(not%20set)|utmctr=SEARCH+TERM

PHP 并不理想,因为您永远无法在单页访问时读取 cookie,但代码在 PHP 中可能看起来像这样。

if(isset($_COOKIE['__utmz']))
{
$cookie= $_COOKIE['__utmz'];
$params = strstr($cookie, 'utm');
$cookiearray = explode("|", $params);
$final = array();
for($i=0; $i<count($cookiearray); $i++)
{
$temp = explode("=",$cookiearray[$i]);
$final[$temp[0]] = temp[1];
}
}

这将为您提供一个数组 ($final),其中包含每个流量源参数的键值匹配。

你可能最好用 JavaScript 解析它并使用 AJAX 将它发布到你的服务器,而不是在服务器端读取它,因为你只能在第二个页面 View 上这样做,因此会丢失跟踪单页浏览用户的能力。这对于手动 JavaScript 来说可能是一项烦人的任务,因为 cookie 和 AJAX 在浏览器之间可能不一致,所以我推荐一个像 jQuery 这样的框架。


这是我使用 jQuery 时采用的方法。我会添加 jQuery cookie plugin , 并将其发布在 _gaq.push(function(){...}); 这样的子句中(假设上面的 PHP 存储在 handler.php 中)。

$.post('handler.php', '__utmz' : $.cookie("__utmz") );

然后,将 $_COOKIE 的两个引用切换到 $_POST,并用它生成的数组做任何你想做的事。

关于php - 追踪流量来源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3666473/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com