0

以前我使用 ga.js(异步 - _gaq.push),当时我 99% 能够捕获所有 utm 参数。后来我更新了代码并移至analytics.js(通用-ga发送),从那时起我无法捕获单个utm参数。

我是否需要更改代码以捕获 utm 参数,因为现在我正在使用 analytics.js ?

我的代码:

session_start();
$utm_parameters=substr($_REQUEST['__utmz'],strpos($_REQUEST['__utmz'],"utmcsr="));
$utm_source=substr($_REQUEST['__utmz'],strpos($_REQUEST['__utmz'],"utmcsr="));
$utm_source=substr($utm_source,0,strpos($utm_source,"|"));
$utm_source=substr($utm_source,7);
$utm_media=substr($_REQUEST['__utmz'],strpos($_REQUEST['__utmz'],"utmcmd="));
$utm_media=substr($utm_media,0,strpos($utm_media,"|"));
$utm_media=substr($utm_media,7);

if ($_SESSION['url'] != null) {
    $utm_parameters = $_SESSION['url'];
}

if ($_SESSION['utm_source'] != null) {
    $utm_source = $_SESSION['utm_source'];
}

if ($_SESSION['utm_medium'] != null) {
    $utm_media = $_SESSION['utm_medium'];
    // echo 'utm_media='.$_SESSION['utm_medium'];
}
4

3 回答 3

4

Universal Analytics 不使用与 Google Analytics 相同的 cookie。UTMZ cookie 不再存在,并且您之前检索的流量源不会保存在 cookie 中。

为了克服这个问题,您需要创建自己的 cookie。试试这个项目:https ://github.com/dm-guy/utm-alternative

您还可以将旧代码 ga.js 与 Universal Analytics 并排运行,但这不是永久解决方案,因为对 ga.js 的支持将在某一时刻停止。

于 2014-07-25T20:20:05.570 回答
2

这些 cookie 不再使用。

对于 utm 参数跟踪,您需要在您的 url 中手动标记它们并且需要以编程方式捕获。

于 2015-08-10T04:45:06.783 回答
0

我所做的是从 google 下载 ga.js,剥离所有 AJAX 内容,然后从我们自己的域中运行它。这样我们就有了 __utmz cookie,而没有双重跟踪的问题(一次通过 ga.js,一次通过 analytics.js)。当然不是最优雅的解决方案,但它确实有效,并且完全按照我们习惯的方式工作。

于 2014-07-25T20:43:47.120 回答