irazasyed / laravel-gamp
Send analytics data to Google Analytics from Laravel. A package for GA Measurement Protocol API
Installs: 1 347 330
Dependents: 1
Suggesters: 0
Security: 0
Stars: 332
Watchers: 19
Forks: 32
Open Issues: 3
Requires
- php: ^7.2 || ^8.0
- illuminate/support: ^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.0 || ^10.0
- theiconic/php-ga-measurement-protocol: ^2.0
Suggests
- irazasyed/larasupport: Adds Package Support in Lumen, Lets you install any Laravel Package.
README
Laravel GAMP: Google Analytics Measurement Protocol Package for Laravel & Lumen.
Send data to Google Analytics from Laravel/Lumen. Supports all GA Measurement Protocol API methods.
Quick start
Install
Step 1: Install Through Composer
$ composer require irazasyed/laravel-gamp
(Lumen) Add the Service Provider
Open bootstrap/app.php
and register the service provider by adding:
$app->register(Irazasyed\LaravelGAMP\LaravelGAMPServiceProvider::class);
Step 2: Publish Config
Open your terminal window and fire the following command to publish config file to your config directory:
$ php artisan vendor:publish --provider="Irazasyed\LaravelGAMP\LaravelGAMPServiceProvider"
Usage
Open config file config/gamp.php
and set the tracking_id
with your Google Analytics tracking / web property ID.
Refer the config file for other default configuration settings.
This Package adds Laravel Support to GA Measurement Protocol PHP Library by THE ICONIC. It's simply a wrapper around the library with default config for easier usage with Laravel. So all the methods listed here are available and will work seamlessly.
Example Usage
Send a Page view hit:
use Irazasyed\LaravelGAMP\Facades\GAMP; $gamp = GAMP::setClientId( '123456' ); $gamp->setDocumentPath( '/page' ); $gamp->sendPageview();
Send an Event:
use Irazasyed\LaravelGAMP\Facades\GAMP; $gamp = GAMP::setClientId( '123456' ); $gamp->setEventCategory('Blog Post') ->setEventAction('Create') ->setEventLabel('Using GAMP In Laravel') ->sendEvent();
Config Overview
Open the config file for detailed comments for each option.
Set your Google Analytics Tracking / Web Property ID in tracking_id
key [REQUIRED]
'tracking_id' => 'UA-XXXX-Y',
All other configuration options are optional, use as per your requirements.
To send data over SSL, set is_ssl
to true.
'is_ssl' => true,
To disable library in Staging/Dev env (Prevents the library from sending any hits to GA), set is_disabled
to true.
'is_disabled' => true,
To Anonymize IP, set anonymize_ip
to true.
'anonymize_ip' => true,
To Make Async Requests, set async_requests
to true.
'async_requests' => true,
...
Refer the library's documentation for other remaining methods and examples, they all work.
Note: You don't have to use the protocol version, tracking id, anonymize ip and async request (non-blocking) methods from the original library as they're automatically set in Service Provider when the package is initialized based on the config file. As long as you update the config file with correct settings, it should work just fine.
Additional information
Any issues, please report here
Credits
- Syed Irfaq R. - For Laravel and Lumen Bridge.
- THE ICONIC - For GA Measurement Protocol PHP Library.
- All Contributors
License
The MIT License (MIT). Please see License File for more information.