This is a companion piece to the Google Analytics module.
Google Analytics is a free service that tracks users, demographic, and statistical data. On a typical site it is easy to set up --especially in Drupal using the Google Analytics module. Under a typical set-up Google Analytics tracks a user as he/she navigates from page to page within a site. This is fine for a typical site where every action on a site requires a new page view. What if, however, the site owner wanted to track how a user is using the ajax form built into views or some other custom ajax event. Google Analytics has a control for this called Event Tracking.
Event Tracking is a way to track user interaction with out registering a page view. Using Google Maps as an example site, event tracking would allow the user to track Zoom, Drag, and View Change events without contaminating the page view statistic.
Drupal 8/9 Version
@TODO: Docs coming soonish...
Drupal 7 Version
Steps to Making Google Analytics Event Tracking To Work
This module allows an interface for Google Analytics event tracking capabilities. It provides a hook for other modules or "glue code" and also has some handy drush commands.
I will be refering to the example module that is included with Google Analytics Event Tracking.
First, write a module that implements hook_google_analytics_et_api() -- this can most easily be done by copying (and renaming) the example module that is included with Google Analytics Event Tracking.
Second, edit the array that is returned by the example's hook_google_analytics_et_api() implementation.
23 $selectors = array(
24 array(
25 'event' => 'mousedown',
26 'selector' => '#main-menu li a',
27 'category' => 'main navigation',
28 'action' => 'click',
29 'label' => '!text',
30 'value' => 0,
31 'noninteraction' => TRUE,
32 'options' => array('trackOnce' => TRUE),
33 ),
You will notice that the hook returns a multi-dimensional array (an array of arrays). Each of the arrays has the same structure:
- event
- selector
- category
- action
- label
- value
- noninteration
- options
This should be somewhat self-explanatory, however I will go through them now.
- event
- The jQuery event that triggers the event.
- selector
- A CSS Selector that the event is bound to.
- action
- This is more for internal book keeping. An arbitrary string that will help organize the events in Google Analytics.
- label
- This is more for internal book keeping. An arbitrary string that will help organize the events in Google Analytics.
- value
- Helps determine what the worth of an event is; for internal use (usually zero). An arbitrary integer that will help organize the events in Google Analytics.
- noninteraction
- Should this event be counted towards the sites overall bounce rate.
- options
- This holds extra options for the event. Currently the only extra option is trackOnce. Which makes that event only fire one time after the load of the site.
There are several tokens that can be used as a string replacement with category, action, and label.
- !text
- This is what would be returned from the jQuery .text() method.
- !href
- The value of the href attribute (handy with anchor tags).
- !currentPage
- The URL of the current page (this is taken with the code window.location.href
There is one more bit that is handy when configuring the module.
Passing !test
will send an alert to the page when the event is triggered and not send the event to Google Analytics.
Notes
Remember to flush Drupals cache every time a change is made to the implementation.
Drupal 6 Version
The Drupal 6 version was created by a patch and will only be receiving security releases (or submitted patches). At this point D6 is considered unsupported except for security releases.
Project information
- Minimally maintained
Maintainers monitor issues, but fast responses are not guaranteed. - Maintenance fixes only
Considered feature-complete by its maintainers. - Module categories: Developer Tools, Integrations
- 347 sites report using this module
- Created by frob on , updated
- Stable releases for this project are covered by the security advisory policy.
Look for the shield icon below.
Releases
See issue 3251771 for details. Dropped support for ga tag.
Development version: 3.0.x-dev updated 15 Dec 2021 at 21:37 UTC
Development version: 7.x-1.x-dev updated 6 Jul 2016 at 20:22 UTC