Skip to content

krizon/php-ga-measurement-protocol

Repository files navigation

Google Analytics Measurement Protocol PHP Client

Build Status Scrutinizer Quality Score Code Coverage Latest Stable Version Total Downloads Latest Unstable Version License

A full featured php client for the Google Analytics Measurment Protocol API. Build upon the shoulders of the great Guzzle.

See https://developers.google.com/analytics/devguides/collection/protocol/v1/devguide

Installation

Use Composer to add this library to your dependencies:

$ composer require krizon/php-ga-measurement-protocol

Features

  • Page tracking
  • Event tracking
  • Ecommerce tracking
  • Social interactions tracking
  • Exception tracking
  • User timing tracking
  • App tracking
  • Non-blocking requests (todo)

Usage

$config = array(
    'ssl' => true // Enable/Disable SSL, default false
);
$client = Krizon\Google\Analytics\MeasurementProtocol\MeasurementProtocolClient::factory($config);
$client->pageview(array(
    'tid' => 'UA-XXXX-XXXX', // Tracking Id 
    'cid' => 'XXXX-XXXXX-XXXXX', // Customer Id
    'dh' => 'domain.do',
    'dp' => '/php-ga-measurement-protocol/phpunit-test',
    'dt' => 'PHP GA Measurement Protocol'
));

Testing

Before you can run the tests make sure you installed the dependencies using composer:

$ composer install

PHPUnit itself is included in the dependencies so now you can call:

$ vendor/bin/phpunit

We have two types of tests:

  • Tests with mocked 200 OK response, @group __nogroup__. This type of tests are used tor testing required fields, asserting classtypes etc.;
  • Tests that do real calls to the Google API, @group internet. The Google API itself always returns a 200 OK so to be sure the requests are transferred and handled correctly you can run the tests of group 'internet'. Before running this group make sure you've configured the correct tracking id in the phpunit.xml configuration by setting the env variable tracking_id. This group is excluded by default but you can run this tests by calling: $ vendor/bin/phpunit --group internet

Contributors

About

PHP client for the Google Analytics Measurement Protocol API

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages