【问题标题】:Tracking utm parameters with universal analytics使用通用分析跟踪 utm 参数
【发布时间】:2014-07-22 12:56:53
【问题描述】:

以前我使用 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'];
}

【问题讨论】:

    标签: php universal-analytics utm


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

      这些 cookie 不再使用。

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

      【讨论】:

        【解决方案3】:

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

        【讨论】:

        • 你能把这个放到github上吗?谢谢。
        • 我把它放在了一个要点中:gist.github.com/rpkamp/9e82cf4ff483c06644e1——就像标题中所说的那样,使用风险自负。我不对您使用此代码时发生的任何事情负责。它对我们来说很好,但是 YMMV :)
        猜你喜欢
        • 2015-10-24
        • 2022-06-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-05-22
        • 1970-01-01
        • 1970-01-01
        • 2016-11-15
        相关资源
        最近更新 更多