GithubHelp home page GithubHelp logo

fjudith / piwik-for-limesurvey Goto Github PK

View Code? Open in Web Editor NEW

This project forked from stevecohen/piwik-for-limesurvey

1.0 1.0 0.0 249 KB

Plugs Piwik into Limesurvey, so you can track your survey users/respondents. Simple.

License: GNU General Public License v3.0

PHP 100.00%

piwik-for-limesurvey's Introduction

Piwik-for-Limesurvey

A Plugin for limesurvey that adds the Piwik tracking code, enabling you to track your survey users/respondents. This requires a working Piwik installation.

This is currently alpha software. It's progressing rapidly, and will be Beta shortly (see 'todo' below). Use it at your own risk.

#Installation

  1. Unzip and copy the 'PiwikPlugin' directory into your Limesurvey Plugin directory
  • Or download using Git like this:
git clone https://github.com/SteveCohen/Piwik-for-Limesurvey.git PiwikPlugin
  1. Use Limesurvey's 'Plugin Manager' to specify at least the Piwik URL and SiteID
  2. Test that it's working for you.

#Comments wanted! Please do submit an issue if you have anything to add: Feedback, commits and criticism are all wanted.

Features & Todo:

  • Allow superuser to choose whether to track admin pages
  • Enable survey admins to turn on/off tracking per survey
  • Rewrites URLs to store as much data as possible in Piwik
    • Rationalise the format of custom URLs
    • Allow (super)users to choose the format stored in Piwik. e.g. SurveyID/GroupID/QuestionID & others.
  • Allow survey admins to change the Piwik URL and SiteID used to track their survey.
  • Use Piwik event tracking to collect survey paradata and other events. (Similar to the AuditLog plugin but for data collection) e.g:
    • Focus first on those that LimeSurvey provides plugin events for:
      • Survey submission (hits after submission)
      • Use of 'next', 'back' button, 'save' and 'clear' buttons
      • Survey save-and-exit use
      • Survey resumption
    • And consider others like...
      • Survey starts (hits to welcome page)
    • Allow event tracking to be enabled/disabled per-survey
  • Uses Piwik content tracking to track which questions have actually been displayed to respondents
    • Track interactions with response options (e.g. track whether some questions are changed more than others)
    • Allow content tracking to be enabled/disabled per-survey
  • Consider some form of plugin update notice mechanism
  • Consider displaying selected Piwik stats within Limesurvey Piwik reporting api
    • Determine which analytics to show. Probably items related to design and fieldwork e.g. aggregations of type of device (mobile/desktop), particularly long questions, breakoffs, respondent locations.
    • Use segmentation to ensure we get just the data from survey participants for this survey, not the entire website, using the segmentation API
  • Use Piwik PHP tracking to avoid use of cookies. See Piwik Docs
  • Manual on how to use the plugin and paradata

#Ideas Not on the 'todo' list, but for consideration in future versions if there is enough interest:

  • Track a random subsample of users' pages/events/content interactions to reduce the amount of data collected by Piwik.

#Plugin options

##Track Admin pages Options: Enable / Disable Scope: Global

Specifies whether admin pages should be tracked in Piwik. This may be useful for some use cases, such as tracking how much effort it takes to make a survey.

##Track Survey Pages Options: Enable / Disable Scope: Survey (Can be turned on/off per survey)

This specifies whether tracking code should be added to survey pages at all. If disabled, access to survey pages will not be tracked.

The Global option 'Track Survey pages by default' specifies the default setting for surveys: Whether survey pages, by default, will be tracked. This can be overridden per survey (General Settings -> 'Plugin' tab -> 'Collect web analytics data from respondents'), allowing you to enable or disable tracking on individual surveys.

##URL rewriting Options: Disabled / Unreal link / Public link / Admin link Scope: Global (turned on/off for ALL surveys)

This rewrites URLs to make sure the maximum amount of information is tracked.

Limesurvey doesn't always use the most informative URLs. For example, if you look at the URLs halfway through a survey, you'll see it looks something like

/index.php/survey/index

This feature rewrites the URLs to add information to the URL, and goes to an existing page according to parameters.

  • Disabled : use the real link shown to the user
  • Unreal link : Start by survey id, follow by gid, qid , event (save,load ..)
  • Admin link : To the survey view, group view or question view, with more information
  • Public link : To start of the survey with more information

Content Tracking: Track respondents' interactions with answer options

Options: Enabled / Disabled Scope: Global (turned on/off for ALL surveys) Piwik Content Tracking is used to log when page content is displayed and interacted with.

Piwik for Limesurvey tracks when a question is shown to respondents (i.e. an impression) and each time they use one of the question's answer options (i.e. an interaction). With this information, Piwik calculates an 'interaction rate' for each question. This equates to the number of times the respondent answered, or changed their answer, for each question.

###Example scenario: Identify problematic questions Ideally the interaction rate would be 100%: this indicates that (on average) every respondent answered the question. If it was less than 100%, it indicates some users were shown the question but did not answer it. If it is more than 100%, users were shown the question but changed their answers multiple times.

This indicate:

  • unclear question wording: it could be long, convoluted, or use terms that respondents don't understand
  • insufficient answer options: are your answer options exhaustive?
  • sensitive questions: respondents might refuse to answer questions on some topics

###Example scenario: Check sample sizes for filtered/sequenced/routed questions The absolute number of impressions indicates how many people were shown, and may have answered, that question. This is a quick way of checking whether you might have enough data do your analysis.

##Event tracking: Track important survey events Options:

  • Enabled / Disabled
  • Event Category (Default: Survey) Scope: Global (turned on/off for ALL surveys)

Piwik event tracking is used to track specific events that occur while filling out the survey.

Events are stored in a custom Category inside Piwik, which can be specified by the admin using the 'Piwik Event category to use for survey events' option.

Piwik for Limesurvey tracks the following events:

  • Buttons at the bottom of each page: 'Next', 'Previous', 'Clear responses' and 'Save'
  • When respondents attempt to re-load their answers (having previously saved them)
  • Completion/Submission of the survey

Some of this information is available in the URL tracked by Piwik, especially if URL rewriting is enabled.

piwik-for-limesurvey's People

Contributors

shnoulle avatar stevecohen avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.