使用API服务器端将事件发送到谷歌分析

我有一个网站,我使用javascript函数将事件发送到Google Analytics:

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

但是,我还需要使用PHP发送一些类似的事件。我尝试了这个快速入门教程:Hello Analytics API:PHP 快速入门,用于服务帐户和报告,就像一个超级按钮,但我不知道如何发送事件。server-side

你能不能一步一步地告诉我,我应该编写什么代码来发送与上面提到的完全相同的事件。


答案 1

Hello Analytics API:服务帐户的 PHP 快速入门根本无法帮助你。该代码使用核心报告API,核心报告API用于Google Analytics请求数据,而不是将数据发送到Google Analytics。

要将数据发送到谷歌分析,我们使用测量协议。测量协议用于向 Google Analytics(分析)发送信息,您发布的 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

答案 2

github上有一个PHP库php-ga-measurement-protocol,可用于使用Measuration Protocal发送数据。theiconic

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();

推荐