jalle19/yii-ga

Google Analytics extension for the Yii framework

1.0.2 2014-06-03 12:17 UTC

This package is auto-updated.

Last update: 2024-09-13 00:32:37 UTC


README

Google Analytics extension for the Yii framework. It supports general tracking as well as tracking e-commerce transactions.

See https://developers.google.com/analytics/devguides/ for general information about Google Analytics integration.

Installation

Install the application using Composer and make sure you've included Composer's autoloader in your bootstrap file. After that you will need to add the following to your application configuration:

// change this path if necessary
Yii::setPathOfAlias('yiiga', realpath(__DIR__.'/../../vendor/jalle19/yii-ga/src/yiiga'));
...
return array(
	...
	'components'=>array(
		...
		'ga'=>array(
			'class'=>'yiiga\components\GoogleAnalytics',
			'accountId'=>'UA-XXXXXXX-X',
			'cookieDomain'=>'www.example.com', // optional
			'currency'=>'euro', // only needed if you're going to use e-commerce transactions
		),
	),
),

Usage

To register basic tracking support, add Yii::app()->ga->registerTracking(); to your main layout file (assuming you want to track the whole site).

To register e-commerce transactions, adapt the following snippet to your needs (see the class files for which properties are available for transactions and transaction items):

<?php

/* @var $order Order */

// Create a new transaction
$transaction = new yiiga\models\Transaction();
$transaction->orderId = $order->id;
$transaction->city = $order->city;
$transaction->country = $order->country;
$transaction->total = $order->total;
$transaction->tax = $order->tax;

// Add the order items to the transaction
foreach ($order->items as $orderItem)
{
	$item = new yiiga\models\TransactionItem();
	$item->sku = $orderItem->sku;
	$item->name = $orderItem->name;
	$item->price = ($orderItem->price + $orderItem->tax);
	$item->quantity = $orderItem->quantity;

	$transaction->addItem($item);
}

// Register the transaction
Yii::app()->ga->addTransaction($transaction);

License

This application is licensed under the New BSD License

Credits

Thanks to @crisu83 for giving me some pointers!