Note that the updates might be listed here before the new version has actually been released.

For upcoming changes see the roadmap page.

userTrack 3.0.2 (4 May 2020)

This update adds back skip pauses during playback, live visitors playback and adds a new pages visited filter to segments.

How to update (v3.0.1 -> v3.0.2)


  • Live playback. When watching the playback of a visitor that is still on your site, new data will be automatically loaded and playback will only stop if 10 seconds pass without any user activity.

  • Skip pauses in playback . The option to skip inactivity while watching a recording has been reimplemented.

  • Page filters for segments. You can now add one or more pages to filter by in segments. The pages can have a starting/ending wildcard. For example, adding *blog* will only show users who visited a page whos URL contains the blog keyword. The same wildcard syntax works when filtering data in the Visitors table.

Bug fixes:

  • A default date range (14 days) is now always enabled for segments. Without having a range selected, the comparison data from segments would not be aligned. You can no longer view data without a date range specified.

  • Fixed pagination of visitors list when using segments (total number of pages was wrong).

  • Fixed empty/incomplete visitor pages being shown in visitors list when the pages filter is used. The filter is now done in MySQL, but the page path has to be exact.

WordPress specific fixes:

  • Fixed an issue where sometimes the userTrack tables would not be deleted when the userTrack plugin is uninstalled.

  • Fixed a possible conflict with other plugins, if they someone included the MaxMind GeoIP DB automatically.

  • Fixed an issue where saving settings would add magic slashes to the tracker.js file and break it.

How to update (v3.0.1 -> v3.0.2)

About updating:

Unfortunately there is no auto-updating functionality yet. To update the script you must replace the old userTrack files with the new ones. Sometimes, if there's a database change, install.php must to be ran again for the new tables to be created.

Note that dbconfig.php and tracker.js contain your database connection information and tracking settings. You should keep those files without replacing them (unless they were actually updated) in order to keep those credentials.

Update steps:

  1. Replace all client files (JS, CSS, images, etc.) with the new ones.

  2. The following server files were created or changed and have to be copied: (you can also just replace the entire server folder, the important server files to keep are dbconfig.php, tracker.js and ust.min.js)


3. This update does not include any database changes, so there is no need to run install.php again.

userTrack 3.0.1 (10 April 2020)

This update includes a new segments feature and fixes some installation and UX issues.

How to update (v3.0.0 -> v3.0.1)


  • Segments. You can now group multiple filters into segments. The graphs will show all segments at once and the visitors list, heatmaps and list statistics (top pages/top referrers) will show the data for the first active segment.

userTrack v3.0.1 analytics segments
  • Country filter. A new users filter has been added in order to select only users coming from a specific country.


  • When adding a new domain name, the protocol (http) is automatically removed from the URL. Previously, adding a domain name with http in front would fail to show the data for that domain and also break the interface.

  • A new UI modal system was implemented, so most prompts in the interface now use the MaterialUI design instead of the native, thread-blocking, prompt.

  • The notification system that was showing error/success messages was replaced with notistack.

  • Filters inputs now have an autocomplete feature (eg. when you add a new tag, you can suggestion based on the existing tags in the database for the current domain).

  • Some performance improvements, especially when changing filters/segments. Only the graphs for the segments that were changed are now reloaded.

Bug fixes:

  • Fixed: Pagination in visitors list - visitors list page would be wrong or the interface would crash when changing filters/segments while on a page other than first.


  • The current database password is no longer shown during the initial database setup, to avoid a possible attack before the script is installed.

How to update (v3.0.0 -> v3.0.1)

About updating:

Unfortunately there is no auto-updating functionality yet. To update the script you must replace the old userTrack files with the new ones. Sometimes, if there's a database change, install.php must to be ran again for the new tables to be created.

Note that dbconfig.php and tracker.js contain your database connection information and tracking settings. You should keep those files without replacing them (unless they were actually updated) in order to keep those credentials.

Update steps:

  1. Replace all client files (JS, CSS, images, etc.) with the new ones.

  2. The following server files were created or changed and have to be copied: (you can also just replace the entire server folder, the important server files to keep are dbconfig.php, tracker.js and ust.min.js)


3. This update does not include any database changes, so there is no need to run install.php again.

ūüéČuserTrack 3.0.0 (beta) (18 March 2020)

