Php 使用API服务器向Google Analytics发送事件

Php 使用API服务器向Google Analytics发送事件,php,google-analytics,google-api,measurement-protocol,Php,Google Analytics,Google Api,Measurement Protocol,我有一个网站,使用javascript函数将事件发送到Google Analytics: ga('send','event','showphone','feedback','result') 但是,我还需要使用PHP从服务器端发送一些类似的事件。我尝试了这个快速入门教程:报告就像一种魅力,但我不知道如何发送事件 请您一步一步地告诉我,要发送与上述完全相同的事件,我应该编写哪些代码。对您毫无帮助。该代码使用核心报告API核心报告API用于从Google Analytics请求数据,而不是向Goog

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

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

但是,我还需要使用PHP从服务器端发送一些类似的事件。我尝试了这个快速入门教程:报告就像一种魅力,但我不知道如何发送事件

请您一步一步地告诉我,要发送与上述完全相同的事件,我应该编写哪些代码。

对您毫无帮助。该代码使用核心报告API核心报告API用于从Google Analytics请求数据,而不是向Google Analytics发送数据

要将数据发送到Google Analytics,我们使用。测量协议用于向Google analytics发送信息。您发布的JS代码段也使用测量协议

您可以使用任何支持HTTP post或HTTP Get的语言中的测量协议。也就是说,没有特定于PHP的库可以将信息发送到Google analytics,您必须自己格式化您的帖子。一个技巧是在你开发这个程序时,在你把它发送给谷歌之前先检查一下

它可能看起来像这样

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
github上有一个PHP库,它是由[code>theiconic
创建的,可用于使用发送数据


下面是一个如何使用PHP的示例

首先使用构建请求,使用测试请求,然后使用
文件\u get\u contents
发送请求(请参阅)


好的,我知道,但无论如何,我还没有在GA API中找到任何发送事件的方法,需要master的帮助。这并不是说我是GA的专业人士,但据我所知,GA上的事件只通过JS处理(因为大多数都是前端操作)。这里一步一步地解释:我知道JS方法(如上所述),但必须有一种方法使用服务器端发送相同的信息。@DaImTo-可以这样做,但OP要求“一步一步”。虽然我会告诉他,如果他走错了路,但这需要我知道他实际上走错了路;)@DaImTo我不同意,但我不打算在问题的评论部分争论我的观点:)谢谢!我已经看到了这一点,但我认为在前面提到的API中有一些用于发送的方法。那么,我是否需要发布或获取URL,仅此而已?但是授权怎么办呢?或者应该只从注册服务器发送?不,测量协议是向Google analytics发送跟踪数据的唯一方法。其他API仅用于请求数据和帐户管理。当然,不是您的url,但您可以查看某人网站的来源获取Google Analytics跟踪id,并使用测量协议将垃圾数据发送到Google Analytics帐户。已经有机器人在做这件事了,它被称为推荐垃圾邮件。谷歌正在解决这个问题。现在我正在努力,但什么都没有得到。。。我使用工具制作了一个有效载荷:
v=1&t=event&tid=UA-XXXXXXXX-1&cid=b5d9730e-59bf-4d21-aef7-fe415f64e7eb&ec=test_category&el=test_label&ev=9999&ea=test_action
。之后,我试图发送它(从建设者页面),但没有在我的谷歌分析事件。记得检查实时报告事件不会显示在标准报告中的24小时。
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();
$options = array(
    'http' => array(
        'header'  => "Content-type: application/x-www-form-urlencoded\r\n",
        'method'  => 'POST',
        'content' => 'v=1&t=transaction&tid=UA-xxxxxxx-x&cid=xxxxxx&ti=abcdef&tr=100&in=productname'
    )
);
$context  = stream_context_create($options);
$result = file_get_contents('https://www.google-analytics.com/collect', false, $context);