This extension provides easy way to add Universal Analytics tracking in your Yii2 application.
The preferred way to install this extension is through composer.
Run in console
php composer.phar require cybercog/yii2-google-analytics
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',
]) ?>
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
); ?>
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,
],
],
]) ?>
Field Name | Value Type | Default Value |
---|---|---|
anonymizeIp | boolean | true |
debug | boolean | false |
debugTrace | boolean | false |
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 |