GSoC Completion Report On Integrating Google Analytics With CiviCRM

2015-08-30 21:19
Written by

Hi, I am Vishal Agarwal a fourth year undergraduate student pursuing Computer Science And Engineering at IIT-Bombay, a Google Summer of Code student for the year 2015. This is the final blogpost on my GSoC project - Integrating Google Analytics with CiviCRM. I was mentored by Kurund Jalmi. This blog post describes the features of my project.


I have added a new tab called Web Tracking to the event configuration page and the contribution configuration page. Using this tab, administrators can input configuration parameters related to Web Tracking.

Web Tracking Feature

This feature allows organizations to track traffic for their online event and contribution pages. The tracking reports provide organizations with valuable information like the number of visitors over a specific duration of time, the average amount of time visitors spend on their web page, the number of new visitors vs the number of returning visitors, the type of web browser used by their visitors, the origin/nationality of their customers and a lot more.

Event and E-commerce Tracking Feature

The event tracking feature enables organizations to determine the manner in which users interact with their pages. Organizations can determine things like how many visitors choose to change the fee amount from the default selection, how many visitors visited the main page, the registration page, the confirmation page and the final thank you page. Current implementation covers fixed set of events.

An E-commerce tracking feature has also been implemented. This would enable organizations to determine the amount of revenue that is generated from a particular source of traffic. For example, determining exactly how much money was raised for a Donation from the publicity obtained by people liking the Donation page on Facebook, by people sharing the link to the web site on Google Plus, by people writing mails to their friends asking them to contribute, etc.

Tracking Report Feature

This feature allows organizations to view a summary of the tracking reports generated by Google Analytics from within CiviCRM itself.

AB Testing Feature

This feature allows organizations to run AB tests on the web pages created by them. Organizations can run AB tests on upto 10 variants of the same web page. At the end of this test the organization may choose to retain the variant which performed the best on a pre chosen metric and discard the rest.

Important Links

Detailed discussion on my project can be found on the forum

Midterm blogpost on the project can be found here

Code for my extension can be found on github

Filed under
Click thumbs up if you thought this blog post was useful (login to vote or to comment)



I'm impressed by what you've done here. As I was reading a couple of questions came to mind.

Many of us are already using Google Analytics (eg, we use the Drupal module to capture stats). Does your implementation work in with the CMS or is it a separate implementation?

(For instance, A Drupal way of doing this would be to add a Custom Dimension in Google Analytics to gather additional information, and use a token which CiviCRM would set and the GA Drupal module would read.)

If your implementation is separate, I guess that if we were to use it we'd need to disable the CMS implementation of GA on the CiviEvent and CiviContribute pages. Is that the case?

And finally, an observation. While it makes sense to add Web Tracking separately for CiviContribute pages, is would be neat to add Web Tracking generically for CiviEvents.

Thanks again for a neat feature,



This is an independent CiviCRM extension, but I am not sure if there will be a conflict if you use this along with the drupal module. Currently, web tracking is implemented for each contribution or event page level.