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.
$ composer require irazasyed/laravel-gamp
bootstrap/app.php and register the service provider by adding:
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"
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
The MIT License (MIT). Please see License File for more information.