Αντιμετώπιση προβλήματων

  1. Piwik doesn't track any visits and pages, and shows "There is no data for this report" in all reports.
    There are several possible reasons why Piwik is not tracking your visits properly:
    • Incorrect Piwik tracking code Please check that you can find the Piwik javascript code on your website pages that you wish to track. Sometimes, when you copy paste the javascript code in other softwares, like Word or FrontPage, they may add extra spaces or characters. Make sure the code looks like this example (and that it mentions the right URL of your Piwik installation). In some cases, when you install Piwik on your local test server, the javascript code might contain "localhost" or "127.0.0.1". When you deploy Piwik in production, you have to edit the Javascript code so that it points to your website URL, eg. "http://example.org/piwik/". Also, each Piwik tracking code contains the idsite of your website registered in Piwik. If you only registered one website in Piwik, the idsite found in your Javascript code should be "1".
    • Make sure you are viewing reports for the correct website and date in Piwik In Piwik, make sure you selected the right website in the website selector. Also, try to look at reports for "today" by changing the date in the date picker. Please wait at least 10 seconds after generating visits on your website: by default Piwik will only process reports every 10 seconds when "today" is selected.
    • Archiving triggered from the browser must be enabled, if it is disabled the Cron script must be configured properly
      In Settings > General Settings, 'Allow Piwik archiving to trigger when reports are viewed from the browser' must be set to 'Yes'. If it is set to 'No', you must configure the cron script to automatically archive your web analytics reports, or Piwik will show 'No Data'. More information about auto archiving.
    • Third party Piwik plugins It is possible that some Third party Piwik plugins could cause problems when tracking your visitors. Please try to disable all the third party plugins you are using to see if it fixes the issue.
    • Browser addons blocking the Piwik Tracking Javascript (NoScript, DoNotTrack, etc.) If you use browsers addons such as Adblock, Adblock plus, NoScript, Ghostery or others, the Piwik Javascript code is not executed in your browser. Try to use a different browser that does not have these extensions, or disable these browser extensions and try again. Piwik by default supports DoNotTrack, please check you haven't enabled DoNotTrack in your browser options.
    • Do you have logs registered in your Piwik database? If your Piwik tracking code is properly installed, Piwik would record visits in your database. To check if you have logs in your database, go to Piwik > Visitors > Visitor log, and select "today" in the calendar. If you see recent visitor information, it means that the visitor tracking is working, but maybe there is a problem with reports archiving. Note: you can also check if logs are recorded correctly by looking at the table "piwik_log_visit" (using phpMyAdmin for example) and see if there are visits recorded. Alternatively, you can enable the plugin "DBStats", and then go to the "Database usage" tab in your Piwik administration area, and check if the table piwik_log_visit has any rows.
    • Testing Piwik with disabled Javascript By default, Piwik only tracks visitors with javascript enabled. When you are testing that Piwik tracks visits properly make sure you have javascript enabled. If you need help with javascript tracking check out docs/javascript-tracking. If you need to use a tracking method which doesn't involve javascript have a look at docs/tracking-api.
    • Piwik displays a red cross (on IE) or a broken image icon on your tracked pages, instead of the 1*1 transparent Pixel Check out this FAQ answer.
    • Access to piwik.php fails If your host uses mod_security to block requests containing URLs (eg. hosts like HostGator, The Planet), check out the Piwik and mod_security FAQ. If you use HTTP Authentication (Basic or Digest) on your Piwik files, you should exclude piwik.php and piwik.js from this authentication, or visitors on your website would be prompted with the authentication popup.
    • Tracking https (SSL) pages If you install the Piwik Javascript Tracking tag on https:// pages, then the tracking requests will be sent to Piwik via https. This means that the server you installed Piwik on must be able to handle these https requests, or no data will be tracked. See also Piwik and SSL tracking.
    • Local copy of piwik.js outdated Some users make a local copy of piwik.js on a different server than their Piwik installation. This is not officially supported and causes issues when the piwik.js bundled with Piwik is updated and not compatible with the previous version (for example, this is the case in Piwik 0.5.5). Please check that your Piwik JS tracking code is exactly the one given in the Piwik admin screen.
    • Using Piwik latest version If you are still seing "No data", please make sure you are using the latest version of Piwik (if not, update now).
    • Check your webserver error logs If all else fails, it is possible that there is a server misconfiguration preventing Piwik from tracking your visits or processing reports. Often, there will be an error in the webserver error logs (apache logs, IIS logs, nginx logs, etc.). Please check that your PHP is configured to log errors: (php.ini should contain log_errors = On and error_log = /path/to/log). The messages in the webserver error log will help you find the source of the problem, for example search for the error message on this website.
  2. Visits from search engines or campaigns are not recorded, Piwik shows "There is no data for this report" for all Referrers reports.
    There are a few possible explanations:
    • Are your pages tagged correctly?
      If you click on your website in a search result, and look at your page source, can you see the Piwik tracking code? Make sure the Piwik tracking code is installed on all the pages you want to track, and is not within an iframe. We advise to put the Piwik code just before the </body> tag.
    • Are you using a redirect on your website landing page?
      If you are using a redirect, the visitor browser may lose the referer information. If you are tracking campaigns, and the landing page has a redirect, the URL loaded after the redirection will have lost the URL parameters. Make sure that your visitors arrive directly on the page with the Piwik tracking code installed.
    • Piwik only records 1 referer by visit, which means that only the first referer used to access the website will be recorded.
      If you search for a keyword in a search engine, click on your website in the search engine results, and land on a page with the Piwik tracker, you may expect to see the keyword in your Piwik reports.
      However, if you visited your website less than 30 minutes ago, Piwik will recognize you as an known visitor on the website, will record your page view, but will not update your visit referer. Piwik only record the first referer of a visit. When testing Piwik and search engine detection, make sure you make the test more than 30 minutes after your last page view on your website.
    • Check that the Piwik domain name in your Javascript tracking code is correct (this URL is in the second line of the Piwik tracking code). There have been cases of missing referrers when the Piwik JS code in the pages points to a URL that returns a 302 response instead of the final destination. It seems that some webserver compromise the tracking request when such redirects occur. Check in particular if the URL (doesn't) contains "www.". Also, if the server does an automatic redirection from http to https which also affects tracking requests to piwik.php, it might create problems such as missing referer data. Make such any http->https redirection excludes piwik.php requests.
  3. Piwik doesn't track Downloads and Outlinks on my website.
    Piwik should automatically track clicks on Download files (with a known extension, eg. jpg, png, exe, zip, etc.) and clicks on Outlinks (links to other websites) using Javascript click handlers. There are a few reasons why this could fail:
    • Conflicting Javascript code
      In some rare cases, Download and Outlink tracking doesn't work in Piwik is because your page is using another Javascript script or library which sets click handlers as well. If a third-party click handler returns a value, it is causing the browser to cancel other registered click handlers. Instead they should return false. Most scripts and libraries are doing it correctly, but you might have to manually edit your Javascript code to return false in onclick events.
    • Piwik doesn't respond fast enough and user is redirected to the click target
      Piwik click handler works by adding a small delay during which the request is sent to the Piwik server. If somehow the request doesn't reach the server within this delay, the request will be not be tracked and the user will be redirected to the clicked download file or to the external website. You can increase this delay, from the default of 500ms (0.5 second), by adding the following in the Javascript code, after the piwik.getTracker(..) line: _paq.push(['setLinkTrackingTimer', 750]); // increase to 750 milliseconds
    • You're using Safari, Chrome, or some other WebKit-based browser.
      There is a known WebKit bug (feature?) that interrupts the tracking request. One workaround is to add the target="_blank" attribute to anchor elements.
  4. Piwik doesn't detect accurately the Country and/or Continent of my visitors.
    To improve Visitor Country detection, you should configure Geo Location in Piwik (click to learn more). If you are not using Geo Location, Piwik is guessing your location from the language locale disclosed by the browser, e.g. en-us -> country is set to USA, fr-fr -> country is set to France, etc. In some cases, Piwik will guess the location when the region is omitted, e.g., fr -> France. This can be disabled from config/global.ini.php (or overridden in your config.ini.php): [Tracker] enable_language_to_country_guess = 0 If you want to improve the country detection accuracy in Piwik, setup Geo Location now.
  5. Piwik is slow! It takes a long time to load widgets, reports and pages.
    There are a few possible reasons that Piwik could be slow to load:
  6. Statistics from Piwik and my other web analytics tool (log analyzer, webalizer or javascript based) are different, why?
    There could be a various number of reasons why Piwik numbers are different from your other web analytics solution.
    • Identifying Visitors: Piwik uses a javascript based tracker, and keeps count of unique visitors using a first party uuid cookie, as well as a visitor recognition heuristics algorithm (based on IP address and user settings). Some other tools only use cookies, only use IP, or a combination: we found that the way Piwik tracks visitors gives us really good accuracy and avoids creating artificial visits.
    • Tracking method: Other softwares (such as AWStats, Webalizer, Analog, etc.) or custom server-side script would record all traffic, including search bots or spam bots. By default Piwik uses a Javascript tracker which automatically only records "real" human activity. This leads to more accurate reports. (PS: Piwik can still track search engine bots separately)
    • Hits vs Visits: Log analyzers softwares will typically report "hits". Hits generally count all http requests to your websites: pages, images, css, javascript files, etc. Piwik reports page views, unique visitors, visits, etc. whiLogs analyzersch are expected to be much less than the number of hits.
    • Record loaded page: when the Piwik javascript code is located at the end of the page, Piwik will only record page views for page that are finished loading. Log Analyzers would also record page requests that have been "cancelled", eg. when the user hits the Back button before the page is displayed.
    • Position and presence of Javascript tag: when comparing Javascript-based statistics (eg. number of unique visitors), you have to make sure that both javascript tags are present on all pages you want to track. Also, it is better to put all tracking codes at the end of your pages, just before the </body> tag.
    Concerning Google Analytics, several users compared Piwik and Google Analytics numbers, and found very similar statistics: on significant traffic, differences were always less than 5 percent. Conservative counting is definitely best - it makes your statistics more realistic on what you are trying to measure. Most analytics packages are used to measure relative upswings, we recommend using the same tool for all measurements and relative comparisons.
  7. After I updated Piwik, it stopped working (blank page, widgets not loading, error message, etc.). How can I fix this?
    When you upgrade Piwik to the latest version, it sometimes happen that Piwik stops working -- especially when the User Interface is not working (blank white page, widgets not loading, error message, etc.). There are a few things to check that will most likely resolve the User Interface issue you are having:
    • 1) Delete your browser cache or try to access your Piwik with a different browser. If it still does not work...
    • 2) Delete all files in piwik/tmp/*. After deleting the files and directories, refresh the page. If it still does not work...
    • 3) Check your web server error logs. Maybe your error log will contain an explanation for the problem. If the log file has no Piwik related error...
    • 4) Reupload all Piwik files from the latest version. Sometimes, there are errors while uploading files and some of your Piwik files were maybe not overwritten by the latest version. Upload all files again, and check in your FTP software that the upload was successful.
    Also, check out the other FAQs in this "Troubleshooting" category, as there might be other solutions for your problem. If it still does not work, please search the Piwik Forums, and if there is no post about your problem, please create a new topic.
  8. The graphs (pie chart, bar chart, evolution graph) are not showing in my Piwik.
    If you are not seeing Graphs in Piwik, the most likely reason is that you are using Piwik < 1.5 which are using Flash graphs, and you do not have Flash enabled in your browser. As of Piwik 1.5, graphs in Piwik are drawn using open source technologies supported in all modern browsers: see Canvas and Jquery graphs blog post.
  9. The sparklines (small graphs like ) are not showing in my Piwik.
    The GD library is not installed on your server. This library is required to produce the sparklines. Please ask your system administrator or your web host to install php5-gd for you. On linux, you can install php-gd by executing "apt-get install php5-gd" on debian type systems, then restart your webserver.
  10. Piwik reporting UI doesn't have any css style or, the menu text appears on a white background. How to fix this display problem?
    To improve performance, Piwik tries to automatically combine all CSS stylesheets and Javascript files into two large files, instead of having to download 20 individual files. However, on some webhosts, PHP scripts have a max execution time and if the server is overloaded, the script that merges all files together can take more than the time limit. There are 2 solutions
    • Ask your webhost to increase the max_execution_time in your php.ini file, for example to 30 seconds.
    • If you can't change this setting, you can alternatively disable the feature to combine together CSS and JS files. To disable this feature, edit your config/config.ini.php and add the following: [Debug] disable_merged_assets = 1
    Then, delete your browser cache and refresh Piwik: after a few seconds, it should display correctly again!
  11. When tracking visits on an intranet website, Piwik assigns all page views to a few visitors who have very high page views count. How to fix it?
    On Intranet websites, often most users have the same IP address, and often the same browser and configuration settings. This causes Piwik to believe that most page views come from the same visitor. To fix this on Intranet websites, see this FAQ: Enabling Piwik on Intranet websites.
  12. The World map is not showing in my Piwik.
    The Piwik World Map requires the plugin Flash to be displayed. Please check that you have installed Flash in your browser. Click here to install the flash plugin. If you have installed the Flash plugin, and the world map is still not showing, maybe you are using a browser extension that blocks the flash content? For example, if you're using the AdBlock extension, there's a notable bug where it blocks Flash content in <object> tags even if the page is whitelisted. Please consider using AdBlock Plus as a replacement.
  13. The Piwik Javascript code shows a red cross (on IE) or a broken image icon instead of the 1*1 transparent Pixel, what is the issue?
    When Piwik is showing a red cross image, or a broken image icon, it means that tracking visits is failing on your Piwik installation. It is not expected and should be investigated to fix the root of the problem as soon as possible (in the meantime, your visits are most likely not recorded). To see where the error comes from, open your website in Firefox, right click on the broken image icon, and click on "View Image". This should redirect you to the URL "yourwebsite.com/piwik/piwik.php?..." and the error message should be showing. If the error message mentions MySQL, the error might come from a broken mysql instance or tables. Try to "repair" your MySQL tables (using phpMyAdmin for example). If the error mentions "failed to open stream: No such file or directory" this might be caused by missing Piwik files. Make sure all Piwik files are properly uploaded. For other errors, try to search on the search engine on Piwik.org. You can also try the Piwik support forums for more help.
  14. How do I configure Piwik when mod_security is enabled?
    If your host uses mod_security to block requests containing URLs (eg. hosts like HostGator, The Planet), you should contact your provider to whitelist your domain (or URL) and disable mod_security for your website. Alternately, if your Piwik is hosted on the same domain as your website being tracked, you can edit your Piwik Javascript Tracking code to force data to be sent in POST, to avoid the mod_security check. Before the line _paq.push(['trackPageView']); you can add the following line _paq.push(['setRequestMethod', 'POST']);
  15. Only one or a small number of days/months/date ranges are showing 0 zero visits, but other periods are working as expected.
    In rare cases, Piwik will show "no data" only for one day or one month, while other periods work fine and report visits as expected. If you are not yet using at least Piwik 1.6, please update now (we fixed issues related to this problem in 1.6 and latest). It is possible to re-process the specific days or months that are showing zero visit, check out this faq: Re-process reports.
  16. The numbers from Transitions don't match other numbers shown in Piwik. Why?
    The Transitions Plugin gives you a report that shows the things your visitors did directly before and after viewing a certain page. There are few cases, where the data displayed in Transitions is slightly off compared to what you might expect. The number of pageviews shown in the pages report doesn't match the number of pageviews in the Transitions popover. There are several possible explanations:
    • Since the pages report is pre-archived, it shows the numbers of time the archiving was launched. Transitions doesn't use the archives but retrieves the number directly from the logs. So if you have more pageviews in Transitions and you are viewing a period that includes today, this might be why the numbers don't match.
    • The pages report sometimes aggregates multiple URLs into one row. For example when you track multiple domains, example1.org/home.html and example2.org/home.html will both end up in the row /home.html in the pages report. Transitions is based on unique URLs and will open on the URL with most pageviews that was aggregated into the row of the pages report. So if example1.org/home.html had more pageviews that example2.org/home.html, Transitions will open on the URL example1.org/home.html and show only statistics for this page.
    • Before version 1.9, Piwik recorded URLs with the hash part (e.g. example.org/home.html#something) but didn't show the hash part in the pages report. When you have tracked pages with different hash parts, the previous bullet point applies and you will see Transitions for the unique URL that had most pageviews of all the URLs aggregated into the row of the pages report you clicked on.
    Another case of odd numbers is when the sum of the groups on the left does not equal the total number of pageviews. If you think that this is the case, first make sure that you have included the page reloads in your calculation. If the numbers still don't match, read on. This can happen when there were downloads or outlinks tracked directly before views of the page in the center. We could have added a group on the left "From Downloads" and "From Outlinks" but we decided not to, as it would make the interface more complex unnecessarily. Since we didn't want to add the missing pageviews to any of the other numbers, the sum of all groups that are shown might differ from the total number of pageviews. The main limitation of Transitions is that it only works on the period of time you still have the logs for. If you have set up Piwik to delete old logs, the pages report will still contain data from before because the reports were archived. Since Transitions reads its data directly from the logs it can only work if you still have the logs. Another reason for an apparent case of incomplete data, is connected to the truncation of reports. Piwik doesn't necessarily report every unique URL on your website, but instead there is a limit for the maximum number of rows in the pages report (which can be changed). Usually that's not a problem because the number is high and if you haven't heard about it yet, it probably doesn't apply to you. But if this happens on your data, there might the case that for some days of a period, the page is listed under Others but not for other days. The report for the period is the sum of the daily reports and therefore it can happen, that a URL is "missing" on some days and not on others. The sum of the pageviews will be too low in the actions report but Transitions reports the number of pageviews correctly. It can do so because it doesn't use the archives but the logs. We hope you enjoy the Transitions feature. We appreciate if you let us know what you think about it!
  17. How do I delete historical Piwik data? (purge old logs and/or old processed reports)
    Piwik tracks visitors activity, and then computes aggregated reports. The settings page lets you
    • 1) Delete the Tracking Logs and / or....
    • 2) Delete the old processed stats reports
    1) Delete old Tracking Logs You can configure Piwik to automatically delete your older tracking logs from the database. Deleting old logs has many advantages: 1) it will free significant database space, 2) which will slightly increase performance, 3) for Privacy reasons, it is sometimes recommended to keep detailed logs only for 6 months or so, and remove older data. To configure Log delete in Piwik, login as the Super User, click on Settings > Privacy > Delete old visitor logs from database. You can then configure to Delete logs older than N days, and execute the log purging every day, every week or every month. When 'Delete old logs' is enabled, only the raw logs of activity will be deleted from the database. Specifically, only the Mysql tables starting with piwik_log_* are affected. Important: When you enable automatic log deletion, you must ensure that all previous daily reports have been processed, so that no data is lost. See this FAQ for more information. Deleted data: All deleted data is lost forever. If you have properly setup the auto archiving script (see important note), you will still access all historical reports (even when logs are deleted). 2) Delete old reports data If your Mysql database space is limited, you can also Delete old reports in Piwik > Settings > Privacy. You can choose to keep daily, weekly, monthly and / or yearly data. We recommend keeping monthly and yearly data as an interesting dataset. If you enable any of the 2 features to delete old data, the Database estimate size will refresh and give you an idea how much space you would save using the feature. If you cannot wait for the next automatic tasks schedule, you can also force the purge by clicking on 'Purge Now'.
  18. I would like to import an existing Users database (login, password, emails) in Piwik, but the usernames and passwords are more permissive than what Piwik allows. How do I disable the checks on the Logins & Passwords?
    When you automatically import your existing userbase in Piwik using the UsersManager API, you might want to disable the check of minimum length and valid characters for the User's login and password. In particular, Piwik requires a password at least 6 characters long, and a login string that must contain only valid characters (ie. letters, @, etc.). You can disable these checks by adding in the file config/config.ini.php the following: [General] disable_checks_usernames_attributes = 1
  19. Piwik doesn't show me when new updates are available, and the SEO plugin doesn't work.
    Your firewall may be blocking outbound HTTP requests. If you have a HTTP proxy (e.g., squid), you can configure the forward proxy as follows. Edit your config/config.ini.php and add the following: [proxy] host = ; Proxy host: the host name of your proxy server (mandatory) port = ; Proxy port: the port that the proxy server listens to. There is no standard default, but 80, 1080, 3128, and 8080 are popular username = ; Proxy username: optional; if specified, password is mandatory password = ; Proxy password: optional; if specified, username is mandatory Once configured, Piwik will contact external hostnames using this proxy server.
  20. "Segmentation fault Error". Piwik reporting or via cron crashes with Segmentation Fault error. What to do?
    Unfortunately, Segmentation fault Piwik errors mean that the lower level software has crashed in some unexpected fashion. In this case, most likely PHP or some of its specific modules (PDO, mysqli, etc.). It is possible to overcome this issue by updating these softwares. If you get the Segmentation fault error, the solution is to:
    • Upgrade Piwik and make sure to use the latest version
    • upgrade PHP to the latest version
    • upgrade PDO (and/or mysqli) to the latest version
    • You can also try to switch from PDO_MYSQL to MYSQLI in the config/config.ini.php ; edit the line "adapter = [...]"
    • if you still get the error, try disabling extensions such as eAccelerator, APC, xcache and/or Suhosin.
    • if you still get the segmentation fault error at this point, please try the suggestion in this forum post. If it works for you, please post a reply in the thread
    You should now have a working Piwik instance that does not crash, congratulations.
  21. I get the error message: "Fatal error: require_once() [function.require]: Failed opening required XYZ in /path/piwik/XYZ.php on line X". How can I get Piwik to work?
    This error message means that PHP couldn't include a file that Piwik requires. Please make sure all Piwik files are correctly uploaded on your server. You can reupload the missing files by looking at the error message, or reupload all Piwik files and try again: this should work!
  22. What should I do when I get the error message: SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (11)
    This means that Piwik could not connect to your MySQL database. If you are on a dedicated server, you can try to restart the Mysql server by running, for example, /etc/init.d/mysql restart. If you are on a shared web hosting, we recommend contacting your web host and ask them to investigate why it fails to connect to the Mysql server.
  23. I get the error "Warning: gzuncompress() [function.gzuncompress]: data error" when looking at my Piwik reports.
    This error happens in very rare cases where, for some unknown reasons, the data was not properly recorded in the database. In Piwik, all reports data is compressed (gzip) and then stored in the tables piwik_archive_*. To fix this issue, look at the error message and search for "piwik_archive_blob". For example, if the error looks like: #0 Piwik_ErrorHandler(2, gzuncompress() [function.gzuncompress]: data error, /path/piwik/core/Archive/Single.php, 250, Array ([name] => Referers_searchEngineByKeyword,[typeValue] => blob,[table] => piwik_archive_blob_2009_05,[...] You can find "piwik_archive_blob_2009_05". Please delete this table in your Piwik database. Piwik will process it again next time you are viewing reports. This will fix the issue.
  24. Emails sent from Piwik use the email address @defaultHostnameIfEmpty.example.org, how do I specify my domain name instead?
    By default Piwik will try to detect the current Hostname and use it in all emails sent. In some cases, the hostname cannot be detected and Piwik will use "defaultHostnameIfEmpty.example.org". You can specify your domain name to appear in From: email addresses by adding the following lines in your config/config.ini.php file: [mail] defaultHostnameIfEmpty = mydomain.com This will affect all emails sent from Piwik: Password reminder, Email reports. You can also change the default email address "From:" in PDF reports emails.
  25. Piwik reports this error and fails: "Fatal error: Allowed memory size of X bytes exhausted (tried to allocate X bytes)". What should I do?
    You must increase PHP memory limit. See this page for more info.
  26. Piwik reports this error and doesn't continue: "Fatal error: Maximum execution time of 30 seconds exceeded in ..."
    Your PHP is configured to stop running a script after some time, generally 30 seconds. When Piwik is used on a websites with few thousands visits per day, then this limit might not be high enough. To fix this, modify in your php.ini the max_execution_time value to zero (which means no time limit): max_execution_time = 0 This will ensure that Piwik always has enough time to process your analytics reports.
  27. How do I fix the error "Mysql Server has gone away"?
    The MySQL server has gone away (error 2006) has two main causes and solutions:
    • Server timed out and closed the connection. To fix, check that "wait_timeout" mysql variable in your my.cnf configuration file is large enough.
    • Server dropped an incorrect or too large packet. If mysqld gets a packet that is too large or incorrect, it assumes that something has gone wrong with the client and closes the connection. To fix, you can increase the maximal packet size limit "max_allowed_packet" in my.cnf file, eg. set max_allowed_packet = 128M, then sudo /etc/init.d/mysql restart.
  28. Graphs in PDF/HTML reports and/or Piwik Mobile do not display characters correctly in my language (display squares instead).
    To display unicode characters in the Static image graphs, please see this FAQ.
  29. When I use http with force_ssl_login=1 or force_ssl=1, I get "Too many redirects". Also when I use https, CSV/PDF reports and graphs don't work.
    If you're not using a reverse proxy, but using https with a web server that doesn't set the HTTPS environment variable, you can either set assume_secure_protocol=1 or reconfigure your web server. For example, lighttpd should be configured with setenv.add-environment = ( "HTTPS" => "on" ). Similarly, nginx users should use something like fastcgi_param HTTPS on;.
  30. Why am I getting a warning about an untrusted hostname?
    Most of the time this warning is displayed, just after you have just migrated Piwik to a new URL or server, and the new hostname you use will not be the same as the stored one. In this case, ask your Piwik Administrator to update the Piwik Hostname in Settings > General Settings. (for geeks only) How does this message improve security? This warning is a security feature Piwik provides to make Piwik more robust and prevent the so-called "Host Injection" vulnerability. Attackers could try to send fake hostnames to Piwik in an attempt to get users to reset their password through an attacker's server. If users do that, the attacker could gain access to Piwik. Piwik protects against this type of attack by storing a list of trusted hostnames and checking if the 'Host' HTTP header in any request is in this list. If it doesn't match, we show you a warning. You can also disable the trusted host security check if for some reason you get this warning a lot, for example if you use Piwik with a changing set of hostnames. To do so,edit your config/config.ini.php and add the following below [General]
    [General]
    enable_trusted_host_check=0
    This feature was developed as a "Security Best Practise", following a suggestion by a security researcher working with Piwik through our Security Research program.
  31. When included in an IFrame, Piwik reports do not load. How do I allow Piwik reports to load from within an iframe?
    By default, for security reasons, Piwik prevents standard pages and reports to be included in an iframe. If you wish to include widgets in your website or app, we recommend you use the standard "Widgets" mechanism. If you wish to include the whole Piwik in an iframe, edit your config/config.ini.php under the category [General] add the following line: [General] enable_framed_pages=1. If you also wish to enable the "Settings" pages (Manage websites, Users, etc.) to load in an iframe you can also add the setting: enable_framed_settings=1 See also: How do I enable users to login into Piwik inside an iframe?
  32. I'm a developer, how do I enable logging (and / or SQL profiling) in Piwik?
    There are a few possibilities with regards to debug logging in Piwik:
    • Enable logging in the Tracker can be useful to debug Tracking issues or improvements. See the documentation page about enabling Debug logging in the piwik.php tracker
    • Enable logging in the Piwik UI: if you are writing a plugin for example, you would need to output messages on screen (or in a file). To do so, you can edit your config.ini.php and add the following block: [log] logger_message[] = "screen" logger_error[] = "screen" logger_exception[] = "screen" If you wish to debug a live server in production, you can enable logging so that it only outputs the message if you manually append "&debug" in the URL. Under the section [log] in your config.ini.php you can add the following: log_only_when_debug_parameter = 1 All logging configuration options can be found in config/global.ini.php
    • Enable SQL logging & profiling: to see the list of SQL queries executed by Piwik on any given page or widget, you must first enable logging on screen (see point above). Then, edit your config.ini.php and add the following:[Debug] enable_sql_profiler = 1
    • Piwik will then output all SQL queries, group them by unique query, and show the total time spent as well as average time spent on each query.
  33. Widgets don't load. I get the error message: "Fatal error: Class '...' not found in ... What's wrong?
    If you have the APC cache extension enabled, then check your PHP settings. For example, 'apc.include_once_override' is experimental and should be disabled. Also there are reported problems when apc.mmap_file_mask is set. So, try this and restart the Apache httpd process/service. apc.include_once_override = 0 apc.mmap_file_mask = /dev/zero
  34. How do I fix the error 'Unable to find the wrapper "https" - did you forget to enable it when you configured PHP?'
    When you get this error, open your php.ini config file. On Windows server, simply uncomment the following line: ;extension=php_openssl and restart the webserver. The error should be resolved.
  35. How do I disable the OPTIMIZE queries which take too long on my server?
    When Piwik is setup to delete old logs, after the log deletion, we will run OPTIMIZE queries to claim the lost Mysql space on the database tables. These queries can be very slow to run and can cause problems on extremely large Piwik servers. If you see SQL queries and the server load going up out of control, with queries queueing because of an OPTIMIZE TABLE query, we recommend to disable all OPTIMIZE TABLE queries. To do so, edit config/config.ini.php and add: [General] enable_sql_optimize_queries=0

Απαντήσεις

  1. Piwik doesn't track any visits and pages, and shows "There is no data for this report" in all reports.

    There are several possible reasons why Piwik is not tracking your visits properly:

    • Incorrect Piwik tracking code
      Please check that you can find the Piwik javascript code on your website pages that you wish to track. Sometimes, when you copy paste the javascript code in other softwares, like Word or FrontPage, they may add extra spaces or characters. Make sure the code looks like this example (and that it mentions the right URL of your Piwik installation).
      In some cases, when you install Piwik on your local test server, the javascript code might contain "localhost" or "127.0.0.1". When you deploy Piwik in production, you have to edit the Javascript code so that it points to your website URL, eg. "http://example.org/piwik/".
      Also, each Piwik tracking code contains the idsite of your website registered in Piwik. If you only registered one website in Piwik, the idsite found in your Javascript code should be "1".
    • Make sure you are viewing reports for the correct website and date in Piwik
      In Piwik, make sure you selected the right website in the website selector. Also, try to look at reports for "today" by changing the date in the date picker. Please wait at least 10 seconds after generating visits on your website: by default Piwik will only process reports every 10 seconds when "today" is selected.
    • Archiving triggered from the browser must be enabled, if it is disabled the Cron script must be configured properly

      In Settings > General Settings, 'Allow Piwik archiving to trigger when reports are viewed from the browser' must be set to 'Yes'. If it is set to 'No', you must configure the cron script to automatically archive your web analytics reports, or Piwik will show 'No Data'. More information about auto archiving.
    • Third party Piwik plugins
      It is possible that some Third party Piwik plugins could cause problems when tracking your visitors. Please try to disable all the third party plugins you are using to see if it fixes the issue.
    • Browser addons blocking the Piwik Tracking Javascript (NoScript, DoNotTrack, etc.)
      If you use browsers addons such as Adblock, Adblock plus, NoScript, Ghostery or others, the Piwik Javascript code is not executed in your browser. Try to use a different browser that does not have these extensions, or disable these browser extensions and try again. Piwik by default supports DoNotTrack, please check you haven't enabled DoNotTrack in your browser options.
    • Do you have logs registered in your Piwik database?
      If your Piwik tracking code is properly installed, Piwik would record visits in your database. To check if you have logs in your database, go to Piwik > Visitors > Visitor log, and select "today" in the calendar. If you see recent visitor information, it means that the visitor tracking is working, but maybe there is a problem with reports archiving.
      Note: you can also check if logs are recorded correctly by looking at the table "piwik_log_visit" (using phpMyAdmin for example) and see if there are visits recorded. Alternatively, you can enable the plugin "DBStats", and then go to the "Database usage" tab in your Piwik administration area, and check if the table piwik_log_visit has any rows.
    • Testing Piwik with disabled Javascript
      By default, Piwik only tracks visitors with javascript enabled. When you are testing that Piwik tracks visits properly make sure you have javascript enabled.
      If you need help with javascript tracking check out docs/javascript-tracking.
      If you need to use a tracking method which doesn't involve javascript have a look at docs/tracking-api.
    • Piwik displays a red cross (on IE) or a broken image icon on your tracked pages, instead of the 1*1 transparent Pixel
      Check out this FAQ answer.
    • Access to piwik.php fails
      If your host uses mod_security to block requests containing URLs (eg. hosts like HostGator, The Planet), check out the Piwik and mod_security FAQ.
      If you use HTTP Authentication (Basic or Digest) on your Piwik files, you should exclude piwik.php and piwik.js from this authentication, or visitors on your website would be prompted with the authentication popup.
    • Tracking https (SSL) pages
      If you install the Piwik Javascript Tracking tag on https:// pages, then the tracking requests will be sent to Piwik via https. This means that the server you installed Piwik on must be able to handle these https requests, or no data will be tracked. See also Piwik and SSL tracking.
    • Local copy of piwik.js outdated
      Some users make a local copy of piwik.js on a different server than their Piwik installation. This is not officially supported and causes issues when the piwik.js bundled with Piwik is updated and not compatible with the previous version (for example, this is the case in Piwik 0.5.5). Please check that your Piwik JS tracking code is exactly the one given in the Piwik admin screen.
    • Using Piwik latest version
      If you are still seing "No data", please make sure you are using the latest version of Piwik (if not, update now).
    • Check your webserver error logs
      If all else fails, it is possible that there is a server misconfiguration preventing Piwik from tracking your visits or processing reports. Often, there will be an error in the webserver error logs (apache logs, IIS logs, nginx logs, etc.). Please check that your PHP is configured to log errors: (php.ini should contain log_errors = On and error_log = /path/to/log). The messages in the webserver error log will help you find the source of the problem, for example search for the error message on this website.
  2. Visits from search engines or campaigns are not recorded, Piwik shows "There is no data for this report" for all Referrers reports.

    There are a few possible explanations:

    • Are your pages tagged correctly?
      If you click on your website in a search result, and look at your page source, can you see the Piwik tracking code? Make sure the Piwik tracking code is installed on all the pages you want to track, and is not within an iframe. We advise to put the Piwik code just before the </body> tag.
    • Are you using a redirect on your website landing page?
      If you are using a redirect, the visitor browser may lose the referer information. If you are tracking campaigns, and the landing page has a redirect, the URL loaded after the redirection will have lost the URL parameters. Make sure that your visitors arrive directly on the page with the Piwik tracking code installed.
    • Piwik only records 1 referer by visit, which means that only the first referer used to access the website will be recorded.
      If you search for a keyword in a search engine, click on your website in the search engine results, and land on a page with the Piwik tracker, you may expect to see the keyword in your Piwik reports.
      However, if you visited your website less than 30 minutes ago, Piwik will recognize you as an known visitor on the website, will record your page view, but will not update your visit referer. Piwik only record the first referer of a visit. When testing Piwik and search engine detection, make sure you make the test more than 30 minutes after your last page view on your website.
    • Check that the Piwik domain name in your Javascript tracking code is correct (this URL is in the second line of the Piwik tracking code).
      There have been cases of missing referrers when the Piwik JS code in the pages points to a URL that returns a 302 response instead of the final destination. It seems that some webserver compromise the tracking request when such redirects occur. Check in particular if the URL (doesn't) contains "www.". Also, if the server does an automatic redirection from http to https which also affects tracking requests to piwik.php, it might create problems such as missing referer data. Make such any http->https redirection excludes piwik.php requests.
  3. Piwik should automatically track clicks on Download files (with a known extension, eg. jpg, png, exe, zip, etc.) and clicks on Outlinks (links to other websites) using Javascript click handlers. There are a few reasons why this could fail:

    • Conflicting Javascript code

      In some rare cases, Download and Outlink tracking doesn't work in Piwik is because your page is using another Javascript script or library which sets click handlers as well. If a third-party click handler returns a value, it is causing the browser to cancel other registered click handlers. Instead they should return false. Most scripts and libraries are doing it correctly, but you might have to manually edit your Javascript code to return false in onclick events.
    • Piwik doesn't respond fast enough and user is redirected to the click target

      Piwik click handler works by adding a small delay during which the request is sent to the Piwik server. If somehow the request doesn't reach the server within this delay, the request will be not be tracked and the user will be redirected to the clicked download file or to the external website. You can increase this delay, from the default of 500ms (0.5 second), by adding the following in the Javascript code, after the piwik.getTracker(..) line: _paq.push(['setLinkTrackingTimer', 750]); // increase to 750 milliseconds
    • You're using Safari, Chrome, or some other WebKit-based browser.

      There is a known WebKit bug (feature?) that interrupts the tracking request. One workaround is to add the target="_blank" attribute to anchor elements.
  4. Piwik doesn't detect accurately the Country and/or Continent of my visitors.

    To improve Visitor Country detection, you should configure Geo Location in Piwik (click to learn more).

    If you are not using Geo Location, Piwik is guessing your location from the language locale disclosed by the browser, e.g. en-us -> country is set to USA, fr-fr -> country is set to France, etc. In some cases, Piwik will guess the location when the region is omitted, e.g., fr -> France. This can be disabled from config/global.ini.php (or overridden in your config.ini.php):
    [Tracker] enable_language_to_country_guess = 0

    If you want to improve the country detection accuracy in Piwik, setup Geo Location now.

  5. Piwik is slow! It takes a long time to load widgets, reports and pages.

    There are a few possible reasons that Piwik could be slow to load:

  6. Statistics from Piwik and my other web analytics tool (log analyzer, webalizer or javascript based) are different, why?

    There could be a various number of reasons why Piwik numbers are different from your other web analytics solution.

    • Identifying Visitors: Piwik uses a javascript based tracker, and keeps count of unique visitors using a first party uuid cookie, as well as a visitor recognition heuristics algorithm (based on IP address and user settings). Some other tools only use cookies, only use IP, or a combination: we found that the way Piwik tracks visitors gives us really good accuracy and avoids creating artificial visits.
    • Tracking method: Other softwares (such as AWStats, Webalizer, Analog, etc.) or custom server-side script would record all traffic, including search bots or spam bots. By default Piwik uses a Javascript tracker which automatically only records "real" human activity. This leads to more accurate reports. (PS: Piwik can still track search engine bots separately)
    • Hits vs Visits: Log analyzers softwares will typically report "hits". Hits generally count all http requests to your websites: pages, images, css, javascript files, etc. Piwik reports page views, unique visitors, visits, etc. whiLogs analyzersch are expected to be much less than the number of hits.
    • Record loaded page: when the Piwik javascript code is located at the end of the page, Piwik will only record page views for page that are finished loading. Log Analyzers would also record page requests that have been "cancelled", eg. when the user hits the Back button before the page is displayed.
    • Position and presence of Javascript tag: when comparing Javascript-based statistics (eg. number of unique visitors), you have to make sure that both javascript tags are present on all pages you want to track. Also, it is better to put all tracking codes at the end of your pages, just before the </body> tag.

    Concerning Google Analytics, several users compared Piwik and Google Analytics numbers, and found very similar statistics: on significant traffic, differences were always less than 5 percent.

    Conservative counting is definitely best - it makes your statistics more realistic on what you are trying to measure. Most analytics packages are used to measure relative upswings, we recommend using the same tool for all measurements and relative comparisons.

  7. After I updated Piwik, it stopped working (blank page, widgets not loading, error message, etc.). How can I fix this?

    When you upgrade Piwik to the latest version, it sometimes happen that Piwik stops working -- especially when the User Interface is not working (blank white page, widgets not loading, error message, etc.).
    There are a few things to check that will most likely resolve the User Interface issue you are having:

    • 1) Delete your browser cache or try to access your Piwik with a different browser. If it still does not work...
    • 2) Delete all files in piwik/tmp/*. After deleting the files and directories, refresh the page. If it still does not work...
    • 3) Check your web server error logs. Maybe your error log will contain an explanation for the problem. If the log file has no Piwik related error...
    • 4) Reupload all Piwik files from the latest version. Sometimes, there are errors while uploading files and some of your Piwik files were maybe not overwritten by the latest version. Upload all files again, and check in your FTP software that the upload was successful.

    Also, check out the other FAQs in this "Troubleshooting" category, as there might be other solutions for your problem.
    If it still does not work, please search the Piwik Forums, and if there is no post about your problem, please create a new topic.

  8. The graphs (pie chart, bar chart, evolution graph) are not showing in my Piwik.

    If you are not seeing Graphs in Piwik, the most likely reason is that you are using Piwik < 1.5 which are using Flash graphs, and you do not have Flash enabled in your browser.

    As of Piwik 1.5, graphs in Piwik are drawn using open source technologies supported in all modern browsers: see Canvas and Jquery graphs blog post.

  9. The sparklines (small graphs like ) are not showing in my Piwik.

    The GD library is not installed on your server. This library is required to produce the sparklines. Please ask your system administrator or your web host to install php5-gd for you.

    On linux, you can install php-gd by executing "apt-get install php5-gd" on debian type systems, then restart your webserver.

  10. Piwik reporting UI doesn't have any css style or, the menu text appears on a white background. How to fix this display problem?

    To improve performance, Piwik tries to automatically combine all CSS stylesheets and Javascript files into two large files, instead of having to download 20 individual files. However, on some webhosts, PHP scripts have a max execution time and if the server is overloaded, the script that merges all files together can take more than the time limit.

    There are 2 solutions

    • Ask your webhost to increase the max_execution_time in your php.ini file, for example to 30 seconds.
    • If you can't change this setting, you can alternatively disable the feature to combine together CSS and JS files. To disable this feature, edit your config/config.ini.php and add the following:
      [Debug] disable_merged_assets = 1

    Then, delete your browser cache and refresh Piwik: after a few seconds, it should display correctly again!

  11. When tracking visits on an intranet website, Piwik assigns all page views to a few visitors who have very high page views count. How to fix it?

    On Intranet websites, often most users have the same IP address, and often the same browser and configuration settings. This causes Piwik to believe that most page views come from the same visitor. To fix this on Intranet websites, see this FAQ: Enabling Piwik on Intranet websites.

  12. The World map is not showing in my Piwik.

    The Piwik World Map requires the plugin Flash to be displayed. Please check that you have installed Flash in your browser. Click here to install the flash plugin.
    If you have installed the Flash plugin, and the world map is still not showing, maybe you are using a browser extension that blocks the flash content? For example, if you're using the AdBlock extension, there's a notable bug where it blocks Flash content in <object> tags even if the page is whitelisted. Please consider using AdBlock Plus as a replacement.

  13. The Piwik Javascript code shows a red cross (on IE) or a broken image icon instead of the 1*1 transparent Pixel, what is the issue?

    When Piwik is showing a red cross image, or a broken image icon, it means that tracking visits is failing on your Piwik installation. It is not expected and should be investigated to fix the root of the problem as soon as possible (in the meantime, your visits are most likely not recorded).

    To see where the error comes from, open your website in Firefox, right click on the broken image icon, and click on "View Image". This should redirect you to the URL "yourwebsite.com/piwik/piwik.php?..." and the error message should be showing.

    If the error message mentions MySQL, the error might come from a broken mysql instance or tables. Try to "repair" your MySQL tables (using phpMyAdmin for example).
    If the error mentions "failed to open stream: No such file or directory" this might be caused by missing Piwik files. Make sure all Piwik files are properly uploaded.
    For other errors, try to search on the search engine on Piwik.org.
    You can also try the Piwik support forums for more help.

  14. How do I configure Piwik when mod_security is enabled?

    If your host uses mod_security to block requests containing URLs (eg. hosts like HostGator, The Planet), you should contact your provider to whitelist your domain (or URL) and disable mod_security for your website.

    Alternately, if your Piwik is hosted on the same domain as your website being tracked, you can edit your Piwik Javascript Tracking code to force data to be sent in POST, to avoid the mod_security check. Before the line _paq.push(['trackPageView']); you can add the following line _paq.push(['setRequestMethod', 'POST']);

  15. Only one or a small number of days/months/date ranges are showing 0 zero visits, but other periods are working as expected.

    In rare cases, Piwik will show "no data" only for one day or one month, while other periods work fine and report visits as expected.
    If you are not yet using at least Piwik 1.6, please update now (we fixed issues related to this problem in 1.6 and latest).

    It is possible to re-process the specific days or months that are showing zero visit, check out this faq: Re-process reports.

  16. The numbers from Transitions don't match other numbers shown in Piwik. Why?

    The Transitions Plugin gives you a report that shows the things your visitors did directly before and after viewing a certain page. There are few cases, where the data displayed in Transitions is slightly off compared to what you might expect.

    The number of pageviews shown in the pages report doesn't match the number of pageviews in the Transitions popover. There are several possible explanations:

    • Since the pages report is pre-archived, it shows the numbers of time the archiving was launched. Transitions doesn't use the archives but retrieves the number directly from the logs. So if you have more pageviews in Transitions and you are viewing a period that includes today, this might be why the numbers don't match.
    • The pages report sometimes aggregates multiple URLs into one row. For example when you track multiple domains, example1.org/home.html and example2.org/home.html will both end up in the row /home.html in the pages report. Transitions is based on unique URLs and will open on the URL with most pageviews that was aggregated into the row of the pages report. So if example1.org/home.html had more pageviews that example2.org/home.html, Transitions will open on the URL example1.org/home.html and show only statistics for this page.
    • Before version 1.9, Piwik recorded URLs with the hash part (e.g. example.org/home.html#something) but didn't show the hash part in the pages report. When you have tracked pages with different hash parts, the previous bullet point applies and you will see Transitions for the unique URL that had most pageviews of all the URLs aggregated into the row of the pages report you clicked on.

    Another case of odd numbers is when the sum of the groups on the left does not equal the total number of pageviews. If you think that this is the case, first make sure that you have included the page reloads in your calculation. If the numbers still don't match, read on.

    This can happen when there were downloads or outlinks tracked directly before views of the page in the center. We could have added a group on the left "From Downloads" and "From Outlinks" but we decided not to, as it would make the interface more complex unnecessarily. Since we didn't want to add the missing pageviews to any of the other numbers, the sum of all groups that are shown might differ from the total number of pageviews.

    The main limitation of Transitions is that it only works on the period of time you still have the logs for. If you have set up Piwik to delete old logs, the pages report will still contain data from before because the reports were archived. Since Transitions reads its data directly from the logs it can only work if you still have the logs.

    Another reason for an apparent case of incomplete data, is connected to the truncation of reports. Piwik doesn't necessarily report every unique URL on your website, but instead there is a limit for the maximum number of rows in the pages report (which can be changed). Usually that's not a problem because the number is high and if you haven't heard about it yet, it probably doesn't apply to you. But if this happens on your data, there might the case that for some days of a period, the page is listed under Others but not for other days. The report for the period is the sum of the daily reports and therefore it can happen, that a URL is "missing" on some days and not on others. The sum of the pageviews will be too low in the actions report but Transitions reports the number of pageviews correctly. It can do so because it doesn't use the archives but the logs.

    We hope you enjoy the Transitions feature. We appreciate if you let us know what you think about it!

  17. How do I delete historical Piwik data? (purge old logs and/or old processed reports)

    Piwik tracks visitors activity, and then computes aggregated reports. The settings page lets you

    • 1) Delete the Tracking Logs and / or....
    • 2) Delete the old processed stats reports

    1) Delete old Tracking Logs
    You can configure Piwik to automatically delete your older tracking logs from the database. Deleting old logs has many advantages: 1) it will free significant database space, 2) which will slightly increase performance, 3) for Privacy reasons, it is sometimes recommended to keep detailed logs only for 6 months or so, and remove older data.

    To configure Log delete in Piwik, login as the Super User, click on Settings > Privacy > Delete old visitor logs from database. You can then configure to Delete logs older than N days, and execute the log purging every day, every week or every month. When 'Delete old logs' is enabled, only the raw logs of activity will be deleted from the database. Specifically, only the Mysql tables starting with piwik_log_* are affected.

    Important: When you enable automatic log deletion, you must ensure that all previous daily reports have been processed, so that no data is lost. See this FAQ for more information.
    Deleted data: All deleted data is lost forever.
    If you have properly setup the auto archiving script (see important note), you will still access all historical reports (even when logs are deleted).

    2) Delete old reports data
    If your Mysql database space is limited, you can also Delete old reports in Piwik > Settings > Privacy. You can choose to keep daily, weekly, monthly and / or yearly data. We recommend keeping monthly and yearly data as an interesting dataset.
    If you enable any of the 2 features to delete old data, the Database estimate size will refresh and give you an idea how much space you would save using the feature. If you cannot wait for the next automatic tasks schedule, you can also force the purge by clicking on 'Purge Now'.

  18. I would like to import an existing Users database (login, password, emails) in Piwik, but the usernames and passwords are more permissive than what Piwik allows. How do I disable the checks on the Logins & Passwords?

    When you automatically import your existing userbase in Piwik using the UsersManager API, you might want to disable the check of minimum length and valid characters for the User's login and password.
    In particular, Piwik requires a password at least 6 characters long, and a login string that must contain only valid characters (ie. letters, @, etc.).
    You can disable these checks by adding in the file config/config.ini.php the following: [General] disable_checks_usernames_attributes = 1

  19. Piwik doesn't show me when new updates are available, and the SEO plugin doesn't work.

    Your firewall may be blocking outbound HTTP requests. If you have a HTTP proxy (e.g., squid), you can configure the forward proxy as follows.
    Edit your config/config.ini.php and add the following:
    [proxy] host = ; Proxy host: the host name of your proxy server (mandatory)
    port = ; Proxy port: the port that the proxy server listens to. There is no standard default, but 80, 1080, 3128, and 8080 are popular
    username = ; Proxy username: optional; if specified, password is mandatory
    password = ; Proxy password: optional; if specified, username is mandatory

    Once configured, Piwik will contact external hostnames using this proxy server.

  20. "Segmentation fault Error". Piwik reporting or via cron crashes with Segmentation Fault error. What to do?

    Unfortunately, Segmentation fault Piwik errors mean that the lower level software has crashed in some unexpected fashion. In this case, most likely PHP or some of its specific modules (PDO, mysqli, etc.). It is possible to overcome this issue by updating these softwares.
    If you get the Segmentation fault error, the solution is to:

    • Upgrade Piwik and make sure to use the latest version
    • upgrade PHP to the latest version
    • upgrade PDO (and/or mysqli) to the latest version
    • You can also try to switch from PDO_MYSQL to MYSQLI in the config/config.ini.php ; edit the line "adapter = [...]"
    • if you still get the error, try disabling extensions such as eAccelerator, APC, xcache and/or Suhosin.
    • if you still get the segmentation fault error at this point, please try the suggestion in this forum post. If it works for you, please post a reply in the thread

    You should now have a working Piwik instance that does not crash, congratulations.

  21. I get the error message: "Fatal error: require_once() [function.require]: Failed opening required XYZ in /path/piwik/XYZ.php on line X". How can I get Piwik to work?

    This error message means that PHP couldn't include a file that Piwik requires. Please make sure all Piwik files are correctly uploaded on your server. You can reupload the missing files by looking at the error message, or reupload all Piwik files and try again: this should work!

  22. What should I do when I get the error message: SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (11)

    This means that Piwik could not connect to your MySQL database. If you are on a dedicated server, you can try to restart the Mysql server by running, for example, /etc/init.d/mysql restart. If you are on a shared web hosting, we recommend contacting your web host and ask them to investigate why it fails to connect to the Mysql server.

  23. I get the error "Warning: gzuncompress() [function.gzuncompress]: data error" when looking at my Piwik reports.

    This error happens in very rare cases where, for some unknown reasons, the data was not properly recorded in the database. In Piwik, all reports data is compressed (gzip) and then stored in the tables piwik_archive_*.

    To fix this issue, look at the error message and search for "piwik_archive_blob". For example, if the error looks like:

    #0 Piwik_ErrorHandler(2, gzuncompress() [function.gzuncompress]: data error, /path/piwik/core/Archive/Single.php, 250, Array ([name] => Referers_searchEngineByKeyword,[typeValue] => blob,[table] => piwik_archive_blob_2009_05,[...]

    You can find "piwik_archive_blob_2009_05". Please delete this table in your Piwik database. Piwik will process it again next time you are viewing reports. This will fix the issue.

  24. Emails sent from Piwik use the email address @defaultHostnameIfEmpty.example.org, how do I specify my domain name instead?

    By default Piwik will try to detect the current Hostname and use it in all emails sent. In some cases, the hostname cannot be detected and Piwik will use "defaultHostnameIfEmpty.example.org". You can specify your domain name to appear in From: email addresses by adding the following lines in your config/config.ini.php file:
    [mail] defaultHostnameIfEmpty = mydomain.com

    This will affect all emails sent from Piwik: Password reminder, Email reports. You can also change the default email address "From:" in PDF reports emails.

  25. Piwik reports this error and fails: "Fatal error: Allowed memory size of X bytes exhausted (tried to allocate X bytes)". What should I do?

    You must increase PHP memory limit. See this page for more info.

  26. Piwik reports this error and doesn't continue: "Fatal error: Maximum execution time of 30 seconds exceeded in ..."

    Your PHP is configured to stop running a script after some time, generally 30 seconds. When Piwik is used on a websites with few thousands visits per day, then this limit might not be high enough. To fix this, modify in your php.ini the max_execution_time value to zero (which means no time limit):

    max_execution_time = 0

    This will ensure that Piwik always has enough time to process your analytics reports.

  27. How do I fix the error "Mysql Server has gone away"?

    The MySQL server has gone away (error 2006) has two main causes and solutions:

    • Server timed out and closed the connection. To fix, check that "wait_timeout" mysql variable in your my.cnf configuration file is large enough.
    • Server dropped an incorrect or too large packet. If mysqld gets a packet that is too large or incorrect, it assumes that something has gone wrong with the client and closes the connection. To fix, you can increase the maximal packet size limit "max_allowed_packet" in my.cnf file, eg. set max_allowed_packet = 128M, then sudo /etc/init.d/mysql restart.
  28. Graphs in PDF/HTML reports and/or Piwik Mobile do not display characters correctly in my language (display squares instead).

    To display unicode characters in the Static image graphs, please see this FAQ.

  29. When I use http with force_ssl_login=1 or force_ssl=1, I get "Too many redirects". Also when I use https, CSV/PDF reports and graphs don't work.

    If you're not using a reverse proxy, but using https with a web server that doesn't set the HTTPS environment variable, you can either set assume_secure_protocol=1 or reconfigure your web server.
    For example, lighttpd should be configured with setenv.add-environment = ( "HTTPS" => "on" ). Similarly, nginx users should use something like fastcgi_param HTTPS on;.

  30. Why am I getting a warning about an untrusted hostname?

    Most of the time this warning is displayed, just after you have just migrated Piwik to a new URL or server, and the new hostname you use will not be the same as the stored one. In this case, ask your Piwik Administrator to update the Piwik Hostname in Settings > General Settings.

    (for geeks only) How does this message improve security?
    This warning is a security feature Piwik provides to make Piwik more robust and prevent the so-called "Host Injection" vulnerability. Attackers could try to send fake hostnames to Piwik in an attempt to get users to reset their password through an attacker's server. If users do that, the attacker could gain access to Piwik. Piwik protects against this type of attack by storing a list of trusted hostnames and checking if the 'Host' HTTP header in any request is in this list. If it doesn't match, we show you a warning.

    You can also disable the trusted host security check if for some reason you get this warning a lot, for example if you use Piwik with a changing set of hostnames. To do so,edit your config/config.ini.php and add the following below [General]

    [General]
    enable_trusted_host_check=0

    This feature was developed as a "Security Best Practise", following a suggestion by a security researcher working with Piwik through our Security Research program.

  31. When included in an IFrame, Piwik reports do not load. How do I allow Piwik reports to load from within an iframe?

    By default, for security reasons, Piwik prevents standard pages and reports to be included in an iframe.
    If you wish to include widgets in your website or app, we recommend you use the standard "Widgets" mechanism.
    If you wish to include the whole Piwik in an iframe, edit your config/config.ini.php under the category [General] add the following line:
    [General] enable_framed_pages=1.

    If you also wish to enable the "Settings" pages (Manage websites, Users, etc.) to load in an iframe you can also add the setting:
    enable_framed_settings=1

    See also: How do I enable users to login into Piwik inside an iframe?

  32. I'm a developer, how do I enable logging (and / or SQL profiling) in Piwik?

    There are a few possibilities with regards to debug logging in Piwik:

    • Enable logging in the Tracker can be useful to debug Tracking issues or improvements. See the documentation page about enabling Debug logging in the piwik.php tracker
    • Enable logging in the Piwik UI: if you are writing a plugin for example, you would need to output messages on screen (or in a file). To do so, you can edit your config.ini.php and add the following block:
      [log] logger_message[] = "screen"
      logger_error[] = "screen"
      logger_exception[] = "screen"

      If you wish to debug a live server in production, you can enable logging so that it only outputs the message if you manually append "&debug" in the URL. Under the section [log] in your config.ini.php you can add the following:
      log_only_when_debug_parameter = 1

      All logging configuration options can be found in config/global.ini.php
    • Enable SQL logging & profiling: to see the list of SQL queries executed by Piwik on any given page or widget, you must first enable logging on screen (see point above). Then, edit your config.ini.php and add the following:[Debug] enable_sql_profiler = 1
    • Piwik will then output all SQL queries, group them by unique query, and show the total time spent as well as average time spent on each query.

  33. Widgets don't load. I get the error message: "Fatal error: Class '...' not found in ... What's wrong?

    If you have the APC cache extension enabled, then check your PHP settings. For example, 'apc.include_once_override' is experimental and should be disabled. Also there are reported problems when apc.mmap_file_mask is set. So, try this and restart the Apache httpd process/service.
    apc.include_once_override = 0
    apc.mmap_file_mask = /dev/zero

  34. How do I fix the error 'Unable to find the wrapper "https" - did you forget to enable it when you configured PHP?'

    When you get this error, open your php.ini config file. On Windows server, simply uncomment the following line:

    ;extension=php_openssl

    and restart the webserver. The error should be resolved.

  35. How do I disable the OPTIMIZE queries which take too long on my server?

    When Piwik is setup to delete old logs, after the log deletion, we will run OPTIMIZE queries to claim the lost Mysql space on the database tables. These queries can be very slow to run and can cause problems on extremely large Piwik servers. If you see SQL queries and the server load going up out of control, with queries queueing because of an OPTIMIZE TABLE query, we recommend to disable all OPTIMIZE TABLE queries. To do so, edit config/config.ini.php and add:

    [General] enable_sql_optimize_queries=0