ユーザーの出身地を知る

プロジェクトを開くと、 Habrを含め、あらゆる場所でそれについて書き始めます。



Googleアナリティクスなどの統計サービスでは、トラフィックの全体的な推定値、つまりどのリソースから来た訪問者の数が得られます。 目標を設定し、登録または購入を追跡できますが、多くの場合これでは十分ではありません。



しかし、よりアクティブなユーザーがどこから来ているのか、一定期間フォーラムで最も多くのトピックを作成したユーザー、またはオンラインストアで最も多く購入したユーザーに関する統計が必要な場合はどうでしょう。 多くの選択肢があり、そのようなデータ分析サービスは提供できません。







この問題を解決するには、登録中にユーザーがアクセスしたリソースに関するデータを保存するだけです。



このデータは、たとえば、__ utmz GoogleアナリティクスCookieから取得し、データベースの一部のフィールドに書き込むことができます。



__Utmz cookie値は通常、次のようになります



264345247.1261843448.2.3.utmcsr = habrahabr.ru | utmccn =(参照)| utmcmd =参照| utmcct = / blogs / i_am_advertising / 63791 /



static function parseGoogleAnalyticsCookies(){

$returnMap = array();

$cookieVal = $_COOKIE["__utmz"];

//now split cookie value by |

$arrPairs = explode('|', $cookieVal);

foreach($arrPairs as $pair){

$pair = explode('=', $pair);

if (sizeof($pair) == 2){

$key = $pair[0];//look for "."

if (strpos($key, ".")){

$key = substr($key, strrpos($key, ".")+1 );

}



$returnMap[$key] = $pair[1];

}

}

return $returnMap;

}








このコードは、__ utmz Cookieをペアに分割し、連想配列に書き込みます。



これで、ユーザーを登録するときに、このデータを取得して新しいユーザーで記録できます。



$newUser = $model->create();

//..... /

$sourceCookiesData = GoogleAnalyticsCookies::parseGoogleAnalyticsCookies();//GoogleAnalyticsCookies

if (isset($sourceCookiesData['utmcsr'])){

$newUser->source = $sourceCookiesData['utmcsr'];

}

if (isset($sourceCookiesData['utmcct'])){

$newUser->sourceUrl = $sourceCookiesData['utmcct'];

}

$newUser->save();








リンクページのホストとURLを格納するutmcsrとutmcctを使用しました(複数のページが存在する可能性があるため、個別に記述します)。



これで、すべてのデータがデータベースに保存され、簡単なSQLクエリで統計を収集できます。



このような簡単な方法で、ターゲットを絞ったトラフィックがどこから来ているのか、プロモーションの取り組みをどこに向けるべきかを見つけることができます。



All Articles