Slimstat Analytics


The leading web analytics plugin for WordPress. Track returning customers and registered users, monitor Javascript events, detect intrusions, analyze email campaigns. Thousands of WordPress sites are already using it.

Feature Spotlight

Main features

  • Real-time access log, server latency, heatmaps, full IPv6 support, and much more.
  • Exclude users from statistics collection based on various criteria, including; user roles, common robots, IP subnets, admin pages, country, etc.
  • Export your reports to CSV or get daily emails right in your mailbox (via premium add-on).
  • Compatible with W3 Total Cache, WP SuperCache, CloudFlare and most caching plugins.
  • Support for hashing IP addresses in the database to protect your users privacy.
  • Accurate IP geolocation, browser and platform detection (courtesy of MaxMind and Browscap).
  • Add shortcodes to your website to display reports in widgets or directly in posts and pages.
  • World Map that works on your mobile device, too (courtesy of amMap).

Premium Add-ons

Visit our website for a list of available extensions.

Social Media

Like Us on Facebook and follow us on Twitter to get the latest news and updates about our plugin.


Slimstat is available in multiple languages: English, Belarusian (UStarCash), Chinese (沐熙工作室), Farsi, French (Michael Bastin, Jean-Michel Venet, Yves Pouplard, Henrick Kac), German (TechnoViel), Indonesian (ChameleonJohn), Italian (Slimstat Dev Team), Japanese (h_a_l_f), Portuguese, Russian (Vitaly), Spanish (WebHostingHub), Swedish (Per Soderman) and Turkish (Seyit Mehmet Çoban). Is your language missing or incomplete? Contact us today.

Reviews and Feedback

  • This is by far the most accurate and in-depth tracking plugin I’ve encountered for WordPress MiMango
  • I have been relying on SlimStat to not only track all traffic to my sites accurately but also to present the stats in very useful graphic format JJD3
  • Thanks you for such an excellent plugin. I am using it to kick Jetpack out of all the wordpress installations that I manage for myself and others – robertwagnervt
  • I like Slimstat very much and so I decided to use it instead of Piwik – Joannes
  • Read all the reviews and feel free to post your own!


  • WordPress 3.8+
  • PHP 5.2+ (or 5.5+ if you use the Browscap data file)
  • MySQL 5.0.3+
  • At least 20 MB of free web space
  • At least 5 MB of free DB space
  • At least 32 Mb of free PHP memory for the tracker (peak memory usage)
  • IE9+ or any browser supporting HTML5, to access the reports

Please note

  • If you decide to uninstall Slimstat Analytics, all the stats will be PERMANENTLY deleted from your database. Make sure to setup a database backup (wp_slim_*) to avoid losing your data.
  • If you are upgrading from a version prior to 4.0, please install version 4.0 first to upgrade the database structure and download the new Geolocation data.

Support Our Work

Slimstat Analytics is an open source project, dependent in large parts on donations. This page
is for those who want to donate money – be it once, be it regularly, be it a small or a big amount. Everything is set up for an easy donation process.
Try it out, you’ll be amazed how good it feels! If you’re on a tight budget, please consider writing a review for Slimstat as a token of appreciation for our hard work!


  • Overview - Your website traffic at a glance
  • Activity Log - A real-time view of your visitors' whereabouts
  • Settings - Plenty of options to customize the plugin's behavior
  • Interactive World Map - See where your visitors are coming from
  • Responsive layout - Keep an eye on your reports on the go


  1. In your WordPress admin, go to Plugins > Add New
  2. Search for WP Slimstat Analytics
  3. Click on Install Now under WP Slimstat Analytics and then activate the plugin
  4. Make sure your template calls wp_footer() or the equivalent hook somewhere (possibly just before the </body> tag)
  5. Go to Slimstat > Settings > Maintenance tab > MaxMind IP to Country section and click on “Install GeoLite DB” to detect your visitors’ countries based on their IP addresses
  6. If your wp-admin folder is not publicly accessible, make sure to check the FAQs to see if there’s anything else you need to do


Our knowledge base is available on our support center website.

