yii2-google-analytics
yii2-google-analytics copied to clipboard
Google Analytics Universal tracking widget.
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,
],
],
]) ?>
Available fields (parameters)
| Field Name | Value Type | Default Value |
|---|---|---|
| anonymizeIp | boolean | true |
| debug | boolean | false |
| debugTrace | boolean | false |
Official field reference
Available plugins
linkid (Enhanced Link Attribution)
| Option Name | Default Value | Description |
|---|---|---|
| cookieName | _gali | Cookie name |
| duration | 30 | Cookie duration (seconds) |
| levels | 3 | Max DOM levels from link to look for element ID |