jmpatricio / easy-google-analytics by jmpatricio

76
6
3
Package Data
Maintainer Username: jmpatricio
Maintainer Contact: jmpatricio@gmail.com (Joao Patricio)
Package Create Date: 2015-08-14
Package Last Update: 2015-08-21
Language: PHP
License: MIT
Last Refreshed: 2024-04-23 03:09:58
Package Statistics
Total Downloads: 76
Monthly Downloads: 0
Daily Downloads: 0
Total Stars: 6
Total Watchers: 3
Total Forks: 2
Total Open Issues: 1

Easy Google Analytics

Laravel Package to connect Google Analytics

Latest Stable Version Codacy Badge Code Climate License

Changelog

  • 1.0.4 | 2015-08-21
  • Added new users metric
  • Duplicate code removed
  • PHP Docs improved
  • Code Style fixed

Instalation

  1. Run composer require jmpatricio/easy-google-analytics

  2. Add Jmpatricio\EasyGoogleAnalytics\EasyGoogleAnalyticsServiceProvider to your service providers

  3. Instalation Done.

Configuration

This step is the most important. Let's make it simple:

  • Open a terminal and run: php artisan config:publish "jmpatricio/easy-google-analytics".
  • Now you have {$projectRoot}/app/config/packages/jmpatricio/easy-google-analytics/config.php file with:
return [
    'client_id'            => 'xxx.apps.googleusercontent.com',
    'service_account_name' => 'xxx@developer.gserviceaccount.com',
    'keyfile'              => storage_path('xxx.p12'),
    'analytics_id'         => 'ga:xxx',
];
```	

* Now you have to go to your googe developer account and configure a new project. (If you already have a project, ignore this step)
![Create a new project](https://raw.githubusercontent.com/jmpatricio/easy-google-analytics-files/master/configure_project.png)

* You need to enable the Analytics API to your project. Inside project, go to APIs & auth and then inside APIs. Enable the analytics

* Inside the project, on developers console, go to Credentials inside APIs & auth, create a new Service Account
![](https://raw.githubusercontent.com/jmpatricio/easy-google-analytics-files/master/add_service_account_001.png)

* Choose a p12 key
![](https://raw.githubusercontent.com/jmpatricio/easy-google-analytics-files/master/add_service_account_002.png)

* Save your p12 key inside `{$projectRoot}/app/storage`. 

![](https://raw.githubusercontent.com/jmpatricio/easy-google-analytics-files/master/add_service_account_003.png)

* Edit the config file and define the keyfile entry: `'keyfile'              => storage_path('Easy-Google-Analytics-da31194a03c6.p12'),`

* Now you have the information about the credentials
![](https://raw.githubusercontent.com/jmpatricio/easy-google-analytics-files/master/client_data_001.png)
Click on the email, and the following screen shows up:
![](https://raw.githubusercontent.com/jmpatricio/easy-google-analytics-files/master/client_data_002.png)

* Add the client id and the email address to the config:
```php
return [
	'client_id'            => '459875649264-vs034lhn7ocddcch0nq1vdurst1mr8bu.apps.googleusercontent.com',
	'service_account_name' => '459875649264-vs034lhn7ocddcch0nq1vdurst1mr8bu@developer.gserviceaccount.com',
	'keyfile'              => storage_path('Easy-Google-Analytics-da31194a03c6.p12'),
	'analytics_id'         => 'ga:xxx',
];
  • Now the only thing missing is the analytics id
  • Go to your analytics dashboard, and inside the admin area select the view settings:
  • Copy the view id and add to the config:

The config will be the following:

return [
    'client_id'            => '459875649264-vs034lhn7ocddcch0nq1vdurst1mr8bu.apps.googleusercontent.com',
    'service_account_name' => '459875649264-vs034lhn7ocddcch0nq1vdurst1mr8bu@developer.gserviceaccount.com',
    'keyfile'              => storage_path('Easy-Google-Analytics-da31194a03c6.p12'),
    'analytics_id'         => 'ga:106917230',
];
  • Now we have to add permissions to the service account inside analytics console:

  • Go to the analytics admin console, and add the user with the respective permissions:

  • The configuration is complete!

Basic usage

$connector = new Jmpatricio\EasyGoogleAnalytics\Connector();

// Total visits for today
$totalVisitors = $connector->getTotalVisits();

// Total visits with from-to dates
$totalVisitors = $connector->getTotalVisits(new Carbon\Carbon('2015-08-01'), new Carbon\Carbon('2015-08-05'));

// Active users
$activeUsers = $connector->getActiveUsers();

// Generic API Access

// GA API
$fromDate = new Carbon\Carbon('2015-08-01');
$toDate = new Carbon\Carbon('2015-08-05');
$serviceResponse = $connector->getGA($fromDate,$toDate,'ga:visitors')

// Realtime API
$serviceResponse = $connector->getRT('rt:activeUsers',['dimensions'=>'rt:country']);