Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/firstandthird/ga-track
A javascript click tracking library for Google Analytics
https://github.com/firstandthird/ga-track
front-end
Last synced: 14 days ago
JSON representation
A javascript click tracking library for Google Analytics
- Host: GitHub
- URL: https://github.com/firstandthird/ga-track
- Owner: firstandthird
- License: mit
- Created: 2011-10-28T01:02:53.000Z (over 13 years ago)
- Default Branch: master
- Last Pushed: 2023-10-28T08:41:55.000Z (over 1 year ago)
- Last Synced: 2025-01-08T10:43:05.420Z (25 days ago)
- Topics: front-end
- Language: JavaScript
- Homepage:
- Size: 1.24 MB
- Stars: 1
- Watchers: 7
- Forks: 2
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# GA-Track
[![Build Status](https://travis-ci.org/firstandthird/ga-track.svg?branch=master)](https://travis-ci.org/firstandthird/ga-track)
Google Analytics Tracking helper with support for GTag, ga and _gaq.
## Installation
```sh
npm install ga-track
```## Usage
> Make sure you also include your Google Analytics script as shown [in the example](./example/index.html#L7).
```js
import 'ga-track';
// or
import GATrack from 'ga-track';
```Any element with `data-ga-track` as an attribute, will be tracked on click. Here's a quick reference:
| Attribute | Description | Default |
|------------------------|-----------------------|---|
| `data-ga-track` | Needed for autotracking. If a value is given it serves as category. | `ga-track` |
| `data-ga-track-label` | Label of the event. | Element's `href` |
| `data-ga-track-action` | Action of the event. | Element's `textContent` |
| `data-ga-track-href` | Should this be `false` the link **won't** be navigated to. Otherwise `ga-track` will wait till the track happens and then navigates. | Element's `href` |## Methods
GATrack exposes a few method being the following two the most importants. It is a safe call so if Google Analytics gets blocked by an adblocker it won't throw any exceptions due to not being present.
### sendEvent(category, action, label, callback, timeout)
Manually sends an event to Google Analytics.
#### Parameters:
`category` - {string} - Event's category.
`action` - {string} - Event's action.
`label` - {string} - Event's label.
`[callback]` - {Function} - Callback to be called once the event has been tracked.
`[timeout=1000]` - Timeout after which the callback will be called if it didn't finish.
### sendData()
Safely pass data to Google Analytics:
```javascript
GATrack.sendData('set', 'dimension2', 'member');
```## Example
See the [complete example](./example/index.html).
```html
...
...
Click
Me
One
Time
GaTrack.track([
{
element: 'span',
category: 'span',
label: 'click'
}
])