Connecting to your analytics account and getting whatever data you need was never this easy. 😎
Add ozankurt/google-analytics
to your composer requirements.
composer require ozankurt/google-analytics
Configure ozankurt/google-core
package by following its README.
Select the Analytics API
Enable it
Add analytics scope to your scopes array to the configurations in ozankurt/google-core
package.
'scopes' => [
'https://www.googleapis.com/auth/analytics.readonly',
],
Add analytics.viewId
to your config/google.php
.
/**
* View ID can be found in `http://google.com/analytics` under the `Admin` tab on navigation.
*
* Select `Account`, `Property` and `View`. You will see a `View Settings` link.
*/
'analytics' => [
'viewId' => 'ga:12345678',
],
use Kurt\Google\Analytics\Analytics as GoogleAnalytics;
class GoogleController extends Controller
{
private $ga;
function __construct(GoogleAnalytics $ga) {
$this->ga = $ga;
}
public function index()
{
$results = $this->ga->getUsersAndPageviewsOverTime();
var_dump($results);
}
}
<?php
require 'vendor/autoload.php';
use Kurt\Google\Core\Core;
use Kurt\Google\Analytics\Analytics;
$googleCore = new Core([
'applicationName' => 'Google API Wrapper Demo',
'jsonFilePath' => 'Google API Wrapper Demo-174e172143a9.json',
'scopes' => [
Google_Service_Analytics::ANALYTICS_READONLY,
],
'analytics' => [
'viewId' => 'ga:97783314'
],
]);
$analytics = new Analytics($googleCore);
$results = $analytics->getUsersAndPageviewsOverTime();
var_dump($results);
Both of these examples will give a result like this.
The result of GoogleController@index
should look like this:
array (size=2)
'cols' =>
array (size=2)
0 => string 'ga:sessions' (length=11)
1 => string 'ga:pageviews' (length=12)
'rows' =>
array (size=1)
0 => array (size=2)
'ga:sessions' => string '100' (length=3)
'ga:pageviews' => string '250' (length=3)
This open-sourced is software licensed under the MIT license.