Laravel-GAMP Package

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 \L aravelGAMP \L aravelGAMPServiceProvider"

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

License

The MIT License (MIT). Please see License File for more information.