Installation Instructions
  1. In your WordPress admin, go to Plugins > Add New
  2. Search for WP Slimstat Analytics
  3. Click on Install Now under WP Slimstat Analytics and then activate the plugin
  4. Make sure your template calls wp_footer() or the equivalent hook somewhere (possibly just before the </body> tag)
  5. Go to Slimstat > Settings > Maintenance tab > MaxMind IP to Country section and click on “Install GeoLite DB” to detect your visitors’ countries based on their IP addresses
  6. If your wp-admin folder is not publicly accessible, make sure to check the FAQs to see if there’s anything else you need to do


Help comparing Slimstat with AWStats

Good advice to help me investigate the differences between these two sets of site-usage stats. Within a few days, I was pointed in the direction of why there was a discrepancy. It was personalised – clearly not a robotic reply. Thanks

Very good, easy to use

Had it for a few months now, it’s very good, easy to use. Support is quick and helpful too. Very impressive for a free plugin.

Depth of Information

I’ve been using SlimStats for a few weeks and am delving deeper into the wealth of information. It is an outstanding resource for any administrator. Thank you.

Nice plugin, addons and assistance

I installed the base plugin plus the premium heatmap addon. The second one had an issue at first but the assitance was nice and helpful, in the they managed to solve my problem and now all works very fine. These two provides very useful informations about the user behavior on my website, helping me to improve the user experience.

Effective tool & responsive support

I’ve been using Slimstat plugin on several WordPress sites for a few years. Other than the basics, I’m no expert on all that this tool can do; but, the basic traffic graphs are among the first things I view when visiting my sites’ Admin pages.

This week, I needed help with the plugin. Jason, the author, was quite responsive. After a couple posts, his suggestion fixed all of my problems.

Kudos to an effective plugin, and quite useful at that!

~ Mike

Really fine plugin, great support

The Plugin works as expected, collecting data and displaying it in a readable way: it’s a really fine stats plugin. And yes, sometimes problems may occur – but the support is awesome, even for the free version.

Thanks a lot, Jason, for providing this fine plugin – and for your really valuable help!

Read all 739 reviews

Contributors & Developers

“Slimstat Analytics” is open source software. The following people have contributed to this plugin.


