fourlabs / gamp-bundle
Google Analytics Measurement Protocol bundle for Symfony
Installs: 391 700
Dependents: 0
Suggesters: 0
Security: 0
Stars: 31
Watchers: 4
Forks: 14
Open Issues: 4
Type:symfony-bundle
Requires
- php: >=5.5
- symfony/framework-bundle: ~2.4||~3.0||~4.0||~5.0
- theiconic/php-ga-measurement-protocol: ^2.7
Requires (Dev)
- phpunit/phpunit: ^8.4
README
Google Analytics Measurement Protocol Package for Symfony. Supports all GA Measurement Protocol API methods.
Installation
Download the Bundle
Open a command console, enter your project directory and execute the following command to download the latest version of this bundle:
$ composer require fourlabs/gamp-bundle
This command requires you to have Composer installed globally, as explained in the installation chapter of the Composer documentation.
Compatibility with Guzzle 5 and 6
If you are using PHP 5.5 or above and Guzzle 6 then:
{
"require": {
"fourlabs/gamp-bundle": "^2.0"
}
}
Or if you are using PHP 5.4 or above and Guzzle 5 then:
{
"require": {
"fourlabs/gamp-bundle": "^1.1"
}
}
Enable the Bundle
Then, enable the bundle by adding the following line in the app/AppKernel.php file of your project:
<?php // app/AppKernel.php public function registerBundles() { $bundles = array( // ... new FourLabs\GampBundle\FourLabsGampBundle(), ); }
Usage
This bundle exposes the service gamp.analytics
. It is a non shared service, i.e. each time you retrieve the service you'll get a new instance.
Example
$this->get('gamp.analytics') ->setTransactionId('7778922') ->setAffiliation('THE ICONIC') ->setRevenue(250.0) ->setTax(25.0) ->setShipping(15.0) ->setCouponCode('MY_COUPON') ->setProductActionToPurchase() ->setEventCategory('Checkout') ->setEventAction('Purchase') ->sendEvent() ;
Refer to the library's documentation for other remaining methods and examples, they all work. This library 100% supports all GAMP features.
Note: You don't have to use the protocol version, tracking id, anonymize ip and async request (non-blocking) methods as they're automatically set in based on your config file.
Configuration
Example of configuration in app/config.yml
:
four_labs_gamp:
protocol_version: 1
tracking_id: UA-XXXXXXX-X
use_ssl: true
anonymize_ip: false
async_requests: true
sandbox: true
Set your Google Analytics Tracking / Web Property ID in tracking_id
key [REQUIRED]
See: https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#tid
tracking_id: UA-XXXX-Y
All other configuration options are optional, use as per your requirements.
The Protocol version. The current value is '1'. Default: 1
See: https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#v
protocol_version: 1
To send data over SSL, set use_ssl
to true. Default: true
See: https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#tid
use_ssl: true
To Anonymize IP, set anonymize_ip
to true. Default: false
See: https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#aip
anonymize_ip: true
To Make Async Requests, set async_requests
to true. Default: true
async_requests: true
When sandbox mode is enabled, no hits are actually sent to GA. In this case the library returns a AnalyticsResponseInterface object that with empty values. Default: false
sandbox: true
Credits
This package is a wrapper around the GA Measurement Protocol PHP Library. Thanks to the guys @ THE ICONIC who developed the library!