web-dev-qa-db-ja.com

APIサーバー側を使用してイベントをGoogleアナリティクスに送信する

JavaScript関数を使用してGoogle Analyticsにイベントを送信するWebサイトがあります。

ga('send', 'event', 'showphone', 'feedback', 'result');

ただし、PHPを使用してserver-sideから同様のイベントを送信する必要もあります。私はこのクイックスタートチュートリアルを試しました: Hello Analytics API:PHPサービスアカウントのクイックスタート とレポートは魅力的なように機能しますが、イベントの送信方法がわかりません。

上記とまったく同じイベントを送信するためにコード化する必要があるものを、順を追って説明してください。

14
aokozlov

Hello Analytics API:PHPクイックスタート はまったく役に立ちません。そのコードはコアレポートAPIを使用しています。コアレポートAPIはデータをリクエストするためのものですfromGoogle Analyticsがデータを送信しないtoGoogle Analytics。

Google Analyticsにデータを送信するには、 Measurement Protocol を使用します。測定プロトコルは、Googleアナリティクスに情報を送信するために使用されます。投稿したJSスニペットも測定プロトコルを使用します。

HTTP postまたはHttp Getをサポートする任意の言語の測定プロトコルを使用できます。 PHP Googleアナリティクスに情報を送信するための特定のライブラリはありません。自分で投稿をフォーマットする必要があります。ヒントは ヒットの検証 を使用することです。開発中にGoogleに送信する前に確認してください。

おそらくこのようになります

http://www.google-analytics.com/collect?v=1&tid=UA-XXX-Y&cid=35009a79-1a05-49d7-b876-2b884d0f825b&an=My%20Awesom%20APP&aid=com.daimto.awesom.app&av=1.0.0&aiid=come.daimto.awesom.installer &t=event&ec=list&ea=accounts&userclicked&ev=10
22
DaImTo

GithubにPHP library php-ga-measurement-protocol by theiconicがあり、これを使用して Measurementプロトカル

use TheIconic\Tracking\GoogleAnalytics\Analytics;

// Instantiate the Analytics object
// optionally pass TRUE in the constructor if you want to connect using HTTPS
$analytics = new Analytics(true);

// Build the GA hit using the Analytics class methods
// they should Autocomplete if you use a PHP IDE
$analytics
    ->setProtocolVersion('1')
    ->setTrackingId('UA-26293728-11')
    ->setClientId('12345678')
    ->setDocumentPath('/mypage')
    ->setIpOverride("202.126.106.175");

// When you finish bulding the payload send a hit (such as an pageview or event)
$analytics->sendPageview();
8
Adarsh Madrecha