Translate “Slimstat Analytics” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.



  • [Update] New fields added to the Email Report and Export to Excel add-ons, by extending how certain reports are defined in core.
  • [Fix] The false positive alert related to a virus in our code was fixed by updating AmChart to the latest version available (thank you, Sasa).
  • [Fix] Removed a PHP warning of undefined index (thank you, slewis1000 and Sasa)
  • [Fix] The MozScape report was causing connectivity issues for some users, and it is now set as “hidden” by default.
  • [Fix] Regression bug related to our Export to Excel add-on.

  • [Fix] Apparently more people than we initially thought have issues with the MaxMind data file not being saved as expected. We are introducing a temporary fix while we try to investigate this issue further.


  • [Fix] A few users pointed out a weird behavior when installing the MaxMind Geolocation data file, where an empty folder would be created instead of the actual file. If you still experience issues related to this problem, please make sure to delete the empty folder “maxmind.mmdb” under wp-content/uploads/wp-slimstat/.
  • [Fix] Apparently Microsoft Security Essentials was not pleased with our code, and was returning a false positive alert that a virus was included with the source code (thank you, Sasa).
  • [Fix] The “content_id” filter could not be used in a shortcode to reference other pages (i.e. [slimstat f='count-all' w='id']content_id equals 2012[/slimstat]). Thank you, Felipe.
  • [Fix] Country flags were not being displayed properly under certain circumstances (thank you, Catmaniax).
  • [Fix] Bug preventing the new Heatmap Add-on from working as expected.

  • [New] Added support for SCRIPT_DEBUG: by defining this constant in your wp-config.php will make Slimstat load the unminified version of the javascript tracker (thank you, Sasa)
  • [Update] Added new parameter to make the admin-ajax.php URL relative, to solve issues like this one.
  • [Fix] The Network Settings premium add-on was not working because of a bug in the main plugin. Thank you, Steve, for pointing us into the right direction.
  • [Fix] Updated the schema (columns) for the archive table.

  • [Fix] The new table columns “location” and “city” were not being created on a fresh install (thank you, nielsgoossens)
  • [Fix] Async mode was not working as expected (thank you, keithgbcc)


  • [New] As those who have been using Slimstat for a while know, we never stop doing our good share of research and development to improve our plugin. One feature on our wishlist was to make the geolocation functionality more accurate. Specifically, users have been asking us to track not just the Country of origin, but possibly the state and city. In order to geolocate visitors, our code has been leveraging a third-party data file provided by A while ago, they launched a new data format, which improves performance and offers a way to quickly determine the city of origin. However, the new library required a higher version of PHP, and up until now we had been hesitant to adopt it, to allow more people to use our plugin, over the chance of offering this feature. Now, after spending some time combing through their code, we found a way to get the best of both worlds: by customizing their PHP library, we were able to make it work with PHP 5.3! Which means that now Slimstat is able to tell you your visitors’ city of origin (and State, when applicable) right out of the box. This information is available in the Access Log report and in a new ‘Top Cities’ report under the Audience tab. Please note: the MaxMind data file to enable this feature is approximately 60 Mb, and for this reason this new functionality is not enabled by default. You must go to Slimstat > Settings > Tracker and turn on the corresponding option. Then go to Slimstat > Settings > Maintenance and uninstall/install the GeoLite file to download the one that contains the city data. Please feel free to contact us if you have any questions.
  • [Update] Removed backward compatibility code for those updating from a version prior to 4.2. Hopefully most of our users are using a newer version that that. If you’re not, please contact our support service for instructions on how to upgrade.
  • [Update] The format used to save your settings in the database has been changed. You MUST update your premium add-ons as soon as possible, and get the version compatible with this new format, or you might notice unexpected behaviors. Please contact us if you experience difficulties updating your add-ons.
  • [Update] Cleaned up some old CSS code affecting the reports.


  • [Fix] The new feature introduced in version to allow our users to customize the default time range for the reports, had introduced a regression bug. Thank you to all our users who volunteered to test the bugfix.
  • [Fix] A vulnerability has been disclosed by an attacker with admin credentials could leverage the import/export mechanism for the plugin’s settings to inject some malicious code. We recommend that you upgrade to the latest version of Slimstat as soon as possible.
  • [Fix] The new version of the Add-on Update Checker library, bundled with the previous release, was returning a fatal error under certain circumstances (thank you, Pepe).


  • [New] After receiving a few requests to implement a REST API within Slimstat, and given that WordPress now offers a mature and stable interface for extending its built-in REST API, we decided to finally move forward and implement this feature. Please refer to our online knowledge base to learn more about how to use it.
  • [Update] The Add-on Update Checker library has been updated to version 4.2, to solve an incompatibility issue with PHP 7.0 (thank you, Sasa and Per).
  • [Update] Bootstrap Switch (which we use on our Settings panels) has been updated to version 3.3.4.
  • [Fix] Apparently, there was an issue where our XMLHttpRequest didn’t send the cookie for Cross-Origin URLs (thank you, Sasa).
  • [Fix] Solved issue with pagination, triggered when certain long time ranges were being selected.
  • [Fix] The autorefresh countdown timer was not working as expected if Async Mode was enabled (thank you, scruffy1 and service4).

  • [New] You can now customize the “past days” interval to be used as the default time range to calculate your metrics, which was previously fixed to 30 days.
  • [Fix] The Overview chart was not working as expected for some users, because of a bug in one of the revised SQL queries.
  • [Fix] The pageview count on the Edit Posts/Pages screens was also affected by the same bug mentioned here above.
  • [Fix] A PHP warning of undefined variable $hidden_filters was being logged and/or displayed under certain circumstances.


  • [New] Added operating systems to the column you can use to blacklist certain pageviews. Please refer to this page to learn more about what codes Slimstat uses to represent operating systems internally.
  • [New] In the Customizer, you can now quickly move your reports to the Inactive bucket with just one simple click, instead of dragging and dropping them all the way to the top (thank you, ac1643).
  • [Update] We partially rewrote the code that handles our Filter Bar, specifically when it comes to handling date ranges. A few minor bugs were squashed in the process, but please don’t report us to PETA! (thank you, Boris)
  • [Fix] The customizer was not working if the Slimstat menu was being displayed in the admin bar instead of as a separate menu. Please report any issues you experience in using the customizer.
  • [Fix] Our charts are calculating the sum of all the data points, day by day. However other reports show a cumulative sum (let’s say of Unique IPs) for the whole month. If a given IP visits your website on two different days, it will be counted twice in the Unique IPs chart, but only once in Traffic at Glance. In order to avoid any confusion, we are changing the chart legend to display the AVERAGE value, instead of the sum.


  • [Update] We should have known better: for every naysayer there is always a yaysayer that will ask for just the opposite feature, right? Fair enough: that’s what the settings panels are for, after all. In order to make everybody happy, we introduced a new option (under Slimstat > Settings > Reports) that will allow you to decide what the default time span should be: current month or past 30 days, it’s totally up to you.
  • [Update] We implemented Chris’ idea to use a transient when recording the visit_id, to improve performance (thank you, Chris).
  • [Fix] If your website is using a caching plugin, the tracking code might still be appended to the page, even if the user turned off tracking. Slimstat now checks if Tracking is enabled in the settings, before processing any request it receives from the browser (thank you, Chris).
  • [Fix] A false positive alert of attempted XSS injection was being returned when the ‘android-app’ scheme was being used to access the website (thank you, Sasa).


  • [Update] Same-domain referrers are now tracked by default, when Slimstat is activated for the first time. Pre-existing installations are not affected. This change will allow us to introduce new features as suggested by one of our users. Stay tuned.
  • [Update] Every first of the month we get at least one or two support requests from alarmed users who think their data has disappeared. Some of them end up leaving negative reviews because of this. The fundamental misunderstanding was related to the fact that Slimstat uses the CURRENT MONTH time span as the default range for calculating its reports and metrics. So every first of the month all the reports can look “empty” because there is not much data to be crunched. In order to address this problem, we’ve changed the default time range from the current month to the last 20 days. Hopefully this will avoid further negative reviews in the future!
  • [Fix] There was an incompatibility issue between our premium add-ons Custom DB and Network Settings, causing the network-wide configuration to be reset when a new blog was being created in the network.
  • [Fix] The tracker was not working as expected if the blacklist by usernames contained a @ character (thank you, Eugenio).
  • [Fix] A bug was affecting the way the geolocation function would calculate the country parameter from certain given IP addresses (thank you, Carsten).


  • [New] Super administrators can now decide what reports users will see, and their arrangement both on the dashboard and Slimstat screens (thank you, ac1643). You will need our premium add-on Network Analysis to unlock this feature.
  • [Fix] The post_link shortcode attribute was not working as expected when downloads were being listed (thank you, tophr).
  • [Fix] Updated Track Client Info option description to make it less confusing (thank you, Bjarne).


  • [New] The new Browscap Library we introduced a few versions ago added some new interesting fields to the list of information available for each browser. One of them allows to distinguish between touch and non-touch devices, even when they are not mobile devices (think touchscreen all-in-one desktop computers). Inspired by one of our most active beta testers, we decided to expose this information in the admin (Activity Log). Now you will be able to segment your metrics based on this new value for the browser type dimension.
  • [New] Added Indonesian localization (thank you, ChameleonJohn).
  • [Update] You can now show display names instead of usernames when generating shortcodes. Check our documentation for more information (thank you, pepe).
  • [Update] You can now group resources in shortcodes while ignoring any query string attached to them (thank you, dragolcho).
  • [Fix] SQL error being returned for the Top/Recent Keywords report (thank you, pepe).
  • [Fix] A regression bug was affecting the blacklist by username functionality (thank you, Ursula).


  • [Update] When the tracker was set to work in “Client mode”, the Javascript code was being added to those pages that matched one of the blacklists, even though the subsequent request would have been ignored. By avoiding this, we were able to optimize our code and improve the overall performance.
  • [Fix] A conflict with a Google Maps Javascript API call was causing other scripts to not work as expected (thank you, Fulp2121).
  • [Fix] A bug was preventing the tracker from detecting certain mobile devices as expected in “Client Mode”.
  • [Fix] Empty search terms were being counted in the Top/Recent Search Terms reports (thank you, Per).


  • [Note] We would like to thank all the people who stepped forward to offer their help and test this new version before it was officially released. We worked with our users to identify the many different scenarios related to lightbox libraries, jQuery animations and so forth. It was a great team effort! You guys are terrific!
  • [Update] Say goodbye to incompatibility issues with lightbox libraries, jQuery drop down menus, fancy animations and the like. We worked on the tracking algorithm to make it less intrusive, and to FINALLY play nice with any other event handlers attached to your DOM elements. As an added bonus, the new tracker is performing from 10 to 30 percent faster in our tests. Not bad, huh?
  • [Update] If you are using the CDN service offered by our partners at jsDelivr, the tracker will now reference your current version of Slimstat, not the “trunk”. This will avoid issues in the future to those who don’t want to upgrade to the latest version right away (thank you, mth75).
  • [Update] The tracker is no longer looking for Shockwave Director or Real Player when detecting browser plugins (is anyone still using them?). On the other side, it is now detecting the Java Virtual Machine and any PDF viewer (either Adobe plugin or built into the browser).
  • [Update] One of our users thought that all the inline data-slimstat attributes appended by our tracker to all his links looked ugly and might affect performance (no, they do not). That struck a cord in our perfectionist developer, and he decided to rewrite that functionality to minimize the intrusiveness of our algorithm.
  • [Fix] Apparently the XSS vulnerability discovered by the Mitre Corporation had not been completely fixed in version 4.6, according to them. Now they confirmed that the issue has been resolved.


  • [Update] Removed options to enable or disable tracking of “internal” and outbound links, as they were confusing many users, based on the feedback we received. Now all links are tracked, regardless of their type. This will increase the size of the “events” table, however it will also make your reports more accurate, and track data needed to generate heatmaps and other metrics.
  • [Fix] The Activity Log will now group page views not just by session, but also by other events: change of IP, user logged out, etc (thank you, catmaniax).
  • [Fix] The Browscap Library could not be installed if the FS_METHOD constant was not set to ‘direct’ in wp-config.php (thank you computershowtopro).
  • [Fix] A PHP notice was being displayed if the widget_id for the new Slimstat Widget element was not set.
  • [Fix] In order to calculate its internal timestamps without any conflicts with other plugins, Slimstat was supposed to temporarily deactivate any WordPress filters on the function date_i18n. It turns out something had changed in the way WordPress was structuring that information, with the side effect that Slimstat was not able to restore those filters (thank you, catmaniax).


  • [New] You spoke, we listened. Many users have been asking us over time to add a feature to display metrics and reports on their front-facing website. Although Slimstat has been supporting shortcodes for many years, they felt like they needed more than that basic feature. We are now extending the shortcode syntax to allow users to place widgets on their websites in just a few steps. Please refer to our knowledge base to learn more about this new feature, or feel free to contact us if you need help implementing it on your website.
  • [New] Hovering a report’s title will reveal its unique ID, which you can use in your shortcode to display it on your website.
  • [Update] The update notice displayed in the admin is now only shown to site administrators (single installation) and super administrators (WP MU / network), to avoid any confusion for MU site administrators.
  • [Update] Improved the accessibility of our Filter Bar, by introducing (hidden) labels for all the fields. Please make sure to flush your client/server caches to load the new stylesheet.
  • [Update] Removed the option to deactivate Slimscroll as it did not play nice with some other features we recently introduced, and also because the incompatibility issues between Firefox and Slimscroll have been addressed.
  • [Fix] The icon to export a report as Excel comma separated value was not being visualized correctly, when the premium add-on was enabled.
  • [Fix] Addressed some Javascript warning being displayed in the browser console, returned by the qTip library.
  • [Fix] The height of all the Dashboard widgets (including the ones not related to Slimstat) was being affected by a typo in our CSS.
  • [Fix] Cleaned up minor layout glitches and improved rendering of charts after initial round of feedback from users.


  • [New] Our development team has had the task of revamping the charts available in Slimstat on their to-do list for quite a while now. Now that the compatibility issues related to our Browscap library have been addressed and resolved, it was time to tackle this new challenge and offer a beautiful new interface to analyze and interact with visual reports and charts. As an added bonus, we are also working on extending the list of supported shortcodes to allow administrators to also share these brand-new charts with their visitors, by quickly placing them on any page of their website. The same will apply to the world map, which currently displays the total number of page views by Country. Lots of exciting new features will soon be available to all our users. Stay tuned!
  • [Update] Email and Excel reports now honor the setting to convert IP addresses to hostnames.
  • [Update] Various cosmetic upgrades to make your reports easier to read. Please make sure to clear your browser and server caches to load the new stylesheet.
  • [Fix] We patched a quite unique XSS vulnerability, responsibly disclosed by the MITRE Corporation (thank you, guys).
  • [Fix] Some more buttons and links were added to the exclusion list of things to track on the admin, when this feature is enabled.
  • [Fix] Calling a function to decode an IPv6 address was failing if PHP did not support this protocol (thank you, catmainax)