Yii2 Google Analytics Tracking
This extension provides easy way to add Universal Analytics tracking in your Yii2 application.
Installation
The preferred way to install this extension is through composer.
Run in console
php composer.phar require cybercog/yii2-google-analytics
Usage
In your /views/layouts/main.php add
use cybercog\yii\googleanalytics\widgets\GATracking;
Then before </head> add following code
<?= GATracking::widget([
'trackingId' => 'UA-XXXXXXXX-X',
]) ?>
Advanced usage
Omit script tag
By default this script generated output:
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r], function(){
(i[r].q=i[r].q, []).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-XXXXXXXX-X', "auto");
ga('send', 'pageview');
ga('set', 'anonymizeIp', true);
</script>
But sometimes we need the output without script tag to combined with registerJs or registerJsFile as renderPartial to add dependency or positioning configuration, you can use omitScriptTag true to disable script tag, example:
<?= $this->registerJs(
GATracking::widget([
'trackingId' => 'UA-XXXXXXXX-X',
'omitScriptTag' => true,
]), \yii\web\View::POS_END
); ?>
Example of advanced usage
You can configure tracking script for your needs:
<?= GATracking::widget([
'trackingId' => 'UA-XXXXXXXX-X',
'trackingConfig' => [
'name' => 'myTracker',
'allowAnchor' => false,
],
'omitScriptTag' => false,
'debug' => true,
'debugTrace' => true,
'anonymizeIp' => true,
'plugins' => [
'linkid' => [
'cookieName' => '_ccli',
'duration' => 45,
'levels' => 5,
],
],
]) ?>