This is a complete rewrite of userTrack's interface. It also includes new and improved features, but the best part is that now it's a lot easier to add new functionalities to userTrack.


  • Front-end is now written in TypeScript.

  • The interface is based on ReactJS Material-UI.

  • i18n localization - the entire UI can now easily be translated with translation files.

  • There's a new Stats page showing different graphs about visitors.

  • Ability to have Filters for all graphs and heatmaps.

  • Improved Security

Hot fixes:

  • 19 March 2020

    • Updated Minifier.php to fix PHP 7.3 compatibility issue.

    • Fix server sub-folder permissions. This was caused by a gulp-zip bug.

    • Add missing .htaccess files.


  • Localization using react-i18next‚Äč

  • Performance improvements:

    • User visit start and end time are now stored in the ust_clients folder. This means that now the visit duration can be easily computed as a difference, between it was computed by summing the duration of each page visited.

  • Graphs:

    • Pages per session (bar chart)

    • Bounce rate (time series chart)

    • Top pages (list of 10 most viewed pages)

    • Top countries (list of 10 most common visitor countries, based on IP geolocation)

    • Top referrers (list of 10 most common traffic sources, choice of domain or full URL counting)

  • Filters:

    • A new header bar with filters was added in UI.

    • Those filters are applied to all data shown (graphs, list of visitors, heatmaps).

    • Currently you can filter based on Tags, Referrer and Date range.

    • More filters will be implemented soon.

  • React-router is used, so you can now refresh the dashboard and remain on the same page.

  • Domain changing can now be done from any page in the interface. This allows for easily viewing a specific type of data for each of the tracked domains.

  • Iframe auto-scaling: The iframe scale slider was removed. Its only purpose was to allow for manually scaling of the iframe so when viewing heatmap for a resolution larger than our monitor's it would still fit within our screen size. Now the iframe is always scaled to fit within our browser window. The scaling is now also applied when playing back recordings (previously recordings didn't have any type of scaling).


  • Changed password encryption from md5 to sha256.

  • All passwords are now salted using a cryptographically secure randomly generated salt.

  • Fixed one case where stats about live clients could be publicly read.

  • It is recommended to update to version 3 as soon as possible.

  • Big thanks to Patrick Nappa for discovering and describing possible security issues and for recommending fixes for them.


  • Scroll heatmap is still based on mouse activity, but it now shows activity thresholds. We can now see, for example, that 80% of activity was above this line.

  • During session playback the time that the user spent on each page is also shown next to the pages names in the pages list.

  • After installation the serverPath should be automatically set to the correct value.

Bug fixes:

  • Count of live visitors was wrong, it was sometimes showing more than it should.

Other changes:

  • Database:

    • Country is now computed and stored directly in database using the Geolite2 database.

    • Browser, IP and token are now stored in 3 different columns instead of a single string.

    • Client token character length has been reduced, resulting in a slight improvement in DB usage.

    • The client visit start date and end date are directly stored in the ust_clients table.

  • All the server PHP files have been moved inside a subfolder named /server.

  • Heatmaps minimap was removed as it was not really useful.

Temporarily removed functionality:

  • Live visitors (will be reimplemented, not high priority).

  • Adding label to IP addresses (will be reimplemented soon).

  • Skipping pauses in recording (will be reimplemented very soon).

  • Seeking to a specific time in session playback (will be implemented, it was somewhat buggy before).

  • Deleting a single page from a session recording (might be reimplemented).

  • Downloading users as CSV (will be reimplemented soon).

  • Clearing data buttons: all domain data, zero recordings (will be reimplemented)

  • Autoplay (this was a good idea, but it doesn't really seem to work, it won't be reimplemented any time soon).

  • Record playback direct link sharing (might be reimplemented, it would be a lot more useful to make a guide on how to record and share the recording as a video).

There might be other small changes which have not been added to this list.

userTrack 2.5.0 (24 June 2019)


  • Visited page filter. You can now filter the the list of clients to only show users that visited a specific page.

  • Setting to respect browser doNotTrack flag. In some browsers users can set a preference to not be tracked by websites. If you want to respect this preference you can enable that in the settings.

  • Started implementing segment statistics. You can now see how many clients are in total in the list and how many match the current page and tag filters. Note: stats currently correct only for the tag filters.

  • Range selection for clients list. You can now use Shift+Click and Ctrl+Click controls for selecting clients in the list, making it easier to select a range of clients, useful when you want to delete multiple users at once.

  • Users with Level 4 (out of 5) can now change their own name/password.

Bug fixes:

  • Renamed heatmap.js to h337.js and userTrack.html to dataViewer.html to avoid being blocked by AdBlockers.

  • Renamed tracker.min.js to ust.min.js for the same reason.

