Laravel GAMP: Google Analytics Measurement Protocol Package for Laravel 5 & Lumen 5.
Send data to Google Analytics from Laravel/Lumen. Supports all GA Measurement Protocol API methods.
If you're using Laravel
5.4& above, Please use
0.5branch. Otherwise, Just follow the below instructions.
0.5branch is outdated and no longer supported. Consider upgrading if you're one of those users.
Step 1: Install Through Composer
You can either add the package directly by firing this command
$ composer require irazasyed/laravel-gamp
Or add in the
require key of
composer.json file manually
And Run the Composer update command
$ composer update
Step 2: Add the Service Provider
config/app.php and, to your "providers" array at the bottom, add:
bootstrap/app.php and add register the service provider by adding:
Step 3: Add Facade (Optional) (Laravel Only)
Optionally add an alias to make it easier to use the library. Open
config/app.php and, to your "aliases" array at the bottom, add:
'GAMP' => Irazasyed\LaravelGAMP\Facades\GAMP::class
Step 4: Publish Config (Laravel Only)
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"
$ php artisan vendor:publish
The former command publishes config file for just this package and the latter publishes vendor files for other packages too. Depending on what you want to do, you can use any (Doesn't really matter).
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.
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();
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.
Any issues, please report here
- Syed Irfaq R. - For Laravel and Lumen Bridge.
- THE ICONIC - For GA Measurement Protocol PHP Library.
- All Contributors
The MIT License (MIT). Please see License File for more information.