I am building a social networking website in Drupal. As users complete their profile, they are awarded different roles. Now that I have launched the site and have some members, I would like to track the number of users by role over time so that I can see how my site is growing.

I built a view to do this and it shows me the information I want. However, since I want to measure membership growth I would like to do this over time. So, currently I simply log into my site and then type the numbers I need into Excel.

Is there a better way to do this? Ideally, I would like to automatically save an Excel-ready snapshot every week (or in a dream world, have a graph automatically prepared). Is there some other way (even without views) to track the number of users by role over time?

  • i suspect there is no out-of-the box solution ... I keep thinking about improving the "BI" in drupal lately a lot, probably creating something like a new module called "views result persist" would make sense :). The first phase (taking a view and saving its results into a table) should be pretty easy. Creating / altering the table automatically according to changes in the view would be harder :). The results could then be displayed with forena which should allready allow some charts :).
    – mojzis
    Commented Oct 31, 2012 at 16:43

1 Answer 1


You should record custom variables in Google Analytics. Download the GA Module https://www.drupal.org/project/google_analytics and Tokens https://www.drupal.org/project/token in the bottom of the configuration [yoursite].com/admin/config/system/googleanalytics expand the SHOWCUSTOM DIMENSIONS section populate the values with tokens like [current-user:roles] You can also record an event upon account creation which identifies the type of account https://developers.google.com/analytics/devguides/collection/analyticsjs/events you can do a JS event on submit that will record or it probably makes more sense to create a library to record all instances of certain types the way Google Developers is implying.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.