【PHP】Server-SideでGoogle Analyticsを使ったTrackingをする

php_google-analyticsWordPressと連携するiOSアプリ、AndroidアプリをTitaniumを利用して作っている際にGoogle AnalyticsをServer-Sideで使う方法を調査したときの覚書。

Mobileアプリから直接Google Analyticsに情報を送信する方法が一般的。今回は

  • アプリ側の負荷軽減
  • サーバーと通信するアプリなので、サーバー側へのリクエストを解析できれば十分
  • iOSアプリとAndroidアプリ用に処理を分ける必要がない
  • 解析する情報を追加する場合もサーバー側を変更するだけで対応可能
  • Google Analyticsのデータ制限に引っかかった場合もサーバー側の処理を変更するだけで対応できる。
    参考:データ制限 - アナリティクス ヘルプ

と考えて、サーバーサイドで実装することにした。

検索してみるとphp-gaというLibraryを使うと比較的簡単に実装できそう。

ドキュメントは少ないけど、Usage Exampleとソースコードを読めば分かる。

設置の仕方はこんな感じ

// Load for Google Analytics module
include(dirname(dirname(__FILE__)) . '/php-ga/src/autoload.php');
use UnitedPrototype\GoogleAnalytics;

if (!$url = parse_url(site_url())) {
    return false;
}
// Initilize GA Tracker
$tracker = new GoogleAnalytics\Tracker(TENI_GOOGLE_ANALYTICS_FOR_APP, $url['host']);

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

・・・

useは関数内に記述出来ないので注意

下記SiteにあるようにSESSIONを使って自前で制御しないと「同じユーザー」と判断してくれないので注意。

 

 

Google Analyticsに「新しいプロパティ」を追加しようとしたら、最近はアプリ用のプロファイルがあるみたい。

image

まだベータ版。OfficialなSDKを使えば利用できるみたい。php-gaを使う場合は大人しく「ウェブサイト」にしておく。今後に期待。

 

< Related Posts >