Ticket #45 (new New feature)
Plugin using GeoIP to accurately detect visitor countries, cities, and continent
| Reported by: | matt | Owned by: | |
|---|---|---|---|
| Priority: | normal | Milestone: | Third Party Piwik Plugins |
| Component: | New Plugin | Keywords: | |
| Cc: | Eli-D, mikael, craig, anthony, grigri.74, a2b, zeta, qnox, vipsoft, konus, piwika, Maui, frag-titus, alracer, neroZ, ilexius, tec, DaSilva, jeb1217, mike5464, EgonO | Sensitive: | no |
Description (last modified by matt) (diff)
GeoIp Plugin
- When installed, the plugin will detect more accurately the country of your visitors using the MaxMind database.
- The existing reports for country and continent will be replaced by the more accurate GeoIp report in your Piwik interface.
- Piwik will also detect the city of your visitors. You can see all cities by clicking on the country row in the table.
- You can apply the GeoIp data to all your previous visits and re-generate your reports, see below.
Requirements
You need at least Piwik 0.2.33 to run the GeoIp plugin.
How to install?
- Download Piwik GeoIp Plugin
- Unzip the plugin and copy the extracted directory "GeoIp" in the directory piwik/plugins/
- Configure the MaxMind database:
- Either download MaxMind GeoLite City or GeoIP City database from http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz Uncompress this file and copy it in plugins/GeoIP/libs/GeoLiteCity.dat
- For more performance, it is recommanded to install the module apache mod_geoip. Configure your Apache according to: http://www.maxmind.com/app/mod_geoip
- Enable GeoIP plugin in Piwik. Go to Piwik > Settings > Plugins > Geoip, click Enable
How to apply the GeoIp to all your previous visits to fix your previous reports
You can apply GeoIP precise localization on your past data:
- run geoipUpdateRows.php script, from command line (or from the browser, but risk of timing out if your database is large)
- wait a few minutes until all your visitors data from the piwik_log_visit table have been processed.
- you now need to force Piwik to re-process all the past reports: drop all piwik_archive_* tables in your Piwik database. Piwik will automatically create them and re-process the reports.
- You should see Visitors countries and cities in your Visitors>Location report.
Authors
- Mikael Letang
- Maciej Zawadziński
- Matthieu Aubry
Changelog
- version 0.7: cleaned up code, compatible with Piwik 0.2.33, improved documentation
- version 0.8: fixed bug in geoIpUpdateRows.php (thanks looztra)
- version 0.9: all fields now NULLable to make sure that insert still work fine after plugin is disabled
- version 0.10: compatibility with 0.2.35 after API change in the AddWidget function
- version 0.11: fixing bug with country detection
- version 0.12: updated for auto loader
- version 0.13: Compatible with Piwik 0.6
- version 0.14:
- Fixed geoipUpdateRows script which was failing with errors. It also now checks that logged in user is Super User, and that the GeoIP plugin is enabled.
- Fixed memory leak when using visitor generator.
- Fixed .htaccess was blocking users from executing the script with the browser.
- Added .htaccess to allow to execute the script directly from the browser.
- Fixed Sparkline distinct countries
Feedback
Please leave a comment if you have any feedback, suggestion, or bug report.
Attachments
Change History
Note: See
TracTickets for help on using
tickets.

