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-analyticsIn 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 |