为什么Google Analytics不会使用_setcustomvar跟踪我的所有活动?

时间:2013-05-15 09:09:05

标签: wordpress google-analytics

我正在使用以下代码

_gaq.push(['_setCustomVar',1,'logged-in','administrator',1],['_trackPageview']);

跟踪我网站上的登录用户级别(运行WordPress)。

现在我的问题是,在上个月我有大约100个新注册,但Google Analytics仅向我显示了65个在我网站上活跃的注册用户。

在解释结果时这是错误还是我做错了什么?

1 个答案:

答案 0 :(得分:0)

<强> PREAMBLE
使用Google Analytics(GA),您的所有点击都无法注册。这不是GA特定的问题。任何分析工具都可能受到影响。

想象一下,例如,用户在WP站点上的registring时断开连接。有可能javascript代码不会被执行。希望新用户注册,但GA不会收到通知。


解决方法
此解决方法是将GA的通知与您的注册过程绑定在服务器端的

第1步:使用user_register挂钩注册php函数。

add_action('user_register', 'myplugin_registration_save');
function myplugin_registration_save($user_id) {
    // GA will be notified here ...
}

第2步:在此注册功能中,通知GA新用户注册 php-ga来了。这是一个用PHP编写的GA客户端。您可以实现原始GA Javascript客户端的几乎所有参数和跟踪功能。将其调用以跟踪您的GA自定义变量。

以下是php-ga网站的示例代码:

use UnitedPrototype\GoogleAnalytics;

// Initilize GA Tracker
$tracker = new GoogleAnalytics\Tracker('UA-12345678-9', 'example.com');

// Assemble Visitor information
// (could also get unserialized from database)
$visitor = new GoogleAnalytics\Visitor();
$visitor->setIpAddress($_SERVER['REMOTE_ADDR']);
$visitor->setUserAgent($_SERVER['HTTP_USER_AGENT']);
$visitor->setScreenResolution('1024x768');

// Assemble Session information
// (could also get unserialized from PHP session)
$session = new GoogleAnalytics\Session();

// Assemble Page information
$page = new GoogleAnalytics\Page('/page.html');
$page->setTitle('My Page');

// Track page view
$tracker->trackPageview($page, $session, $visitor);


还有更多
即使您实施了变通方法,它也可能无法成功通知GA。例如,如果GA服务器尝试了一些重负载,您的通知可能会丢失。

我建议您同时使用系统通知: GA Javascript客户端 GA PHP客户端。

为他们分配两个不同的事件'JS-new-user-registred'和'PHP-new-user-registred'。通过两个注册事件,您可以提高分析数据的质量。您也可以提高新的注册通知率。

始终牢记这种方法可能不是100%准确。例如,在客户端,ga.js文件可能被阻止(防火墙等)。与此同时,您的PHP客户端可能无法成功通知GA。结果是不跟踪新注册。