cybercog / yii2-google-analytics
Google Analytics Widget for the Yii2 framework
Fund package maintenance!
paypal.me/antonkomarev
Installs: 67 873
Dependents: 2
Suggesters: 0
Security: 0
Stars: 15
Watchers: 3
Forks: 8
Open Issues: 0
Type:yii2-extension
Requires
- yiisoft/yii2: *
Requires (Dev)
- friendsofphp/php-cs-fixer: ^1.11
This package is auto-updated.
Last update: 2024-10-29 04:47:37 UTC
README
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, ], ], ]) ?>