Other changes:

  • Slightly improved dashboard code, reducing the number of global variables used. This is the first step towards a bigger refactoring.

  • Updated Chart.js to v2.8.0.

userTrack 2.4.0 (12 March 2019)


  • IP labels. You can now click an IP address in the clients list to assign a label to it.

  • Database usage. The size (in MB) that all the userTrack tables are using is now shown in the admin dashboard.


Bug fixes:

  • Fixed an issue causing form elements with a dash in their name not to be tracked properly.

  • The CensorIP setting is now permanently stored in the tracking file instead of locally in localStorage. This means that the setting value will persist even if you clear cookies or access the dashboard from a different device.

  • Fixed permissions for deleting recordings. Now demo accounts (level 0 access) no longer have access to delete recordings.

Other changes:

  • Remove text saying jQuery has to be included before the tracker, as it is no longer required.

  • Improved image quality of dashboard site thumbnails and also fixed the thumbnail aspect ratio (images were squashed before).

userTrack 2.3.6 (27 August 2018)

  • NEW! Ignore IP classes. You can now use the wildcard character () to ignore specific IP ranges. eg: 66.249.66.* will ignore Google crawlers.

  • Bug fixes:

  • Fixed an issue where recording only a percentage of visitors would sometimes record fewer users than the specified percentage.

  • Fixed GDPR alert showing while viewing the recordings.

  • Fixed an error with UST.start() function not being defined sometimes.

  • Other changes:

  • The default password has now been changed. Remember that you should always change the default admin password.

userTrack 2.3.5 (6 August 2018)

  • NEW! GDPR consent form. A new setting has been added that enables showing users a consent form with an ACCEPT button. If this setting is enabled, tracking will only start for that user if he accepts the form.

  • Bug fixes:

  • Fixed some errors throwing when using PHP 7.

  • Fixed dashboard alert prompt not properly showing in older browsers that don't support ES6. You should now correctly see an alert if your browser does not support ES6 when accessing the UST dashboard.

userTrack 2.3.4 (12 March 2018)

  • NEW! tracker.js minification. A tracker.min.js file is now always automatically generated so you can include the minified tracker on your site, reducing the downloaded file size.

  • NEW! Recording sites with port different than 80. You can now track websites or applications that run on different ports (ex: can now be tracked).

  • UI improvements:

  • You can now click on the "x visitors online" in the main dashboard to go directly to the Live playback panel

  • Bug fixes:

  • Deleting clients was broken in the previous version.

  • Not being able to playback shared recordings.

  • Fixed dates sometimes displaying as NaN in IE and Safari.

  • Clients list delete buttons and autoplay button were sometimes invisible.

userTrack 2.3.3 (1 February 2018)

  • NEW! Download as CSV. You can download the detailed list of visitors (Date of visit, IP, pages visited, visit duration, browser, etc.) as a .CSV file

  • NEW! Heatmap range width filter. You can now view heatmaps for a specific device width interval (eg: for screens with width between 0 and 1024 pixels).

  • NEW! Pre-initialization tag caching. You can now use UST.addTag('tag') even before the tracker was initialized. The values are now cached and when the connection is ready they will be automatically sent.

  • UI improvements:

  • Fixed an issue where long domains would break the dashboard UI.

  • A new button has been added for downloading CSV data in the clients list page.

  • Fixed several other small alignment issues .

  • Bug fixes:

  • User sessions act like actual sessions now, if the tab is closed and opened again you will see a new row in the recordings list instead of adding data to the same row.

  • Performance for clients deletion has been greatly improved. Now if you change the recording limit and have to delete many visitors it will be much faster.

  • Fixed several bugs for when there was no data in the database, for timezone.

  • Update WordPress plugins to use plugins_url() instead of the hardcoded wp-content/plugins path.

  • Thanks to everyone who suggested new features and reported bugs! :)

userTrack 2.3.2 (1 September 2017)

  • NEW! Live visitors (beta) is finally here!!! You can now watch visitors live, while they are still browsing your website.

  • UI improvements:

  • A large part of the record-playback UI has been updated be easier to read and use.

  • A new button has been added for accessing the Live visitors list.

  • Bug fixes:

  • Fixed a bug that would sometimes stop playing the recording even if there were more pages to be played back.

  • Thanks to everyone who suggested new features and helped with testing the new version before it was released! :)

