https://github.com/cybercog/yii2-google-analytics
Google Analytics Universal tracking widget.
https://github.com/cybercog/yii2-google-analytics
cog cybercog google-analytics widget yii2
Last synced: 12 months ago
JSON representation
Google Analytics Universal tracking widget.
- Host: GitHub
- URL: https://github.com/cybercog/yii2-google-analytics
- Owner: cybercog
- License: other
- Created: 2015-01-24T21:23:18.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2020-01-28T19:37:33.000Z (over 6 years ago)
- Last Synced: 2025-07-22T12:45:31.812Z (about 1 year ago)
- Topics: cog, cybercog, google-analytics, widget, yii2
- Language: PHP
- Homepage: http://cybercog.ru
- Size: 23.4 KB
- Stars: 15
- Watchers: 2
- Forks: 8
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# Yii2 Google Analytics Tracking
[](https://gitter.im/cybercog/yii2-google-analytics?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[](https://packagist.org/packages/cybercog/yii2-google-analytics)
[](https://github.com/cybercog/yii2-google-analytics/blob/master/LICENSE)
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](http://getcomposer.org/download/).
Run in console
```bash
php composer.phar require cybercog/yii2-google-analytics
```
## Usage
In your `/views/layouts/main.php` add
```php
use cybercog\yii\googleanalytics\widgets\GATracking;
```
Then before `` add following code
```php
= GATracking::widget([
'trackingId' => 'UA-XXXXXXXX-X',
]) ?>
```
## Advanced usage
### Omit script tag
By default this script generated output:
```html
(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);
```
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:
```php
= $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:
```php
= 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](https://developers.google.com/analytics/devguides/collection/analyticsjs/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 |
### [Creating your own plugins](https://developers.google.com/analytics/devguides/collection/analyticsjs/plugins)