PHPackages                             jiririedl/google-analytics - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. jiririedl/google-analytics

ActiveLibrary[API Development](/categories/api)

jiririedl/google-analytics
==========================

Google analytics API client

1.2.1(11y ago)0261MITPHPPHP &gt;=5.3.0

Since Dec 1Pushed 11y ago2 watchersCompare

[ Source](https://github.com/jiririedl/php-forks-google-analytics)[ Packagist](https://packagist.org/packages/jiririedl/google-analytics)[ Docs](https://github.com/jiririedl/php-forks-google-analytics)[ RSS](/packages/jiririedl-google-analytics/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (1)DependenciesVersions (2)Used By (0)

Server-Side Google Analytics Client
===================================

[](#server-side-google-analytics-client)

**Oct 5, 2013:** php-ga was ported from [Google Code](https://code.google.com/p/php-ga/)where it has 8,000+ downloads and 160+ stares.

---

**NOTE:** php-ga is no longer maintained as Google finally released an official server-side tracking API: [Measurement Protocol](https://developers.google.com/analytics/devguides/collection/protocol/v1/)! I couldn't find any well-implemented client library for PHP yet, so feel free to help make php-ga 2.0 a Measurement Protocol PHP client library.

---

You might also be interested in the companion project [php-gacx](https://github.com/thomasbachem/php-gacx)for Google Analytics Content Experiments.

About
-----

[](#about)

php-ga basically is ga.js in PHP: An implementation of a generic server-side Google Analytics client in PHP that implements nearly every parameter and tracking feature of the original GA Javascript client. That means you can send data directly from your servers to to Google Analytics – bypassing the user's browser.

I love Google Analytics and want to contribute to its community with this PHP client implementation. It is intended to be used stand-alone or in addition to an existing Javascript library implementation.

It's PHP, but porting it to other languages (see below for a Python port) should be easy. Building this library involved weeks of documentation reading, googling and testing - therefore its source code is thorougly well-documented.

The PHP client has nothing todo with the [Data Export](http://code.google.com/apis/analytics/docs/gdata/gdataDeveloperGuide.html)or [Management](http://code.google.com/apis/analytics/docs/mgmt/home.html) APIs, although you can of course use them in combination.

Requirements
------------

[](#requirements)

Requires PHP 5.3+ as namespaces and closures are used. Has no other dependencies and can be used independantly from any framework or whatsoever environment.

Supported Features
------------------

[](#supported-features)

The current release is based on version 5.2.5 of the official Javascript client library, see `CHANGELOG` file for details.

- Pageview Tracking
- Event Tracking
- Custom Variable Tracking
- Ecommerce Tracking
- Campaign Tracking
- Social Interaction Tracking
- Site Speed Tracking

Gotchas
-------

[](#gotchas)

- **100% namespaced OOP**As a matter of course.
- **Completely abstracted from any enviroment**Doesn't rely on any globals like $\_SERVER, PHP sessions or whatsoever - implement it the way you want.
- **High-Performance Tracking**Can be configured to enqueue requests via register\_shutdown\_function() and to use non-blocking requests.
- **Probably the most comprehensive technical documentation of GA**More than 50% of all source code lines are PHPDoc and inline comments!

Caveats
-------

[](#caveats)

- **Google Analytics' geo location functionalities won't work**Native geo location features like the worldmap view won't work anymore as they rely solely on the IP address of the GA client - which will always be the one of your server(s) when using this library.

Usage Example
-------------

[](#usage-example)

A very basic page view tracking example:

```
use UnitedPrototype\GoogleAnalytics;

// Initilize GA Tracker
$tracker = new GoogleAnalytics\Tracker('UA-12345678-9', 'example.com');

// Assemble Visitor information
// (could also get unserialized from database)
$visitor = new GoogleAnalytics\Visitor();
$visitor->setIpAddress($_SERVER['REMOTE_ADDR']);
$visitor->setUserAgent($_SERVER['HTTP_USER_AGENT']);
$visitor->setScreenResolution('1024x768');

// Assemble Session information
// (could also get unserialized from PHP session)
$session = new GoogleAnalytics\Session();

// Assemble Page information
$page = new GoogleAnalytics\Page('/page.html');
$page->setTitle('My Page');

// Track page view
$tracker->trackPageview($page, $session, $visitor);
```

Links
-----

[](#links)

- [Python port: PYGA](https://github.com/kra3/py-ga-mob)
- [php-ga questions on Stack Overflow](http://stackoverflow.com/search?q=%22php-ga%22)

Thanks to Matt Clarke for two great articles/tutorials:

- [TechPad: Developing a cookie-less Google Analytics implementation](http://techpad.co.uk/content.php?sid=205)
- [TechPad: Turn Google Analytics into an inventory profiling system](http://techpad.co.uk/content.php?sid=209)

Disclaimer
----------

[](#disclaimer)

Google Analytics is a registered trademark of Google Inc.

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity58

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 98% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

4177d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/7a34e1612fb995b07b309a92fa452dd9ac193517d9ea76b9d02e7866dbb33731?d=identicon)[jiririedl](/maintainers/jiririedl)

---

Top Contributors

[![thomasbachem](https://avatars.githubusercontent.com/u/231538?v=4)](https://github.com/thomasbachem "thomasbachem (48 commits)")[![jorgetutor](https://avatars.githubusercontent.com/u/1230268?v=4)](https://github.com/jorgetutor "jorgetutor (1 commits)")

---

Tags

phpapigoogle-analytics

### Embed Badge

![Health badge](/badges/jiririedl-google-analytics/health.svg)

```
[![Health](https://phpackages.com/badges/jiririedl-google-analytics/health.svg)](https://phpackages.com/packages/jiririedl-google-analytics)
```

###  Alternatives

[jstolpe/instagram-graph-api-php-sdk

Instagram Graph API PHP SDK

13998.4k2](/packages/jstolpe-instagram-graph-api-php-sdk)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
