/google-analytics

Google analytics

Primary LanguagePHPMIT LicenseMIT

Google Analytics

Latest Stable Version Total Downloads Latest Unstable Version License

Connecting to your analytics account and getting whatever data you need was never this easy. 😎

Installation

Step 1

Add ozankurt/google-analytics to your composer requirements.

composer require ozankurt/google-analytics

Step 2

Configure ozankurt/google-core package by following its README.

Step 3

Select the Analytics API

Select the Analytics API

Enable it

Enable It

Step 4

Add analytics scope to your scopes array to the configurations in ozankurt/google-core package.

'scopes' => [
	'https://www.googleapis.com/auth/analytics.readonly',
],

Usage (Laravel)

Step 1

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',
    ],

Controller Example

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

Usage (Pure PHP)

Example

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

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)

License

This open-sourced is software licensed under the MIT license.