Midterm Report On Integrating Google Analytics With CiviCRM

2015-06-30 10:40
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.


CiviCRM allows organizations to create events and helps to manage simple and complex event registration process. With millions of web pages currently on the internet and even more being added day by day, organizations want to know more about their visitor flow. Statistically measuring the success of a campaign is a very important task. Fortunately Google Analytics provides very user friendly  ways to do the same.

This summer, as a part of my GSOC project, I will integrate the web tracking features provided by Google Analytics with CiviCRM. I am mentored by Kurund Jalmi. This blog post describes the features of my project along with what has been implemented so far.


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

Web Tracking Feature

This feature will allow organizations to track traffic for the online event pages. The tracking reports will 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 would enable organizations to determine the manner in which users interact with their website. Organizations can determine things like how many visitors choose to change the fee amount from the default selection, out of all the visitors who click on register finally how many actually end up confirming their registration, etc. 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 would allow organizations to view a summary of the tracking reports generated by Google Analytics from within CiviCRM itself.

AB Testing Feature

This feature would allow organizations to run AB tests on the web pages created by them. This feature would allow organizations to 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. Currently the implementation of this feature is a work in progress.

Here is a screenshot of an AB experiment which I ran on my computer locally.

A detailed discussion on my project can be found on the forum. Current work url: https://github.com/VishalAgarwal/CiviWebExtension

Next Stages:

  • The administrators need to be provided with ability to choose the specific events that they want to track
  • The implementation of the AB testing feature needs to be completed
  • The same functionality needs to be extended for contribution pages
  • The tracking report feature needs to be integrated with civicrm. Currently it is independant
  • The existing bugs in the code need to be fixed

Any feedback would be greatly appreciated

Filed under