前文
Google アナリティクス(GA)では、すべてのヒットを登録することは不可能です。これは GA 固有の問題ではありません。あらゆる分析ツールが影響を受ける可能性があります。
たとえば、ユーザーが WP サイトに登録しているときに接続が切断されたとします。JavaScript コードが実行されない可能性があります。新しいユーザーが登録されることを願っていますが、GA には通知されません。
回避策
この回避策は、GA の通知をサーバー側の登録プロセスに関連付けることです。
ステップ 1: user_registerフックを使用して php 関数を登録します。
add_action('user_register', 'myplugin_registration_save');
function myplugin_registration_save($user_id) {
// GA はここで通知されます ...
}
ステップ 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」という 2 つの異なるイベントを割り当てます。2 つの登録済みイベントにより、分析データの品質が向上します。新規登録通知率も向上します。
このアプローチは 100% 正確ではない可能性があることに常に注意してください。たとえば、クライアント側では、ga.js
ファイルがブロックされている可能性があります (ファイアウォールなど)。同時に、PHP クライアントが正常に GA に通知できない場合があります。その結果、新しい登録は追跡されません。