Google Analytics Measurement Protocol Package for Symfony. Supports all GA Measurement Protocol API methods.
Open a command console, enter your project directory and execute the following command to download the latest version of this bundle:
$ composer require agiledivops/gamp-bundle
This command requires you to have Composer installed globally, as explained in the installation chapter of the Composer documentation.
If you are using PHP 5.5 or above and Guzzle 6 then:
{
"require": {
"agiledivops/gamp-bundle": "^2.0"
}
}
Or if you are using PHP 5.4 or above and Guzzle 5 then:
{
"require": {
"agiledivops/gamp-bundle": "^1.1"
}
}
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 AgileDivops\GampBundle\AgileDivopsGampBundle(),
);
}
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.
$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.
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
This package is a wrapper around the GA Measurement Protocol PHP Library. Thanks to the guys @ THE ICONIC who developed the library!