Jump to content

Better approach to implementing a User Survey Module


Recommended Posts


I'm trying to design a new User Survey functionality that allows a "User" to specify user surveys that pop up

  1. after a user clicks on an audio button
  2. after a user watched a video
  3. after visiting 5 pages on a site
  4. when users bounce 

etc etc

So basically the potential to launch a User Survey from various places under various trigger conditions.

I have already built User Survey capabilties where if the a particular User Survey field and certain trigger fields are filled in, it will trigger the user survey accordingly.

I'm not really happy with the current design as it's highly coupled at the moment and I feel the design is too brittle to accommodate changes that are drastic (oh, like the one I have above for example)

Has any one implemented any flexible User Survey functionality that has various triggering capabilities? I googled far and wide but I've not seen anything remotely close to what I'm looking for. All articles I've found seem to concentrate on designing the User Survey itself and not on the (smart) delivery of it.

Link to comment
Share on other sites

This sounds like an analytics / marketing type of problem, so maybe researching these types of solutions might help.

You will need some way of storing custom user actions - like “a user watches a video” or a “a user downloads a file” probably via javascript. These user actions could be stored in an analytic solution which are well designed to handle this type of data. You could then access the user analytics data via their api, and setup rules in your own code to show your survey based on certain criteria.

I’ve not researched this space for while, but from my previous experience Keen.io is a nice hosted solution for doing any type of custom event tracking, and also a good way to learn about these type of analytics systems. The documentation and api is easy to get started with and they have a very reasonable free plan (15 million events per month), which will probably cover most situations. 

Piwik is a stable open source hosted solution for analytics, and they also have a user events tracking feature. I don’t know how well it fares against some of the commercial solutions for tracking user events (like Mixpanel etc.) but is definitely worth a look

I was recently looking at an open source marketing application called Mautic and they classify this type of thing as a "Campaign". Maybe you can integrate Mautic into your own app or learn from their implementation how they solved a similar problem…


  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...

Not sure why I wasn't notified Michael when you posted, but in any case I came up with a rudimentary event injector that lets me inject various events that will trigger Survey events as specified.

I will definitely take a look at Keen, Piwik and Mautic if my solution has any shortcomings that we deem as critical. Thanks for the info!

Link to comment
Share on other sites


  • Create New...