(この質問を stackoverflow.com からコピーしました。おそらく誰かが答えを持っているでしょうか?)
ユーザーが私のWebサイトにアクセスしたときに、Googleアナリティクスを使用してPHPと言うリアルタイムのHTTP通知を送信できるかどうか疑問に思っていました。そうでない場合は、ユーザーがサイトにアクセスしたときにGoogleアナリティクスが私に送信できるリアルタイム通知に興味があります。ありがとう!
Googleアナリティクスにリアルタイム分析があるとは思わない。実際、現在の範囲にスコープを設定すると、分析のためにすべてのヒットをアカウントに照合するのにかなり時間がかかることがわかります。 。
TechCrunchに関する記事は、 リアルタイム分析がGoogle Analyticsに来るかもしれません という希望を抱いていますが、息を止めません:)
Chartbeat.comをご覧ください。 (ただし、ほとんどのサイトで$ 9.95の費用がかかるため、無料で必要な場合はchartbeatは使用できません。少しだけ必要な場合を除き、無料試用版を使用してからキャンセルできます...)
リアルタイム分析があり、データにアクセスするために使用できるAPIがあります。ただし、通知を送信する方法はありません。新しい訪問者を確認するために彼らに投票する必要があります。
私が知っている2つのオプション:
Piwik :オープンソースのリアルタイム分析。私はこれを使用しませんが、使用する友人がいて、彼は本当にそれを気に入っています。それはかなり見栄えがよく、このようなものを使用すると、データを使用して他のあらゆる種類の処理を実行できます(Webサイト上の独自のリアルタイム統計など)。
カスタム:ページヒットを取得するたびにレコードを挿入するデータベーステーブルを簡単に追加できます。また、各ユーザーのセッションIDまたはその他の一意の文字列を保存して、それらをグループ化するか、新規訪問者か訪問者かを検出できます。 AJAXを使用して追加の機能を追加して、ページに表示されている時間を記録することもできます。
1日あたり10万回以上ヒットするサイトで同様の機能を実行し、余分な負荷に気付きませんでしたが、主キーのみでテーブルを本当にシンプルに保ちました。テーブルですぐに結果/数値を取得する場合、おそらくいくつかのキーが必要になりますが、フラットテーブルからデータをより便利なものに結合するテーブルにデータを移動するスクリプトを使用することもできます(ヒットあたりユーザー、訪問期間など)。
このタイプのソリューションでは、訪問者にメッセージを送信することで、訪問者がWebサイトにいる間に通信できる機能を追加することもできます。
このAPIを使用できます http://www.google.com/analytics/apps/about?app_id=61001
または、アナリティクスのWebページからフォローすると、リアルタイム(ベータ)バージョンが実行されているため、おそらく、アナリティクスAPIの使用方法を見つけることができます。
通知が1回限りの場合は、ページに小さな通知機能を追加するなどの方法があります。私は時々それをしますが、通常は電子メールの山を生成する可能性があるため、通常はすぐにそれを停止します。 sparinglyを使用します。
あなたは特にPHPについて言及したので、私はコードを含めています:
<?php
// add ip addresses you don't care about here
$no_mail = array(
'24.254.148.80',
'67.145.115.105',
'207.46.149.50',
);
$url = $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI';
$to_email = '[email protected]';
if (!in_array($_SERVER['REMOTE_ADDR'], $no_mail)):
$body = $url . "\n\n". print_r($_SERVER, true);
$headers = 'From: [email protected]' . "\n" .
'Reply-To: [email protected]' . "\n" .
'X-Mailer: PHP/' . phpversion() . "\n";
mail($to_email,
'Email from '. url . $_SERVER['REMOTE_ADDR'],
$body
, $headers) or die("<!-- error with email -->");
print "<!-- notification sent -->";
else:
print "<!-- no notification sent -->";
endif;
?>
これは方法なし包括的なソリューションです。ログでtail
を実行し、関心のあるページに関する情報のためにgrepping
を実行するだけで、同様のことができます。