userTrack 2.3.1 (11 July 2017)

  • NEW! Text selection is now recorded. If the user selects some text or element during his visit, userTrack will now also record and playback those actions.

  • NEW! Local timezone. The date and time of the recordings will now always be shown in the current timezone (the timezone of the device used to view the recording).

  • Small UI improvements.

  • Bug fixes:

    • Fixed the previous bug mentioned in the 2.3.0 notes regarding cross-domain tracking.

    • Fixed a bug where sometimes click positions would not be stored as integers.

    • Fixed a bug where the unique path to an element was not correctly generated. Also compressed the unique path string to reduce memory usage.

    • Fixed a bug where position: fixed; elements would not be fixed during playback (due to a bug with Chrome iframes).

userTrack 2.3.0 (1 July 2017)

NOTE!!: There is a bug in this version (2.3.0) which stops the script from working cross-domain. To fix the bug please remove line 251 from tracker.js, more exactly this has to be removed: xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');

  • NEW! jQuery dependency has been removed. Now, tracker.js no longer requires jQuery to be included.

  • NEW! Autoplay mode. You can now start playing a list of recordings from the clients list. Once one user session was played the next one will automatically start.

  • [API] NEW! UST.forceSendData() allows you to immediately queue the sending of all stored data that has not been yet sent to the server.

  • Performance improvements:

    • As jQuery is no longer used most tracking should be faster as it uses pure JavaScript

    • If you only included jQuery of userTrack this is a huge performance boost.

    • Heatmap should only be drawn once (previously sometimes it might be drawn twice after the page was loaded).

    • A passive scroll listener is used to track scroll.

  • Security improvements.

  • Bug fixes:

    • Fixed a bug where text input was sometimes not recorded.

    • Fixed thumbnails not displaying in the main dashboard.

userTrack 2.2.0 (12 June 2017)

  • NEW! Recordings that haven't been watched show a "new" icon.

  • Performance improvements:

    • A new format to store data has been implemented (replacing JSON) which lead to ~70% less storage used for recordings and heatmap data.

    • AJAX requests for storing data have been replaced by tracking pixel requests (reducing network usage)

  • Bug fixes:

    • Viewport size is more accurately recorded.

    • Dropdown option select should be correctly recorded.

    • Other small bug fixes related action recording.

  • Development: E2E tests have been created for us to use in order to make sure userTrack changes and new features don't break existing functionalities. This doesn't affect you in any way, just means that new userTrack releases will be more frequent and less likely to introduce bugs.

userTrack 2.1.0 (22 May 2017)

  • NEW! Interface update.

  • NEW! The ability to scale the size of the heatmap points.

  • NEW! Ability to scale the entire iframe/heatmap. This means you can easily view heatmaps for users who had larger screen resolution than yourself.

  • NEW! Changing the page by clicking inside the iframe will also update the heatmap data. This means you can now change the page for which to view the heatmaps for by simply navigating through your website.

  • Started refactoring most of the codebase.

  • Many other UI/UX improvements.

  • Dashboard performance improvements.

  • Fixed a bug where sharing a recording did not work if the tracked site was from a different domain.

userTrack 2.0.3 (24 March 2017)

  • The API to get visitors IP has been replaced with a local implementation.

  • Improved IP2Location API usage, performance and accuracy.

  • City of visitor is also displayed while hovering over the country flag.

  • Created the foundation for a new and improved permissions system.

  • Security improvements.

userTrack 2.0.2 (20 January 2017)

  • NEW! Share recording. You can now share a recording via a public link.

  • NEW! IPv6 support for country flag detection.

  • Performance improvements

  • UI bug fixes

  • Starting with this version the database structure will auto-update if necessary. This means that you wil most likely be able to keep your old data while upgrading to a new version.

userTrack 2.0.1 (11 December 2016)

  • Several UX improvements.

  • WordPress version bug fixes (click position is displayed correctly regardless the visibility of the WP admin bar)

  • WordPress version UX improvements.

userTrack 2.0.0 (5 November 2016)

  • NEW! Basic mobile tracking support.

  • NEW! Window resize event is also tracked.

  • Disable MySQL 5.7 FULL GROUP BY error bug.

Older major updates

  • userTrack 1.9 (20 June 2016)

  • userTrack 1.8 (09 February 2016)

  • userTrack 1.7 (4 April 2015)

  • userTrack 1.6 (8 September 2014)

  • userTrack 1.5 (11 February 2014)

  • Version 1.4 (16 July 2013)

  • Version 1.3 (01 April 2013)

  • Version 1.2 (18 February 2013)

  • Version 1.0 (01 February 2013)