- 1.0.4 | 2015-08-21
- Added new users metric
- Duplicate code removed
- PHP Docs improved
- Code Style fixed
-
Run
composer require jmpatricio/easy-google-analytics
-
Add
Jmpatricio\EasyGoogleAnalytics\EasyGoogleAnalyticsServiceProvider
to your service providers -
Instalation Done.
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)
-
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
-
Save your p12 key inside
{$projectRoot}/app/storage
.
-
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
Click on the email, and the following screen shows up:
-
Add the client id and the email address to the config:
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!
$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']);