Οι ΣΑΕ του Piwik

Αν έχετε κάποια ερώτηση για μας στο Piwik που δεν έχει ήδη απαντηθεί, μη διστάσετε να μας στείλετε μια ηλεκτρονική επιστολή στο hello@piwik.org και εμείς θα δημοσιεύσουμε εδώ την απάντηση για όλους. Ευχαριστούμε!

Νέο στο Piwik

  1. What is Piwik?
    Piwik is a downloadable, Free (GPL licensed) web analytics software package. It provides detailed reports on your website and its visitors, including the search engines and keywords they used, the language they speak, which pages they like, the files they download… and so much more. Piwik aims to be an open source alternative to Google Analytics. Piwik is PHP MySQL software which you download and install on your own webserver. At the end of the 5-minute installation process you will be given a JavaScript tag. Simply copy and paste this tag on websites you wish to track (or use an existing plugin to do it automatically for you). To learn more about what Piwik offers, check out the list of features page.
  2. How is Piwik different to Google Analytics and other web analytics tools?
    Piwik is the leading open source web analytics software, but there are dozens of other free and paid web analytics solutions; why choose Piwik? One of the principle advantages of Piwik is that you are in control. Unlike remote-hosted services (such as Google Analytics), you host Piwik on your own server and the data is tracked inside your Mysql database. Because Piwik is installed on your server, you enjoy full control over your data. You can access the data easily via the Piwik APIs. Advanced users can use Custom Variables, Segmentation, or even run manual queries on the database in order to build advanced reports. Piwik also protects your visitor privacy with advanced Privacy features. When using Piwik for Web Analytics, you ensure that your visitors behavior on your website(s) is not shared with advertising companies. If you are using Google Analytics and starting to use Piwik, you can import your Google Analytics data history into Piwik. You can also use several web analytics tools at the same time so feel free to experiment! To help you decide on a Web Analytics software, you might want to look at the list of features in Piwik or the online demo. Piwik offers nearly all features that other tools may offer, and also has some unique features such as Real Time visitor details, Ecommerce Analytics, and an awesome Mobile App. Happy Analytics!
  3. How does Piwik work?
    Piwik has to be installed on a server with both PHP and MySQL. At the end of the 5-minute installation, Piwik will give you a Javascript tag which you add to the bottom of each page of your website. Piwik will then record the activity across your website within your database. Piwik aggregates this data to provide detailed web analytics reports about your visitors, page views, referrer information, search engine keywords, Ecommerce, campaigns and much more! As well as tracking via the Javascript file, you can also import web server access logs into Piwik.
  4. Is there an online demo available?
    Yes, check out the online demo to see how awesome Piwik is! If you prefer seeing the list of features all in one page, check out the list of features.
  5. Can Piwik manage multiple user accounts?
    In Piwik, you can create an infinite number of users and websites to track. For each user, you can set permissions to "view", "admin" or "no permission" for a specific website, or for all websites at once. The permission system in Piwik is simple and makes it very easy to manage from a small number of websites and users to hundreds of websites and thousands of users. See the Manage Users documentation.
  6. How do I track several websites, domains and multiple subdomains in Piwik?
    You can add unlimited websites to track in Piwik, in the Admin Websites section. In fact, Piwik scales well to thousands of websites, and a few Piwik users are tracking even more. Each Website is defined by a URL. You can track sub domains in the same Piwik website, or you can create a different website for some of your subdomains. Learn more about creating Websites in the Managing websites page. It is also important to configure First party cookie domains in the Javascript Tracking code. Please see the page Tracking code: Cookie configuration for sub-domains. If you track many subdomains in the same Piwik website, you might want to have the domain name appear on your Page Title reports: "support.example.org/Homepage" rather than "Homepage", check out the JS setDocumentTitle documentation. In the Admin Websites page, you can also define for each website a list of Alias URLs which contains all the other domains and subdomains that will be tracked. This will ensure they don't appear in your "Referer" reports. If you track more than 10 websites, the Website selector will display the first ten sites only, and show a search field where you can search quickly to look at another website. Check out the 'All Websites' dashboard as well, a very useful first page to look at for a quick overview of the performance yesterday or last week or all your sites. You can even make it your defaut page to load in Piwik in your user settings. See also: Install Piwik on one server and track visits on websites that are hosted on other servers. The official Piwik Mobile App supports all these reports, including the 'All Websites' dashboard.
  7. How do I define and track Goal conversions?
    You can add unlimited number of Goals to track in Piwik (newsletter subscription, file download, 'thank you' page, etc.). Learn more about how to track your website Goals in the Goal Tracking documentation.
  8. How do I improve accuracy of visitors' Country detection, and enable Cities and Regions tracking?
    By default Piwik uses the browser language to determine location. To improve accuracy of country detection (and enable Region and City tracking), go to Piwik > Settings > Geo Location. Then, you can select the appropriate solution for your install. These include GEOIP database from Maxmind (for shared hosting) or a server side solutions such as GeoIP Apache or GeoIP PECL modules. Learn more about Visitors geo location in Piwik.
  9. How do I track Ecommerce orders, details of purchased products and abandoned carts on my website?
    Piwik provides advanced Ecommerce Tracking and Reporting functionnality. Learn more in the page Ecommerce Analytics.
  10. How does Piwik ensure Privacy of my Analytics data, and Privacy of my website Visitors?
    Piwik is the ideal Web Analytics software that respects Privacy, thanks to its Free/Libre software nature and useful Privacy settings, setting it apart from other commercial tools such as Google analytics. To ensure and respect your visitors Privacy, you can: 1) automatically anonymize Visitors IPs, 2) include a Web Analytics opt-out feature on your site (using a simple iframe), and 3) Delete old visitors logs. To configure Privacy features in Piwik, log in as a Super User, click "Settings" then click "Privacy". Learn more about Piwik, Data & Users Privacy.
  11. How does Piwik track downloads?
    On many websites, you want to track when visitors download your brochure, a photo, a software, etc. Piwik automatically track these clicks as Downloads, and reports them under Actions > Downloads. Piwik will automatically detect a download as a click on a link that ends with one of the following file extensions: 7z, aac, arc, arj, asf, asx, avi, bin, bz, bz2, csv, deb, dmg, doc, exe, flv, gif, gz, gzip, hqx, jar, jpg, jpeg, js, mp2, mp3, mp4, mpg, mpeg, mov, movie, msi, msp, odb, odf, odg, odp, ods, odt, ogg, ogv, pdf, phps, png, ppt, qt, qtm, ra, ram, rar, rpm, sea, sit, tar, tbz, tbz2, tgz, torrent, txt, wav, wma, wmv, wpd, xls, xml, z, zip. You can also force Piwik to count a click as a download by using a specific CSS class for this link. Check out the section "Force a click on a link to be recorded as a download in Piwik" in the Javascript tagging Guide.
  12. What are Outlinks, Clicks or Unique clicks?
    The Piwik report "Pages > Outlinks" shows the list of external URLs that were clicked by your visitors from your website pages. Piwik will track as an "outlink" all clicks on URLs that are not the same domain as the website being tracked. For example, if your visitor click on a link to "piwik.org" on your website "example.org", this will be counted as an outlink in the report. For each outlink, Piwik will report the number of clicks, and the number of unique clicks. Unique clicks are the number of unique visitors that clicked to a given domain ; for example, if the same visitor clicked 3 times on the same outlink, it will be reported as 3 clicks and 1 unique click. Note that Piwik is not able to track Javascript of flash links. Only HTML links are tracked, eg. <a href='http://linkedin.com'>LinkedIn Profile</a> If you wish to not track clicks on your subdomains as outlinks, for example if your website is "example.org/" and you don't want to track outlinks to "news.example.org", you can use the Javascript function setDomains(). Read more in the documentation. Learn more about Click Tracking in the Javascript tagging Guide.
  13. Does Piwik track visitors without Javascript? Does Piwik track search engine bots or other spider / robots?
    By default, Piwik only tracks visitors with Javascript enabled. See more information about the tracking process. If you want to track visitors (or bots) without Javascript, you can add an Image Tracker on your pages. Advanced users can also use the Advanced Image Tracker or even call the Piwik Tracking API using HTTP. Check out more information on how to use these advanced tracking techniques in the Piwik Tracking API. See also How do I enable tracking for visitors without Javascript? You can also use Piwik to track Search Engine Bots. For this you will need access to your web server access log files, which you can import in Piwik along with Search Engine Bots Traffic information.
  14. Can I use Piwik and Google Analytics / Yahoo! Analytics / WebTrends etc. at the same time?
    Yes, you can use any combination of analytics packages at the same time on your pages. The downside is that your pages might take longer to load as each analytics Javascript tracking code will add some delay to the page load. We also recommend putting the Piwik Tracking code first, above other javascript codes, just before the </body>. Read more about the Piwik Javascript Tracking API
  15. How do I know when new versions are released?
    The Piwik Changelog page lists all recent Piwik versions and the list of changes. The best way to keep track of all new versions is to subscribe to the Changelog Rss Feed. To stay tuned about the latest Piwik developments, you can try the Piwik blog (by rss or email - see the sidebar of the blog) or register with the piwik-hackers mailing list (more info in the developer section). Also, when a new version is released, your Piwik will display a message inviting you to update to the latest version.
  16. Where can I get support?
    If you're looking for help, please read the FAQs, the Documentation, or search piwik.org. If you can't find the answer you're looking for, please post a message in the Piwik Forums, where you can get help from the community. If you need professional support, you can contact one of the official Piwik Consultants or learn more about Piwik Consulting.
  17. How much does Piwik cost?
    Piwik is a Free Software, released under the GPL license. It does not have a monetary cost (it is free of charge) and the software license ensures it respects your freedom to use and modify the software. If you would like to pay back a little something, you are welcome to participate in the project and spend some of your time and energy to make Piwik better (the app, website or docs). We are grateful for our wonderful sponsors and the core Piwik team for their amazing work.
  18. Is there any Data Limit in Piwik? Is it possible to keep all historical data?
    Please See our Piwik Data Limits Fact Sheet for more information about Data Limits and Historical Data records. In general, Piwik does not believe in any limits, and will only be limited with the server resources. If you have access to existing data, you can also transfer it to Piwik. In particular, you can import old historical visitors data in Piwik, or import data from Google Analytics.
  19. Does Piwik track visits from Mobile devices (iOS, Android, BlackBerry, Palm Pre, low end mobile phones, etc.)?
    Piwik will automatically track visits on mobile phones that use browsers executing Javascript: iOs based devices such as iPhone and iPad, Android based phones or any other modern devices (running Palm Pre, Opera Mobile, Webkit, Mozilla Fennec, etc.). For low-end mobile devices that use browsers which do not execute Javascript, you can manually record visits using the Piwik Tracking API. Learn more about the Piwik Tracking API. See also Does Piwik track visitors without Javascript? .
  20. Can I use Piwik and provide analytics Hosting service? What are the requirements for Piwik Hosted as a service?
    It is allowed to re-sell Piwik and provide it for free, or for a fee. In fact, we maintain a list of Official Hosting Piwik partners which we recommended. If you are providing a service reusing Piwik, you must also reuse the word Piwik with care. Please see the Piwik Trademark page for more details about how to reuse the name Piwik in your modified version of Piwik. In particular, it is not allowed to use Piwik in the URL domain name. We would love to know if you create something interesting using Piwik: drop us a message.
  21. Can I rebrand or sell or reuse or re-license or include Piwik in my product, company, or website?
    Reusing Piwik in any way is allowed as long as you respect the GPL license. If your product, software, or website uses Piwik but all the code (including your modifications) stays within your company or server, you have the freedom to keep your code and not be bound to the GPL License. For example, you can change the header and footer to reflect your brand, change the colors, or add new features on your copy of Piwik. If you distribute a modified version of Piwik, or software that includes Piwik as a module, or develop a website for a customer/client that includes Piwik, you must give access to the code source and publish all the code under the GPL. Plugins Licenses: Individual components, libraries or plugins may be available for reuse under a different license. Please refer to the LEGALNOTICE file included in the distribution. You may want to learn more about the GPL License and look at the GPL FAQ. As well as respecting the GPL license, you must also reuse the word Piwik with care. Please see the Piwik Trademark page for more details about how to reuse the name Piwik in your modified version of Piwik. Finally, if you modify Piwik and add new features or fix existing bugs, please submit your patches back to the Piwik team: together we will build the best Free/Libre web analytics software!
  22. Does Piwik work on high traffic websites? What is the performance like with millions of pages views per month?
    Piwik can scale to millions of page views per month and/or to thousands of registered websites. If you have a few hundreds visits/page views per day, Piwik should work fine "out of the box". If you have thousands of page views per day or more, click here to view the High Traffic Piwik Guide: Scale & Optimize
  23. Can I customize the Piwik logo in the reports, emails and login screen?
    Piwik allows to upload your custom logo, which will be displayed everywhere the normal Piwik logo displays: 1) top of the screen in the Analytics reports, 2) Login screen, 3) Emails & PDF Reports. To upload a Custom Logo in Piwik, login as the Super User, click on Settings > General Settings > Branding, and click on "Use a custom logo".
  24. Can I get the data from the Piwik API web services and publish, reuse, process this data in a non GPL software?
    Yes, the data coming from the Piwik API belongs to you and is not covered by the GPL. You can use Piwik as a service, and reuse, publish, display, modify, process the data coming from the Piwik API using the REST web service call - this is not allowed if you call the API when using Piwik as a PHP library (see how to call the API?). See also the GPL FAQ: Is there some way that I can GPL the output people get from use of my program? For example, if my program is used to develop hardware designs, can I require that these designs must be free?
  25. Does Piwik work in a load balanced environment? How do I setup Piwik for high scale tracking?
    Many medium-high traffic websites successfully use Piwik to track and analyse their website behavior and performance. See this FAQ for general information about high traffic Piwik.
    If you want to provide high reliability and better performance in your Piwik setup, you can load balance Piwik services on various servers. It is pretty easy to do so, but make sure you read the following documentation.
    Piwik stores all tracking data, reports, users, settings, etc. in the shared mysql database. Piwik also needs to read/create files to store information, caches, temporary files:
    • config/config.ini.php is used by every request to Piwik. It contains db access, plugins enabled, various settings, etc. The file is only modified when the Super User changes some settings in the Admin interface (plugins, super user password, smtp settings, etc.). This file must be synchronized on every Piwik server.
    • tmp/* contains temporary and cached files such as: compiled templates, generated PDFs, tracking caches, etc. This directory tmp/ content can be safely deleted and Piwik will automatically recompile templates and recreate caches.
    • by default, Piwik uses file session storage, which are usually stored in tmp/sessions, or in the global sessions directory (see php.ini). There is a config setting to enable database session storage, see this faq
    When Piwik is used behind a load balancer, here are the steps to follow:
    • 1) synchronize config/config.ini.php on all servers - make sure the file config/config.ini.php is the same on all servers (using rsync for example).
    • 2) setup a cron to delete the tracker cache every 5 minutes on all servers: rm piwik/tmp/cache/tracker/*
    • 3) enable database session storage
    • 4) we highly recommend to enable SSL in Piwik
    Piwik should then work as expected in a load balanced environment. For example, a common way to load balance Piwik on 3 servers: Load balancer in front of (2x) webservers which are tracking/querying the (1x) Master mysql DB server. For further optimization, a (1x) UI webserver can be added, to handle all API requests, UI requests, and run the cron archiving. This server can also be doubled and load balanced.
    Typically, webserver boxes would be cheap to operate servers, and the Master DB server would be bigger (eg. multiple cores, 8G memory, fast disk access), which could scale to a certain point (1M+ pages per day).
  26. Where does the name Piwik come from?
    When working on the first version of Piwik, Matthieu was looking for a name that was unique, easy to write and to remember, with as few letters as possible, and for which the domain name was still available. After a few hours of deliberation and creativity, the name Piwik was born out of Matt's imagination. The name 'Piwik' does not have a particular meaning, but we are on a mission: "To create, as a community, the leading international open source web analytics platform, that gives users full control of their data."
  27. How do I pronounce Piwik?
    If you're wondering how to say 'Piwik', you can find out by clicking play.
  28. Who is the team behind Piwik?
    Piwik is a Free/Libre collaborative effort with many people contributing to the project to make Piwik what it is today. Visit the Piwik Team page to view profiles. You can also be part of the Piwik project! We need help to build the best open source web analytics software, and there are many ways to help whether you are a Piwik user, a developer, a marketing fan, a blogger, or if your native language is not English and you want to translate the software. Check out the How to Contribute? page.
  29. Where do I find Video Tutorials teaching how to use Piwik?
    The Piwik community has worked on a few short Videos that aim to explain how to install, configure, and how to use Piwik advanced web analysis tools. Check out the following videos:

Εγκατάσταση

  1. How do I install Piwik?
    Please see the installation guide for full instructions on how to install Piwik. You can access a pre-installed fast Piwik in one click for a small fee at Best Piwik Hosts
  2. What are the requirements for installing Piwik?
    Please see the Piwik Requirements for further information.
  3. Is there a Video that explains how to Install Piwik?
    To learn all about what it takes to install Piwik on your web server, please check out this video: How to Install Piwik Analytics [Video] . Once Piwik is setup, check out the following video to learn about configuring Piwik settings to customize your web analytics platform: How to Setup Piwik Analytics [Video] .
  4. Can I use a database other than MySQL, like Postgresql, SQLite, Oracle?
    Piwik only works on Mysql, where all the development and testing is done. Supporting multiple databases is trickier than it sounds and requires much more testing, coding... therefore human resources, which are very limited. However we would welcome any patches in this area, if external developers decide to add this functionnality in Piwik. As a start, please see the Using Alternative Databases brainstorm on the wordpress wiki for more information. Also, there is a beta non official posgresql port built by a community member, more information about Postgresql Piwik on this ticket.
  5. Do I need to create a MySQL database?
    Piwik requires access to a MySQL database to store your web analytics data. During the installation process you can specify an existing MySQL database for Piwik to use. If a database cannot be found, Piwik will create one for you.
  6. How do I find out which version of PHP I have?
    To get information about your server, you can use the phpinfo() function. This will also give you more information about your Apache and PHP configuration.
  7. My Web host supports PHP4 by default. How can I enable PHP5?
    Serious web hosting companies will provide the ability to enable PHP5, either via a config setting in your web host administration panel, or via a .htaccess. If you do not have a server with PHP5 and your web host doesn't support PHP5, we have partnered with high quality web hosts who provide a pre-loaded Piwik for a small fee. See the Piwik Hosting page. If your web host supports PHP4 but hasn't enabled PHP5, it might be possible to enable it manually. Here are the most common ways to enable PHP5; create a .htaccess file in your piwik folder containing
    • version A: AddHandler php5-cgi .php
    • or version B: SetEnv PHP_VER 5
    • or version C: AddType x-mapp-php5 .php AddHandler x-mapp-php5 .php
  8. Do I need to use PHP on my websites to use Piwik?
    You will need a server with PHP to run Piwik. However, the tracking code is a simple JavaScript tag, which can be added to any webpage written in Python, Jsp, ASP, .NET, etc. For example, the same instance of Piwik can track data from a PHP website, a simple HTML website and a complex JSP application, simply by copy and pasting the JavaScript tag into the desired pages. If you do not have a server with PHP enabled, we have partnered with high quality web hosts who provide a pre-loaded Piwik for a small fee. See the Piwik Hosting page.
  9. Is Piwik compatible with Nginx?
    Piwik works very well on the webserver Nginx indeed! To get started, check out the contributed nginx server configuration which aims to be fast, secure and flexible. Some features included in this configuration are: Referer and User Agent filtering (disabled by default), using php-cgi, php-fpm or proxying to Apache with mod_php.
  10. Is Piwik available as one click installation in cPanel, Softaculous, SimpleScripts, Webmin or other tools?
    Softaculous and Simplescripts both support Piwik latest versions via their useful One click install services. See Piwik on Softaculous and Piwik on Simplescripts for more details.
  11. Is Piwik compatible with Windows, IIS or Apache, or Microsoft Web Platform Installer?
    Piwik is supported by Windows using IIS or Apache, and also supported on Linux and Mac. There is also a one click installation of Piwik under Windows when using the Windows Platform Installer, see the Web App Gallery blog post for more details.
  12. How do I configure Piwik when the server is installed behind a proxy?
    If you install Piwik, connecting through a reverse proxy (https-to-http), the following line should be automatically added to your config/config.ini.php file during the Piwik installation:[General] assume_secure_protocol = 1 If you install Piwik from behind the reverse proxy (where Piwik can't detect https will be used), you should set the above manually. Also, depending on your proxy server, the Visitor IP is set in a different HTTP Header which should also be automatically detected on install and added to your config/config.ini.php: [General] ; CloudFlare proxy ; proxy_client_headers[] = HTTP_CF_CONNECTING_IP ; ISP proxy (Client-IP) ;proxy_client_headers[] = HTTP_CLIENT_IP ; standard proxy ;proxy_client_headers[] = HTTP_X_FORWARDED_FOR ;proxy_host_headers[] = HTTP_X_FORWARDED_FOR If Piwik was unable to detect your proxy configuration, please add these lines manually in your Piwik config file. If your server is configured behind an outgoing proxy, check out this FAQ: outgoing Proxy easy setup in Piwik. You might also be interested in How do I force Piwik login to use SSL (https)?.
  13. How do I specify to use Mysql on a custom port or to connect Mysql over a socket?
    In the Piwik installation at the Database setup step, the host can be specified as: * hostname * IPaddress You can specify a custom port number to connect Mysql (instead of default 3306): * host name:port * ipaddr:port You can also specify to connect through a socket: * /sock/path # anything before the slash is ignored * localhost. # localhost has a special meaning in php 5.3+; with mysqlnd, it means use the default sock path
  14. How can I reinstall Piwik? Can I keep the existing data?
    To force a new installation of Piwik, you can simply delete the configuration file in config/config.ini.php. When you visit Piwik, it will trigger the Piwik installation process. If you install Piwik specifying an existing database containing Piwik data, the installation process will automatically detect that the Piwik tables already exist. You will be able to choose to either keep your existing data, or delete the tables and start from a clean database.
  15. I want to migrate Piwik and move it to a new domain or a new subdomain URL, with the same MySQL server. How should I proceed?
    To move Piwik to a new domain or subdomain,
    • move all your Piwik files to the new directory, on your new domain or subdomain.
    • open the new Piwik URL in your browser, and check that Piwik works as expected
    • since the Piwik domain name has changed, you also need to change the Piwik javascript tags on all your tracked pages. For example, if Piwik was installed in piwik.example.org and is now installed in piwik.example-different.com or example.org/piwik, you need to update the tags on all your websites' pages.
    • If you use the auto archiving cron, you might have to update or setup the script path in your cron file
    If you want to reinstall Piwik please see How can I reinstall Piwik? Can I keep the existing data?
  16. How can I move Piwik from one server to another, also migrating the data from one mysql server to another?
    If you want to keep the data in your Piwik, but move the php files to another server and the data to another mysql server, you will need to:
    • Export your mysql database in a file; you can use tools such as phpmyadmin to do this. Note that you do not need to backup the piwik_archive_* tables, as they would be automatically re-created and processed from the other piwik tables.
    • Import the backed up database in your new server; you can use phpmyadmin to import the file that you previously created. This should create more than a dozen Piwik tables in your database.
    • Install Piwik in your new server; it is very important that you install the exact same version as the one you are currently using. During the installation process, you will be asked to provide the mysql server, login, password and table prefix. It is very important that you specify the same table prefix (by default, "piwik_"). Piwik will detect that the tables are present in the database and all your existing websites and reports will be automatically detected. It will only work if you re-install the exact same version - see Which version of Piwik I use?, and download the right version from the builds.piwik.org server
    • If the Piwik domain name has changed, you also need to change the Piwik javascript tags on all your tracked pages. For example, if Piwik was installed in piwik.example.org and you now installed it in piwik.example-different.com or example.org/piwik, you need to update the tags on all your websites' pages.
    • If you use the auto archiving cron, you will have to setup the cron script on the new server
    Note that during the operation, visits will not be tracked.
  17. How do I use the database to store session files, instead of storing sessions in files?
    By default, Piwik uses files to store session data. These files are located in the tmp/sessions folder under your Piwik directory. Where file-based session storage may be insecure (e.g., in some shared hosting environments) or where you have to share session data between servers (e.g., load balanced web servers), you can instead use the database to store session data. In config/config.ini.php, under the [General] section (add this section if it doesn't already exist): session_save_handler = dbtable Caveat: if you have many concurrent dashboard users, you may need to increase the max number of client connections to the database server.
  18. How do I uninstall Piwik?
    To uninstall Piwik, follow the following steps:
    • Remove the Piwik Tracking code from all websites previously tracked with Piwik
    • Delete all Piwik files in the piwik/ folder. In some configurations, the piwik/ folder cannot be deleted using FTP. If you can't delete the piwik/ folder in your FTP, download the script uninstall-delete-piwik-directory.php, upload it to your server above the piwik/ folder, and execute it in your browser. It will delete the piwik/ folder.
    • Using a Mysql client such as phpMyAdmin or cPanel, delete the Database storing all Piwik tables
    Piwik will then be successfully uninstalled.
  19. How do I backup Piwik data and files?
    To backup Piwik: 1) Regularly backup the Mysql database containing Piwik tables (eg. using an existing Mysql backup script) 2) Regularly backup the file piwik/config/config.ini.php
    To restore a Piwik backup: 1) Import the Mysql backup data in a new Mysql database you have created 2) Download the latest version of Piwik, unzip and upload 3) Copy the file config.ini.php from the backup into your new piwik setup. You might have to edit the database connection settings in the file if they have changed. 4) Visit Piwik and check that everything is working correctly!
  20. How do I enable unicode characters (Japanese, Chinese, Russian, Hebrew, Arabic, etc.) in graphs in PDF/HTML reports and Piwik Mobile graphs?
    Static image graphs in the PDF/HTML reports and Piwik Mobile app will display standard non unicode characters by default. However if you use Piwik in languages using unicode characters (Hebrew, Arabic, Japanese, Chinese, etc.), please follow the steps below: 1) download the font unifont.ttf 2) unzip the archive on your computer 3) upload the file unifont.ttf in piwik/plugins/ImageGraph/fonts/unifont.ttf Graphs in the Mobile app and Scheduled reports should now display all characters properly. Note: the unifont.ttf will only be used for a set of languages (Japanese, Chinese, etc.). If you wish to use the font for all languages, upload the file unifont.ttf to: piwik/plugins/ImageGraph/fonts/tahoma.ttf overwriting the existing tahoma.ttf

Ενημέρωση

  1. What version of Piwik do I have?
    There are two ways to know which version of Piwik you are using:
    • The About Piwik X.Y box:
    • File core/Version.php: you can download from your FTP server the file piwik/core/Version.php - inside this file will be the version number you are currently using.
  2. What should I do when I want to update Piwik to the latest version?
    Updating Piwik is easy and we hope you will always use the latest version of Piwik! It is possible to update from any old version to the latest one. Please see the Update guide for further instructions.
  3. How do I backup my MySQL database?
  4. How do I restore my MySQL database?
  5. How do I enable Maintenance mode (to display a maintenance message in Piwik, and disable tracking) prior to updates?
    You can set a setting in your config/config.ini.php file as explained in this FAQ.
  6. What should I do when the upgrade failed with "Syntax error or access violation: 1142 INDEX command denied to user"
    Ask your sysadmin to GRANT your database user INDEX privilege. This is required to CREATE, DROP, and ALTER indexes, and allow Piwik to update successfully.
  7. After the update, I get sql errors, I would like to try the update again. How do I force Piwik to re-upgrade the database from a past version?
    It happens in rare cases that Piwik believes it has upgraded to a new version (when using the latest PHP/JS files), but that the database itself was not upgraded. This FAQ explains how to re-run the database upgrade from a particular version. For example, this could happen if the database crashed or overloaded during the DB upgrade (we recommend to enable maintenance and run the ugprade in the command line). It could also happen if the new Piwik files in core/Updates/ haven't yet been uploaded to the latest files, but a Piwik user visits the Piwik UI and issues the partial upgrade leading to the errors. As a result SQL error messages are often printed in some - or all - the reports. Errors messages such as Error trying to execute the query 'CREATE TABLE [...] Base table or view already exists: 1050 Table exists or SQLSTATE[42S22]: Column not found: 1054 Unknown column on clause or SQLSTATE[42000]: Syntax error or access violation: 1091 Can't DROP X check that column/key exist or Error trying to execute the query 'ALTER TABLE' SQLSTATE[42S22]: Column not found: 1054 Unknown column The good news is that it possible in all cases to resolve the issue and not experience any data loss or other problem! You can manually tell Piwik to run the upgrade again from the version you last good version, by running the following SQL query (eg. using a tool such as phpMyAdmin): UPDATE `piwik_option` SET option_value = "1.X" WHERE option_name = "version_core"; Replace 1.X with the version you were using prior to upgrading, for example "1.10". After running this query, visit Piwik: you should see the upgrade screen again. You can run the upgrade in the command line if your Piwik is large, or simply click the button and wait until completion. If you still have problems, you can get help in the forums or contact Professional Services for paid support by us.
  8. I would like to test early beta and RC releases, how do I enable automatic updates to use these development versions?
    In your config/config.ini.php add the following code: [Debug] allow_upgrades_to_beta=1

Πως να

  1. How do I make Piwik faster?
    By default, Piwik reports are processed when you request them in the User Interface. Please see How to setup auto archiving of your reports every night? to automate the generation of Piwik reports. See also How long does the Piwik archiving process? for expected speed for high traffic websites.
  2. How do I import Google Analytics data in Piwik?
    It is possible to migrate your Google Analytics data in Piwik and access your historical reports. Check out this blog post about google2piwik.
  3. How do I White Label Piwik, to change the Logo, the Colors, add custom widgets, etc.
    We offer solutions for users who wish to customize Piwik. We have helped many companies re-brand Piwik for their internal use. We have also helped large agencies use Piwik for their hundreds of clients, and ensuring a clean branding and interface for all of their users and clients. Please contact us for more information about customizing Piwik, and White Label solutions.
  4. How do I exclude traffic from an IP or a range of IP addresses?
    To exclude all traffic from a given IP or IP range, log in Piwik as the Super User. Click on Settings > Websites. Below the list of websites, you will find the option to specify "Global list of Excluded IPs". You can define a given IP address, or IP ranges (132.4.3.* or 143.2.*.* for example) to be excluded from being tracked on all websites. Each Piwik admin user can also specify the list of IPs or IP ranges to exclude for specific websites.
  5. How do I exclude URL query parameters from the URLs tracked, and from Pages reports?
    It is commong that websites use URLs query parameters or session ID parameters that are not relevant to data analysis (unique ID, meaningless parameter). You can easily ignore a number of parameters from the URLs, and prevent them from appearing in the "Actions > Pages" report. Login as the Super User, go to Settings > Manage Websites > Global list of Query URL parameters to exclude field. Each Piwik admin user can also exclude query parameters for specific websites, by entering them in the Excluded Parameters list for this website, in Settings > Websites.
  6. How do I set the time zone for my reports?
    Piwik internally stores all times in UTC, which is a Software Engineering best practise. However Piwik lets you specify the time zone to use for each website in the Websites admin panel. Click on Settings > Websites > Edit. Note: changing the website's timezone will only affect Reports going forward.
  7. How do I specify the currency used in the Goals revenue reports?
    By default, Piwik reports revenues in $ US dollars. Piwik Super User can specify the currency to use for the Goals reports, for each website, in the Websites admin panel.
  8. How do I specify which websites to load by default in Piwik?
    Each user can specify which websites should be loaded in Piwik. Alternatively, users can choose to load the "All websites" dashboard, which gives an overview of the status and evolution of all websites available to the user.
  9. How to specify the date used by default in Piwik reports?
    By default, Piwik will load reports for "yesterday". Each Piwik user can specify, in their "User settings" admin panel, the date to load by default in Piwik reports: "Today", "Current week", "Current month", or "Last 7 days", "Last 30 days", "Yesterday", etc.
  10. How do I control the categories tree structure in the Page URLs and Page titles reports?
    By default, Piwik will report your Page URLs and Page titles in 'categories', automatically constructed based on the slash character / as a delimiter. For example, a Page with a URL "http://example.org/about/contact" will be reported under the category "about" in the Page URLs report. When you click on it it will open the pages inside this category, and show the stats for the subpage "contact". This feature is very useful because it helps visualize which sections of your website have the most traffic, rather than having all your page URL at the same level. This grouping feature is also very useful with Page Titles. You can use it for tracking custom flash events ("game / clickStart", "game / registerNewUser"), video events ("videos/ bestOf2011 / start", "videos/ bestOf2011 / pause"), simply organize your pages into a easier to analyse structure, etc. In the Piwik Javascript tracking code, you can specify custom page titles by calling piwikTracker.setDocumentTitle() (Learn more about the JS Tracking API). For example, to track a custom page view when a user clicked on a button in your web app, you could write piwikTracker.setDocumentTitle("ajax/click view button"); piwikTracker.trackPageView(); You can also customize the delimiter to use for splitting your page URLs and Page titles into categories (or disable the feature by setting the delimiter to a character not in use in your Page titles). Edit your config/config.ini.php file, and set the following: [General] action_title_category_delimiter = :: You can then define your custom page names as follows: piwikTracker.setDocumentTitle("Products :: Gardening :: Seeds id=123"); and your pages and categories will be grouped according to the :: delimiter.
  11. After the top 500 or top 1000 rows, Piwik automatically groups pages, keywords, websites, etc. under the label "Others"; How can I force Piwik to not limit the data?
    For performance reasons, Piwik will by default only archive the first top 500 pages, top 1000 keywords, top 1000 websites, Custom Variables, etc. Piwik will then sum all the remaining pages, keywords, etc. under the label "Others". If you wish to archive all the data, or simply archive more than the current rows limit, you can override these values in the configuration file config/config.ini.php. For example, to limit all table to 5000 entries, add the following in config/config.ini.php: [General] ; maximum number of rows for any of the Referers tables (keywords, search engines, campaigns, etc.), and Custom variables names datatable_archiving_maximum_rows_referers = 5000 ; maximum number of rows for any of the Referers subtable (search engines by keyword, keyword by campaign, etc.), and Custom variables values datatable_archiving_maximum_rows_subtable_referers = 5000 ; maximum number of rows for any of the Actions tables (pages, downloads, outlinks) datatable_archiving_maximum_rows_actions = 5000 ; maximum number of rows for pages in categories (sub pages, when clicking on the + for a page category) datatable_archiving_maximum_rows_subtable_actions = 5000
  12. How do I force the reports to be re-processed from the logs?
    In some very rare cases, it might be useful to force Piwik to re-process the reports from the original logs. By default, reports will only be processed once (preferably with an automatic cronjob setup to run every hour) and then archived in the database. When you visit the Piwik UI for a previous day (or week, month, etc), all you see is pre-processed data read directly from these archive tables.
    Warning: to reprocessing reports for specific dates, you need access to the historical visitor Log Data. Make sure you are not usingthe feature 'Delete old logs' on your Piwik server. If you have deleted some of your old logs, Do Not Proceed! Some of your data could be lost forever.
    It is possible to force Piwik to re-process your reports in few different ways:
    • (Recommended) To reprocess reports for a specific day, or specific period, you can delete the two Mysql tables piwik_archive_* for the specific month containing the dates to re-process. To delete the tables, you can use a tool such as phpMyAdmin which is usually provided by your web host.
    • To reprocess archiving for all reports for all dates, delete all piwik_archive_* tables in the Piwik Mysql Database. The next time you visit the Piwik UI, it will automatically detect that the archives are missing, re-create the tables, and re-trigger the archiving.
    • You can also call the API to tell Piwik that old data was imported
    • Alternatively, you can edit your config/config.ini.php file, and set [Debug] always_archive_data_day=1 to force archiving of the daily reports, and/or [Debug] always_archive_data_period=1 to force archiving for all period reports (week, month, year). If you then visit the Piwik UI for a given date, reports will be re-processed. When you are done, do not forget to set these values back to 0 [Debug] always_archive_data_day=0 always_archive_data_period=0
  13. How do I force Piwik to use SSL (https) for improved security?
    Configuring Piwik so that all requests are made over SSL (https://) is an easy way to improve security and keep your data safer. To ensure that logins, passwords and the token_auth are not sent in the clear, you can manually set a config file setting.
    • First of all, make sure that your Piwik server is configured so that requests to https://yourserver.com/piwik/index.php work as expected. We also recommend you use a valid SSL certificate.
    • In your config/config.ini.php file, add the following under the [General] section: [General] force_ssl=1
    Piwik will then automatically redirect all http:// requests to route to the https:// equivalent. Learn more tips about how to secure Piwik.
  14. How to track error pages (404 pages) in Piwik? Which URLs are 404 and which referers lead to these pages?
    Pages regularly appear and disappear on websites, other websites might link to wrong URLs on your website, etc. You can track with Piwik which URLs are leading to a 404, and which referer pages link to 404 on your website.
    • Setup a custom 404 page: you can easily do this if you use a CMS (for example, in wordpress, all 404 pages are loading a custom 404 template). If you don't use a CMS, you can usually specify a 404 custom page in your webserver configuration file.
    • Add the Piwik tracking code in this custom 404 page. In the Javascript tracking code, add the following: _paq.push(['setDocumentTitle', '404/URL = '+String(document.location.pathname+document.location.search).replace(/\//g,"%2f") + '/From = ' + String(document.referrer).replace(/\//g,"%2f")]); before the line _paq.push(['trackPageView']);
    • In your Piwik report, in Actions > Pages Titles, you will now have a new entry for the 404 pages. It will also list the full URL of the 404 pages, as well as all referers leading to this page. Enjoy!
  15. How do I track visits on my intranet?
    Piwik can track visits on your intranet website as long as Piwik itself is hosted in your intranet. To make sure that all unique visitors are tracked correctly in your intranet, please edit your config/config.ini.php and add the following: [Tracker] trust_visitors_cookies = 1 This will ensure that even if all visitors have the same IP, browser configuration, OS, etc. they will be counted as unique visitors based on the first party cookies. If not set, you will see a lower number of visits.
  16. How do I automatically login my users in Piwik when they go from my CMS to Piwik?
    Some Piwik users automatically provide their CMS customers with Piwik statistics. If you want to provide a one-click automatic login to Piwik for your users, you can use the 'logme' mechanism, and pass their login & the md5 string of their password in the URL parameters: /pathpiwik/index.php?module=Login&action=logme&login=your_login&password=your_MD5_password This will log the user (create a cookie in their browser) and redirect to the index.php on succesful login. We advise to do this authentication over HTTPS. Note that this authentication method doesn't work for the Super User. You can also specify the URL to redirect after a successful login, if different from the default Piwik dashboard page: /pathpiwik/index.php?module=Login&action=logme&login=your_login&password=your_MD5_pwd&url=http://piwik.mycompany.com/subpath/ You can also specify an idSite (website ID) to load by default after the redirect: /pathpiwik/index.php?module=Login&action=logme&login=your_login&password=your_MD5_pwd&idSite=145
  17. How do I enable users to login into Piwik inside an iframe?
    By default, the Piwik login screen will not load in iframe, as a security measure to prevent clickjacking. You can manually enable Piwik login screen to work from inside an iframe by adding the following config file setting in your config/config.ini.php: [General] enable_framed_pages = 1 Instead of loading the login screen in an iframe, you might want to use the logme() method to automatically log your users in Piwik remotely.
  18. How do I specify the URL that users should be redirected to, when they logout of Piwik?
    By default when user logs out he is redirected to the Login form. In your config/config.ini.php you can add under the [General] category the option:
    login_logout_url="http://example.org/page"
    When the user logs out, he will be redirected to this URL instead.
  19. How do I delete all statistics for a given website, or for all websites?
    It is possible to keep all the websites information (names, defined goals, etc.) and only delete the stored analytics data. There is currently no tool available to delete all data automatically, but you can manually delete all data for a specific website in Mysql. Connect to your Mysql database storing your Piwik data with your favorite client (for example phpMyadmin) and do the following:
    • Remove completely the tables with a name starting with piwik_archive_* DROP TABLE piwik_archive_numeric_2011_01, piwik_archive_numeric_XX; They will automatically be re-created from the Visitor logs when Piwik processes your reports.
    • Execute the following query: DELETE FROM piwik_log_visit WHERE idsite = X with X replaced by the website ID you wish to reset.
    The alternative solution is to use the Delete old reports and Delete old tracking data features, click to see the FAQ.
  20. How do I set some of my website directories or pages to not be tracked?
    If you wish to set some specific pages or directories to not be tracked by Piwik, we recommend that you modify the Piwik Javascript Tracking code, and replace _paq.push(['trackPageView']); by if (!window.location.pathname.match(/^/(admin|login)//)) { _paq.push(['trackPageView']); } In this example, all URLs except the ones containing "/admin/" or "/login/" will be tracked by Piwik.
  21. How do I get reports for a custom date range?
    Piwik reports on days, weeks, months and years, and you can also specify a Custom Date Range in the Calendar. Click on the calendar, then on "Date Range". Now select on the left calendar the starting date for the range, and in the right calendar the end date of the range. Piwik will process in real time the reports for the requested date range. In the Analytics API, you can also get reports for a custom date range. For example, to request any report for the range "Feb 15th - Feb 25th", you would use the parameters: &period=range&date=2011-02-15,2011-02-25
  22. How do I search within reports?
    Most data table reports have a small search bar below the report. Here you can type data and press Enter key to search for this string within the report displayed above. For example, in the "Keywords" report, you can search for "nature" and it would return all keywords matching "nature". You can also use Regular Expressions in the search field. For example, a search for "nature|life" would match all rows containing "nature" or "life". All search strings containing any of the special characters from this list: . \ + * ? [ ] $ ( ) { } = ! < > | must be escaped with a back slash, eg. if you want to search for keywords containing "love!" you would search for "love\!".
  23. How do I change the default email address "From:" in PDF reports emails?
    You can edit the default noreply@yourdomain.com email address that will appear in the PDF reports emails by editing the configuration file config/config.ini.php, and adding under the [General] section, the following line: noreply_email_address = "info@example.org" All reports by email will now be sent from "info@example.org"
  24. How do I send Piwik emails using Gmail SMTP server?
    You can configure Piwik to use GMAIL as the mailserver. To do so, login as Super User, go to Settings > General Settings, and configure the form as follows:
    • Use SMTP server for e-mail: YES
    • SMTP server address: smtp.gmail.com
    • Authentication method for SMTP: Login
    • SMTP username: your gmail username
    • SMTP password: your gmail password
    • SMTP encryption: SSL
    All Piwik emails (Scheduled PDF Reports, Password reset confirmation, etc.) will now be sent using Gmail servers.
  25. On a Windows server using IIS, the pages "Default.aspx" and "default.aspx" are tracked as different pages, but they are the same. How do I force Piwik to record them as the same page?
    In your Piwik Javascript Tracking tag, add the following line: _paq.push(['setCustomUrl', location.href.toLowerCase()]); just before the line: _paq.push(['trackPageView']); All your pages will now be tracked as lowercase, eg. "Default.aspx" or "DEFAULT.aspx" will be tracked as "default.aspx".
  26. How do I track my RSS/Atom feed subscribers?

    Until Oct 2012, Piwik was relying on Feedburner and the 'Awareness API' to provide RSS. It used to provide the following information:

    • Reach: Reach is the total number of people who have taken action — viewed or clicked — on the content in your feed.
    • Circulation: Circulation is an approximate measure of the number of users who requested your feed. This is the "Readership count".
    • Hits: Hits are a raw measure of request traffic for your feed. This metric includes automated bots requests, visitors viewing the feed but not subscribing, etc.

    Unfortunately, Feedburner now owned by Google decided to shut down permanently their API. We are now considering doing Feed Analytics using Piwik. We are looking for supporters & funding to build a simple script that will track RSS & atom feeds usage! If you would like to help fund this feature, please get in touch with the core team or post a comment on this ticket.

  27. How do I momentarily disable Piwik User Interface and/or Piwik visitor Tracking?
    Before a Database upgrade on a high traffic Piwik server, it is highly recommended to:
    • disable Piwik Tracking: in the config/config.ini.php, add the following [Tracker] record_statistics = 0 This will cause all Piwik Tracking requests to return quickly the 1*1 gif beacon, without connecting to the Database or doing any processing.
    • disable the Piwik User Interface: you can also disable the User Interface, which will display a maintenance message instead of the standard Piwik UI. If you run the Piwik Database Upgrade script using the shell/console command, we highly recommend to turn Piwik off while the upgrade is in process. Disabling the Piwik User Interface will prevent other users from accessing Piwik while the Database upgrade is in process.
      To do so, add the following in the config file:[General] maintenance_mode = 1 When maintenance_mode is on, the API is also disabled. For example, the XML message returned is:
      <?xml version="1.0" encoding="utf-8" ?>
      <result><error message="Piwik is in scheduled maintenance. Please come back later." /></result>
      
    When the Piwik update is finished, do not forget to re-enable Visit Tracking and/or the User Interface.
  28. How do I enable "Unique Visitors" metric for Yearly reports and for Custom Date Ranges?
    By default Piwik will not process the number of Unique Visitors for Years and Custom Date Ranges (for performance reasons). The query to process the number of unique visitors is quite costly and takes seconds or even minutes to run on a High traffic Piwik server. You can decide to enable or disable the unique visitors metric for specific periods by adding the following in your config/config.ini.php [General] enable_processing_unique_visitors_day = 1 enable_processing_unique_visitors_week = 1 enable_processing_unique_visitors_month = 1 enable_processing_unique_visitors_year = 0 enable_processing_unique_visitors_range = 0 By default, unique visitors are processed for days, weeks and months (they are set to 1). You can for example enable yearly unique visitors by setting enable_processing_unique_visitors_year = 1 Note: processing the Unique Visitors metrics is using the Piwik logs. This requires that the feature "Delete old logs" is not used on your Piwik server.
  29. How do I setup Piwik to track multiple websites without revealing the Piwik server URL footprint which appears in the Javascript code in all websites?
    By default, the Piwik Javascript code on all tracked websites contains the Piwik server URL. This is fine for most users, but someone (eg. a competitor) could run a script that would look at thousands or millions of websites and search for your Piwik server URL in the source code of these websites. This person could then find out all websites tracked in your Piwik instance. In some cases you might want to hide this Piwik URL completely while still tracking all websites in your Piwik instance. It is possible to do by modifying your Piwik Javascript code, and point it to a "proxy piwik.php script" instead of your Piwik server URL. This piwik.php script has to be uploaded on each of the websites tracked, and will automatically "forward" all requests to your secret Piwik server. Note: when you use this technique, the feature to exclude visits via the ignore cookie will not work.
  30. How do I enable third party tracking cookies, as well as the existing first party cookies?
    In some cases, it might be interesting to enable third party cookies, so that a same visitor will get the same ID across all your domains and subdomains. Piwik doesn't report cross sites visits at this stage, so you will benefit from using third party cookies only if you run manual queries against Piwik database. To enable 3rd party cookies, edit your config/config.ini.php and add the following lines: [Tracker] use_third_party_id_cookie = 1 When this is enabled, Piwik tracker will serve a third party cookie containing an id visitor (16 chars ID). This ID will be the same for this visitor across all websites, and is stored in the database field "idvisitor".
  31. How do I customize the Piwik Campaign parameters pk_campaign and pk_kwd?
    By default, tracking campaigns in Piwik involves adding the required parameter pk_campaign (and optional parameter pk_kwd) to the URLs pointing to your website. Piwik also supports Google Analytics campaign parameters (utm_*). It is also possible to customize these parameter names. For example, we would like to use the parameters names "campaign" (instead of pk_campaign) and "keyword" (instead of pk_kwd). To do so, there are two required steps:
    • 1) Customize the parameters in the Javascript. In the Javascript snippet on all your pages, add the following before the trackPageView() call:_paq.push(['setCampaignNameKey', 'campaign']); _paq.push(['setCampaignKeywordKey', 'keyword']); Note that these two functions also accept an array of strings, if you wanted to handle more than one parameter.
    • 2) Set the parameters in the config file. In your config/config.ini.php, add the following: [Tracker] campaign_var_name="campaign" campaign_keyword_var_name="keyword" Note that you can specify a comma separated list of campaign parameters, if for example, if you wanted to handle more than one parameter.
    Note: the Campaign parameters can be used in the query string or in the hash as well (for cleaner canonical URLs), such as: "landing.html#pk_campaign=my campaign"
  32. How do I configure outgoing (forward) proxy in Piwik (eg. squid)?
    It is possible to configure a forward outgoing proxy in Piwik, so that all outbound Internet connections (eg. to check for new versions of Piwik, for SEO plugin, Feedburner plugin, etc.) go through the proxy. Check the FAQ Configure Outgoing proxy for more details.
  33. How do I exclude / ignore my traffic from Piwik?
    There are 2 ways to tell Piwik to exclude and ignore your traffic:
    • Set the 'ignore cookie': Login in Piwik, click on Settings, and then click on the Ignore cookie link to set the cookie in your browser
    • If you use a static IP, or to ignore all traffic from a given IP or IP range, check this faq.
  34. I forgot my password or username, how do I reset my password?
    To reset your password in Piwik, go to Piwik: below the login screen you will find a link "Lost your password?". After clicking the link, enter your Piwik username or Email address, and a link to reset your password will be sent to your email address. Note: for security reasons, it is not possible to recover passwords, but only change them. We highly recommend to use a strong password and to enable automatic SSL for login screen in your Piwik server.
  35. How do I find the visitor IP Addresses?
    Piwik by default tracks the full IP address of all visitors to your site (you can anonymize this IP if you wish). To view your visitor IP addresses:
    • In the User Interface, click Visitors > Visitor Log. The Visitor Log will display a list of all the visits during the selected calendar period, and for each visitor will display the IP address in the left.
    • you can also fetch the visit IP addresses of a given visitor, or all visitors in a selected date range, using the Piwik Analytics Live! API.
    • the raw data is also available in the database, in the table piwik_log_*. See also this FAQ.
    Note: in both cases, the IP address will only be displayed if you are logged in Piwik: for privacy reasons, IPs are never displayed to the anonymous user.
  36. How do I select IP addresses or Visitor ID directly from the database?
    In the database, the IP addresses and Visitor IDs are stored in Binary form for storage efficiency. To display these values correctly you can use the following SQL query: SELECT inet_ntoa(conv(hex(location_ip), 16, 10)) as ip, conv(hex(idvisitor), 16, 10) as visitorId FROM piwik_log_visit;
  37. How do I record tracking data in the past, and tell Piwik to re-process the past reports?
    This question is aimed for users who use the REST Tracking API to manually insert visits and actions in Piwik. The parameter cdt lets you define the date and time of the page view. If you set this date to a date in the past (for example, 3 days ago) and that Piwik has already processed the statistics reports for this date, you will not see the newly added data in Piwik. To tell Piwik that past data was recorded after-the-fact and force the archiving to happen again for this date, you can use the API function: CoreAdminHome.invalidateArchivedReports. For example if you imported data in the past for a few specific websites on a couple different dates you could write:
    ?module=API&method=CoreAdminHome.invalidateArchivedReports&idSites=1,3,5&dates=2012-01-01,2011-10-15&token_auth=xyz
    The next time auto archiving will run will automatically re-process the data for these particular dates.
  38. How do I create new visit on demand, so that several users using the same computer or browser are counted separately?
    Piwik tries to guess visitors and unique visitors using several elaborate techniques (first party UUID cookie, heuristics matching user settings, etc.). If several people use the same system or browser, Piwik might count them all at one visitor. Sometimes, a system makes it easy to know when this is the same person or not. For example some system ask users to login every time, so we know when a new user connects. If you are in the use case of multiple people using the same computer or website or app, then you could improve your unique visitor detection by trigger a new visit to Piwik every time the user logs in the system. To create a new visit you can use the &new_visit=1 parameter in the Tracking API (see Reference docs). If you are using the Javascript tracker, you are also able to create new visits on demand. First, enable this feature in your config.ini.php file, by adding the following: [Tracker] new_visit_api_requires_admin=0 Then in your website, in Javascript, whenever a user logs in the system (or whenever there is a need to create a new visit) you may write the following (before the trackPageView call): _paq.push(['appendToTrackingUrl', 'new_visit=1']); // (1) forces a new visit _paq.push(["deleteCookies"]); // (2) deletes existing tracking cookies to start the new visit // the two lines must be above the call to track* function _paq.push(["trackPageView"]); When the page loads, a new visit will be created in Piwik. Note: this code should only be displayed once after the user logged in; if you leave this code in all the page views, it would create a new visit for each page view and make your Piwik reports much less useful.
  39. How do I get the GeoIP databases to improve accuracy of Country detection, and detect visitors' Cities and Regions?

    The GeoIP databases are sold by MaxMind. MaxMind sells different databases, each with different amounts and types of information.

    The country, region and city databases can be used to determine the location of an IP address with different amounts granularity:

    • The country database can only tell you the country of an IP address.
    • The region database can tell you the region and the country.
    • And, the city database can tell you the country, region, city, postal code, geographic coordinates (latitude/longitude) and area code of an IP address.

    The ISP and Organization databases can be used to determine the ISP and company of an IP address.

    You can find more information on the commercial databases here.

    MaxMind also provides two free databases that are less accurate than the commercial ones. One of the free databases can only be used to determine an IP address' country. The other, called GeoLite City, can be used to determine the same information as the commercial city database.

    Needless to say, we recommend using one of the city databases.

    You can download each of the free databases here.

    Keep in mind that geolocation data will eventually become out of date. It is recommended you update your databases at least once a month.* The free databases are updated once a month on the first Tuesday.

    * NOTE: We are currently working on an auto-updator for GeoIP databases. It will be in Piwik v1.9.1.

    Once you get the database you want to use copy it to Piwik's path/to/piwik/misc/ subdirectory. If you're using the GeoLite City database, make sure you rename it from GeoLiteCity.dat to GeoIPCity.dat. This will help you avoid some potential problems.

  40. How do I install the GeoIP Geo location PECL extension?

    If you're using Ubuntu or Debian run the following command:

    sudo apt-get install php5-geoip php5-dev libgeoip-dev

    If you have to build the extension by hand, first make sure you have the following installed:

    • PEAR/PECL (which includes the pecl executable)
    • The GeoIP C library with development files
    • Build tools (including GCC, make, etc.)
    • php development files

    Then run the following command:

    sudo pecl install geoip

    Finally, add the following to your php.ini file:

    extension=geoip.so

    Once the PECL extension is installed, you must configure it. Add the following to your php.ini file:

    geoip.custom_directory=/path/to/piwik/misc

    Replace /path/to/piwik with the path to your Piwik installation.

    And finally, if you are using the GeoLite City database there is one more thing you need to do. The PECL extension won't recognize the database if it's named GeoLiteCity.dat so make sure it is named GeoIPCity.dat.

    Restart the webserver and the GeoIP extension should now be loaded and working in Piwik > Settings > Geolocation.
  41. How do I install the GeoIP module for Apache for accurate Geo location data?

    Installing the module

    If you're using Ubuntu or Debian, run the following command:

    sudo apt-get install libapache2-mod-geoip
    

    If you're using a system that uses RPM, you can try the following command:

    sudo yum install mod_geoip
    

    If you can't do either of these, you may have to build the module by hand.

    Configuring the module

    Open the GeoIP configuration file for the module (it can be located at /etc/apache2/mods-enabled/geoip.conf) and add the following lines:

    GeoIPDBFile /path/to/database.dat
    GeoIPScanProxyHeaders On
    

    If you have multiple GeoIP databases (for example, a city one and an ISP one), you can add multiple GeoIPDBFile lines.

    Restart the webserver and the GeoIP extension should now be loaded and working in Piwik > Settings > Geolocation.
  42. How do I install the GeoIP module for Nginx?

    Installing the module

    First, check if your build of nginx is already using the GeoIP module. Run the following command:

    nginx -V

    If the output contains

    --with-http_geoip_module
    then you don't have to do anything to install it. You just have to configure nginx to use it.

    If it doesn't contain

    --with-http_geoip_module
    then you'll have to build nginx yourself, passing
    --with-http_geoip_module
    to
    ./configure
    . For more information on building nginx, see this.

    Configuring the module

    Open your server configuration file and add the following to the http section:

    geoip_country  /path/to/CountryGeoIP.dat
    geoip_city     /path/to/GeoIPOrLiteCity.dat;
    

    Replace

    /path/to/CountryGeoIP.dat
    with the path to your GeoIP country database and replace /path/to/GeoIPOrLiteCity.dat with the path to your GeoIP city database.

    IMPORTANT: For the nginx module, you must provide both a country database and city database. If you just provide a city database, Piwik will not see any country information.

    If you're using an Organization or ISP database, you can add it to the config with:

    geoip_org /path/to/GeoIPISPOrOrg.dat
    

    Unfortunately, you can only supply one database here for the nginx module, so if you have both the ISP and Organization database, you will have to pick one to use.

    Now make sure the following parameters are passed to fastcgi:

    fastcgi_param GEOIP_ADDR $remote_addr;
    fastcgi_param GEOIP_COUNTRY_CODE $geoip_country_code;
    fastcgi_param GEOIP_COUNTRY_NAME $geoip_country_name;
    

    If you're using a city database, add the following parameters:

    fastcgi_param GEOIP_REGION $geoip_region;
    fastcgi_param GEOIP_REGION_NAME $geoip_region_name;
    fastcgi_param GEOIP_CITY $geoip_city;
    fastcgi_param GEOIP_AREA_CODE $geoip_area_code;
    fastcgi_param GEOIP_LATITUDE $geoip_latitude;
    fastcgi_param GEOIP_LONGITUDE $geoip_longitude;
    fastcgi_param GEOIP_POSTAL_CODE $geoip_postal_code;
    

    If you're using an organization database, add the following parameters:

    fastcgi_param GEOIP_ORGANIZATION $geoip_org;
    

    That's all, folks. Enjoy!

  43. How do I apply accurate geolocation to old visits, after updating to Piwik 1.9?

    If you want to know the location of the visits your website received before you started using Piwik with GeoIP, we've prepared a script that will help you. This script will geolocate every one of your visits that have not been located. Since it goes through every visit in your database, it will take a very long time to run.

    The script is called geoipUpdateRows.php and is located in the misc/others subdirectory of your Piwik installation. You don't need to do anything special to run it, just cd into the directory and run:

    php ./geoipUpdateRows.php

    Things you should note:

    • This script only works with the GeoIP PECL extension or the GeoIP PHP API.
    • If you use the GeoIP PHP API it will take even longer to run, so we recommend using this script with the GeoIP PECL extension. You can see how to install the PECL extension here.
    After you run the script make sure you reprocess your reports so new reports w/ location data will be shown.
  44. How do I get company and ISP information using GeoIP databases?
    MaxMind's Organization and ISP databases can be used to get company/provider information for visitors. To use them, simply select & purchase the database you want and upload it to the misc Piwik directory. If you are using a GeoIP server module you may have to do more to get it to work w/ Piwik. The relevant instructions are here for Apache, and here for Nginx. If you are using the PECL extension and are using a custom directory for your GeoIP databases, upload the new database to this directory instead of Piwik's misc directory. Also, make sure Piwik's Provider plugin is deactivated otherwise the new GeoIP information will be overwritten.
  45. How do I make "Transitions" feature work faster on high traffic websites?
    Transitions is a very useful Piwik feature, which is also fundamentally different from most of the other Piwik reports. It does not use archiving to pre-process reports but instead it retrieves its information directly from the logs. This means that the Transitions report can take a few seconds to load on websites with more traffic, but on the other hand, Transitions does not require pre-processing and does not affect Archiving performance. In our tests, Transitions could handle periods with several 100.000 pageviews quite well. Once you get into the millions, it starts to test your patience. But in general, performance depends heavily on the power of your database server and other things like traffic patterns. Also, the first time you open Transitions on any page might be a fair bit slower than consecutive calls. This is because after the first time, the database caches are hot and the queries can be executed much faster. If you have lots of traffic, you shouldn't open Transitions on long periods of time. But that's not really a problem because the most important thing is to have enough data in order to get statistically representative results. If you achieve this mass with a single day, it should be fine if you only use it for yesterday (or today). Since the aggregation happens in the database, you can tune things by adding some indexes to the MySQL tables. You can create the following INDEX to speed up Transitions on page URLs:
    ALTER TABLE  `piwik_log_link_visit_action` ADD INDEX
    `transitions_url` (  `idaction_url` ,  `idsite` ,  `server_time` );
    ALTER TABLE  `piwik_log_link_visit_action` ADD INDEX
    `transitions_url_ref` (  `idaction_url_ref` ,  `idsite` ,  `server_time` );
    ALTER TABLE  `piwik_log_visit` ADD INDEX
    `transitions` (  `visit_entry_idaction_url` ,  `idsite` ,  `visit_last_action_time` );
    We have confirmed that these indexes drastically improve performance for pages that had a fairly low share of the overall traffic. They do add a little extra complexity when inserting new logs but speeding up Transitions also means having the queries it does out of system in a shorter amount of time, which in turn has a positive impact on tracking performance. You don't need all of these indexes. Instead, you can add them one by one until the performance of Transitions is satisfactory. If you are a power user and you tried this out, we would really appreciate to hear about your experience. Please get in touch with us.
  46. How do I see the pages that most visitors landed on? How do I access the top pages people use before leaving the websites?
    Piwik reports Pages URLs and Page Titles. You can see the Top Entry Pages by clicking on Actions > Entry pages. By default, it shows the top Entry Page URLs, but you can switch to the Entry Page Titles by clicking on the "Related report: Entry Page Titles" link below the report. Similarly you can access the top pages that people see before leaving the sites, click on Actions > Exit pages. It lists the "worst" Exit Pages URLs by default, but you can access the top exit page Titles by clicking on the Related reports link below the table.
  47. How do I tell Piwik to track Unique Visitors based on the Visitor ID cookie, instead of using IP Address?
    By default, Piwik will use the IP address to decide Unique Visitors. Sometimes, for example if you are using the Tracking API, you may prefer not to use the IP address to decide Unique Visitors, but instead you may set a Visitor ID manually. In this case, you can force Piwik to assign Visitors with the same IP but different Visitor ID to different unique Visitors. To do edit your config/config.ini.php and add below
    [Tracker]
    the following: [Tracker] trust_visitors_cookies = 1
  48. How do I enable tracking for visitors without Javascript?
    By Default, if you use the standard Javascript Tracking Tag, Piwik will only track visitors with Javascript Enabled in their web browser. You can however configure Piwik to also track users with Javascript disabled: to do so, edit the Piwik Tracking Tag <noscript> and change: <noscript><p><img src="http://piwik-server.com/piwik.php?idsite=1" style="border:0" alt="" /></p></noscript> Replace with the following: <noscript><p><img src="http://piwik-server.com/piwik.php?idsite=1&rec=1" style="border:0" alt="" /></p></noscript> After making this change and adding &rec=1, visitors with disabled Javascript will execute the noscript and will load the piwik.php image and will have their traffic recorded in Piwik. Note: bots will also be tracked with this technique. If you wish to track visitors, but not track bots, see this blog post for a solution.
  49. How do I take notes of particular events influencing my traffic?
    Often when using Piwik you may have findings from the data, insights, or maybe you just would like to note down the changes you have made on the website. In Piwik you can take notes on the graph and set any number of text messages. They're called Annotations (click to learn more).
  50. How do I get the Visitor Geo Location data from the Visitor IP?
    In Piwik we recommend to configure Geo Location so that your visitors are accurately tracked. Once it is setup, you can use the GeoIP database to get an IP to Country, or IP to City, or IP to Region information. We have added a simple API that you can re-use, called "UserCountry.getLocationFromIP". To use it, go to Piwik, click API, click on "UserCountry" then on the getLocationFromIp call. Here is a typical response from the API. You could use this API to for example add geo location functionnality to your Apps.

Πρόσθετα

  1. List of Piwik plugins
    By default Piwik comes with 20+ plugins which are officially maintained. The Piwik developer community is starting to build plugins not officially supported by the Piwik team, but you can give them a try and report any problems you might experience: Check out the list of Community submitted Piwik Plugins There are also Plugins to integrate Piwik with your website. Click on the image to learn more! You can also use the Adobe AIR application to load your Piwik reports onto your desktop
  2. How do I install a new plugin?
    A Piwik plugin is a ZIP file. Once you have downloaded the plugin, unzip it; it should create a directory ("YourPluginName"). Upload this directory under piwik/plugins and visit your Piwik admin interface to install the plugin. It's done! You can now enjoy your new plugin's features.
  3. How can I build a Piwik plugin?
    Please see the Piwik developer zone for more information, tutorials and examples.
  4. How do I report a bug in a plugin?
    Often Piwik plugins have their own trac ticket page. Please add a new comment on the plugin trac page to report any issue you might have with the plugin. If the plugin is not hosted on the Piwik trac, please contact the plugin author directly.

Γενικά

  1. Are Piwik reports in real time?
    By default, Piwik reports are in real time (learn more in the user documentation) when you are viewing reports for "today" or any date range that includes today. Piwik will look at all your logs for today in the database and process the reports every time that you request them. By default, reports for today are processed every 10 seconds. The Piwik Super User can change this value in the "General Settings" admin panel. For high traffic websites, we recommend processing the reports once every hour (3600 seconds), which is a "near real time" approach. Please read the Setup auto archiving page for more information. Piwik also provides a real time view of your visits on your site... right now! You can see all new page views, actions and new visits coming to your site, refreshing automatically. This feature is enabled by the Live! plugin which is enabled by default in the Piwik dashboard (check out the demo).
  2. How is a 'unique visitor' counted in Piwik?
    The unique visitor count is the number of visitors coming to your website; Unique visitors are determined using first party cookies. If the visitor does not accept the cookie (if they have disabled, blocked or deleted cookies), a simple rule of thumb is used to try to match the visitor to a previous visitor with the same features (IP, resolution, browser, plugins, OS, etc). Note that by default, unique visitors are available for days, weeks and months periods, but unique visits are not processed for the "year" period for performance reasons. Learn how to enable unique visitors for all date ranges.
  3. How is a 'visit' defined in Piwik?
    If a visitor comes to your website for the first time, or if he visits a page (or downloads a file) more than 30 minutes after his last page view, this will be recorded as a new visit. A Unique Visitor can make multiple Visits per day. In the first visit, the visitor is a New Visitor. From the second visit (the same day or later), a Unique Visitor is a Returning Visitor. You can change the 30 minutes value (session timeout) by overriding [Tracker] visit_standard_length = 1800 in your config/config.ini.php file.
  4. What is an 'Entry page'?
    Entry page is the first page of a visit. For each Entry Page URL, Piwik reports the number of Entrances (Visits that started on this page), Bounces (Visits that started on this page but left the website straight away) and Bounce rate.
  5. What is an 'Exit Page'?
    The Exit Page is the last page accessed during a visit. Piwik reports the top Exit Pages URLs, the number of Exits, Unique Pageviews and Exit Rate. Exit rate (sometimes called "Page Exit Ratio") is the number of Exits from a page divided by total number of Page views of that page.
  6. What is the 'super user' in Piwik?
    The super user is the only user who has the ability to create users, create websites and install plugins. There is only one super user per instance of Piwik. The super user is created during the installation process. The super user's login and password are stored in the Piwik configuration files in config/config.ini.php. All other users details are stored in the database. The super user has superpower!
  7. What is the 'admin' permission in Piwik?
    You can create users and assign them the 'admin' permission on a given set of websites. Users with the 'admin' permission can edit the website settings (Name, URLs, Timezone, etc.). They can also grant other users the 'view' or 'admin' permission on the website(s) the user has 'admin' permission. Users with 'admin' permission cannot add other websites and users, and they cannot manage plugins.
  8. What is the 'view' permission in Piwik?
    The Super User can create users and assign them the 'view' permission on a given set of websites. Users with the 'view' permission can view all reports in Piwik for the website(s) the user is set to 'view'. The user cannot add other users, websites, or handle manage plugins.
  9. What is the token_auth and where can I find this token to use in the API calls?
    The token_auth acts as your password and is used to authenticate in API requests. You can find the token_auth by logging in Piwik, then go the page "API" by clicking on the link in the top of the screen. The token_auth is secret and should be handled very carefully: do not share it with anyone. Each Piwik user has a different token_auth. When a user changes its password, the token_auth will be regenerated automatically.
  10. Can I install Piwik on one server and track visits on websites that are hosted on other servers?
    You can track as many websites as you like that are hosted on the same server as Piwik, or hosted on several external servers. Only the server that hosts Piwik needs to run PHP and MySQL. You can create new websites by going to the admin area when logged in as Super User, and get the javascript tracking code to install on the websites you wish to track. For example, consider the following use case: - You have a website built in Java hosted on server1 - You have a website built in Python hosted on server2 - You can install Piwik on server3, and track visits from the two other websites Note about https: Piwik automatically detect if the page being tracked is https (SSL) and would include the piwik.js in secure mode from your Piwik server.
  11. How long does the Piwik archiving process take for high traffic websites - or hundreds of websites?
    Every night, if you setup auto-archiving, Piwik will run through the logs and compile all your reports for each day, week, month and year. How long the process will take depends on your traffic, number of visits and pages, on the number of websites you have setup in Piwik... and of course on your server performance. For example, using version 1.3 on a single core duo2 server with 3GB of ram, Piwik archiving process takes about 2 hours for 400,000 pages per day (and more than 6,000 websites). We are constantly improving Piwik performance: making Piwik faster is a top priority. Stay tuned... or come and help us if you know how to design software to make it faster. Also, if you have a medium or high traffic website, we would be interested to hear your experience with Piwik archiving. How long does archiving take for your traffic, how many visitors/pages, how many websites, what type of server; Please post your numbers in the High traffic Piwik servers forum post, and let us know by email. See also the FAQ: Piwik web analytics for high traffic websites check list.
  12. Is the Piwik Javascript Tracking Code XHTML 1.0 compatible?
    Yes, Piwik Javascript Tracking code is valid XHTML 1.0 Strict. See an example on http://piwik.org/xhtml/.
  13. Why are there sometimes 0 visits, but some conversions recorded, for example for a Keyword, a Website or a Custom Variable?
    Imagine the following use case: 1) User comes to your website via the campaign "Emailing November", via a click on a link in an email tagged with Piwik (or Google Analytics) campaign parameters 2) He browses around and exits after 3 pages 3) He comes back the next day (on 2011-01-01), via a direct entry, and buys a product on your site (which you track as a Goal Conversion) In this case, if you select the date 2011-01-01 in Piwik, it will show that the Campaign "Emailing November" did not have any visit on this day (because the user entered the website directly), but the conversion is attributed to the Last known referrer that the visitor used (which is stored in the first party cookie). On 2010-12-31, there will be one visit from the campaign "Emailing November" but no conversion on this day. See also the FAQ: Piwik attributes conversions to the last seen referrer by default. How do I credit conversions to the first referrer instead?.
  14. Piwik attributes conversions to the last seen referrer by default. How do I credit conversions to the first referrer instead?
    When visitors convert a Goal, Piwik tries to attribute the conversion to the referrer that brought the visit to the site. Piwik by default, will credit the last non empty referrer that was used by the visitor before he reached the Goal. In some cases, several referrers can lead a visitor to the website on different visits (eg. Search engines, Newsletter link). You can tell Piwik to attribute the Goal conversion to the first referrer used instead of the last one, by editing your Piwik Javascript Tracking code and adding the line below, just before the call to trackPageView() _paq.push(['setConversionAttributionFirstReferrer', true]);
  15. A search engine is counted as a website referer. How can I add the search engine to Piwik?
    Search engines are defined in the file core/DataFiles/SearchEngines.php Each search engine is defined by a new line with the following format: "main-url.com" => array( "Search engine name", "keyword parameter", [optional path containing the keyword], [optional charset used by the search engine]) For example, for Yahoo! "search.yahoo.com" => array("Yahoo!", "p", "search?p={k}"), The macro {k} will be automatically replaced by the keyword to link to the search engine page for the keywords found in your Piwik reports. The main search engine URL has to be at the top of the list for the given search Engine. Note that some search engines can have several variable names to define the keyword, you can specify an array of names. For example, for the search engine Baidu.com, the keyword can be found in "wd", "word", or "kw", and the keywords are encoded in the charset "gb2312". The line for Baidu.com looks like: "www.baidu.com" => array("Baidu", array("wd","word","kw"), "s?wd={k}", "gb2312"), When adding a search engine, please also submit the search engine icon, for the directory plugins/Referers/images/ Please submit to the Piwik team the new search engine line in SearchEngines.php and the icon; we will add it for the next release!
  16. What is "page title not defined" in the Page titles report?
    Piwik provides two reports for your page views: Page Titles and Page URLs. A page title is the content of the HTML <title> tag. If your pages do not define this <title> Piwik will instead report "page title not defined" for the visits on those pages. We also highly recommend you use the latest version of the Javascript Tracking Tag in case you are still using the old Tracking tag.
  17. What is "page url not defined" in the Pages report?
    Piwik provides two reports for your page views: Page Titles and Page URLs. In some rare cases, a visitor's browser will not let the Piwik Tag request the current URL (generally for privacy reasons). If Piwik could not request the page URL from the browser, Piwik will instead report "page url not defined" for the visits on those pages. If all your pages report "Page url not defined" then there is a data tracking problem. Here are common reasons for this issue:
    • 1) check that the Javascript code in your pages is correct,
    • 2) check that there is no automatic HTTP redirection on the piwik.js and piwik.php requests (for example via an .htaccess). 301 Redirection from http:// to https:// will not decode/encode properly some parameters especially URL parameters that look like a URL. The reason of this issue is still unknown but probably due to a bug in the webserver. Ensuring there is no redirection in your Piwik tracking calls will also ensure better performance.
    • 3) If your pages are correctly tracked but you still don't see any URL being tracked, please investigate/debug the issue with Firebug or ask in the forums posting your site URL so we can help you.
  18. In the Providers report, what does "IP" mean?
    Piwik uses a special php function (gethostbyaddr) to request the hostname associated to a given IP. For example, the function would return "br76.comcast.net" and Piwik would categorize the visitor as using the provider "Comcast". Sometimes however, for specific IPs or when the function times out, Piwik doesn't know which provider the visitor is using, and will simply report "IP".
  19. What does "Keyword not defined" mean in the Referers > Search Engines keywords report?
    "Keyword not defined" means the search engine did not pass to your website the keyword used by your visitors -- Search engines hide the keyword for privacy reasons. It is common that most keywords are "Not defined" after Google changes made in early 2012.
    Some search engines (Google for all logged in users, DuckDuckGo, Firefox latest version now also removes keywords, etc.) may not specify the keyword used to reach your website. Piwik will report the keyword as "Keyword not defined". It means that Piwik has detected that the visitor came from a search engine, but the keyword was not provided in the Referrer URL. There is no way to access the keyword in this case, and no other web analytics tool can get this information either.
  20. Can I help translate Piwik into my native language, or improve the existing translation?
    Of course you can! We love having people help us make sure Piwik is available to as many people as possible in a language they understand. Please see Piwik Translations for more information.
  21. Does the Piwik Tracking tag work on https (SSL) pages?
    The Piwik tag detects the protocol of the page being tracked, and then automatically calls the normal http or secure https Piwik server. To track your https pages correctly, your server hosting Piwik should work when called from https. For example, https://url/to/piwik/piwik.php should return a blank page. If https://url/to/piwik/piwik.php returns an error, please contact your sysadmin to ask him to enable SSL on the Piwik server. Many Piwik users successfully use Piwik to report analytics of Ecommerce and SSL secure shops. On a related note, you can also force the Piwik login form to use secure SSL connections.
  22. Does Piwik support Google Analytics campaign parameters (utm_campaign, utm_medium, utm_source, utm_term)?
    Piwik detects URLs tagged with Google Analytics campaign parameters. Piwik offers two dimensions for Campaign tracking: name, and keyword. The campaign parameter (in this order: utm_campaign, or utm_medium, or utm_source) is used as the Campaign name. The parameter utm_term is used as the Campaign keyword. Learn more about Tracking Campaigns in Piwik or head over to the URL Builder. Note: you can use campaign parameters in the query string (landing?utm_campaign=PaidSearch), and Piwik also detects campaign and keyword in the hash tag string (landing.html?q=test#utm_campaign=PaidSearch)
  23. What is a Product SKU in the Ecommerce Analytics report?
    SKU stands for Stock-keeping unit. A Product SKU is the Product unique identifier in your Ecommerce shop: for example, SKU for books might be the IBAN identifier for this book. A given Product might change its name overtime, but the product's SKU should always be the same. With Ecommerce Analytics, you can track Product SKUs, Product Names and Product categories and get interesting reports about their performance in our online shop.
  24. When I enable "Purge old logs" in the Privacy settings, how do I make sure that no historical data is lost?
    If you enable 'Purge old visitors logs' in the Settings > Privacy menu, Piwik will regularly delete your Visitor Logs from the Database. The Logs are used by Piwik to process Reports such as "Top Keywords", "Top pages", etc. If some old logs are deleted from your database, but reports have not been yet processed, the data will be lost forever. We highly recommend that before deleting old visitor logs from your database, 1) you setup the automatic archive processing 2) and run the archive.php script until completion at least one time This will ensure that all daily reports for each website have been pre-processed and the logs are no longer needed for these days.
  25. How many Custom Variables can I set to visitors and/or page views?
    Piwik custom variables tracking provides a powerful & easy way to track custom values and variables about your visits (for example "Username", "Membership level") or page views (eg. "Category:Sport"). You can track up to 5 variables for each Visit on your website. On top of these 5 custom variables for each visit you can also track up to 5 custom variables for each page view. Learn more about Custom Variables Analytics.
  26. How can I become an official Piwik Consultant?

    We are always looking for more quality developers to join the Piwik fun! If you want to be listed on the Piwik Consulting page, you need to know about Piwik internals: please have a look at the developer documentation, the code and the coding standards that we use to review submitted code. To be an official Piwik Consultant, you need to either:

    We will then review your work and consider adding you in the official Piwik Consulting listing.

    For inspiration, please have a look at the Piwik roadmap ; the list contains lots of interesting problems to solve, in different fields: performance and scaling, User Interface, Web analytics reports, core mechanisms, Plugins related tasks, etc.

    If you need more information or if you want to become a Piwik consultant, please contact us at hello@piwik.org : we are looking forward to helping you!

  27. Privacy policy: How do I update my privacy policy to explain Piwik Analytics?
    When you use Piwik to track your visitors, we recommend to update your Privacy Policy to explain how Piwik is used and what data it gathers. We provide a Privacy Policy template for Piwik users that you can copy on your site. Note: If you do not already have a Privacy Policy on your page, but gather some information about your users, we highly recommend that you create the privacy policy.
  28. What are the cookies created by Piwik?
    To track visitors, Piwik by default uses 1st party cookies, set on the domain of your website. The cookies that Piwik create start with the following strings: _pk_ref, _pk_cvar, _pk_id, _pk_ses. Piwik by default does not use third party cookies but you can enable a third party "_pk_uid" cookie it if you wish. If you exclude yourself from being tracked using the cookie method, Piwik will create a cookie "piwik_ignore" set on the domain of your Piwik server (which might be a third party cookie if Piwik is setup on a different URL from the website being tracked). You can also Disable all first party cookies from being set -- for example privacy reasons.
  29. How do I disable all cookies for a visitor?
    In some countries, the law requests websites to provide a way for users to opt-out of all tracking, in particular tracking cookies. Piwik uses cookies to store some information about visitors between visits. See also: List of cookies used by Piwik. It is easy to disable tracking cookies by adding one line in the Piwik Javascript code. Edit your Piwik Javascript code as follows: [...] // Add this line before the trackPageView() call _paq.push(['disableCookies']); _paq.push(['trackPageView']); [...]
  30. When cookies are disabled by a visitor, how does it impact Piwik reports accuracy?
    There are various cases where cookies can be disabled: browser has cookies disabled, Piwik JS code contains call to disableCookies(), or if you are importing server logs in Piwik which do not contain cookie information. When cookies are disabled, some data in Piwik will be less accurate. Specifically...
    • Piwik uses cookies to store a unique visitor ID, used to recognize visitors from previous visits. When cookies are disabled, Piwik will still be able to determine unique visitors based on IP address and other footprints, but this will be slightly less accurate.
    • Ecommerce and Goal tracking attribution: By default, Piwik stores the website or keyword or campaign used to find the website in a cookie, so that we can credit this website when the visitor makes a conversion (Goal conversion or Ecommerce order). If the conversion happens in the same visit, Piwik will always credit the referrer (even if cookies are disabled). However imagine the following use case: the visitor uses a newsletter link tagged with a campaign, visits 5 pages on your website but does not buy. He then comes back 2 hours later directly typing your website URL (therefore a Direct Entry visit), then buys during this second visit. When cookies are enabled, Piwik credits the conversion to the initial Campaign. When cookies are disabled, the conversion is not attributed to the original newsletter link as this data is not available.
    • Reports such as "Days since last visit", "Visits by visit count", "Visits to Conversion", "Days to Conversion" will count all visits without cookie similarly to new visitors.

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

  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

Piwik και OpenX

  1. What is OpenX?
    OpenX is the company behind the free ad server for web publishers. The OpenX ad server makes it easy to include and manage the advertising on your website.

    Find out more about the OpenX ad server.

  2. What is the link between Piwik and OpenX?
    OpenX is the company that sponsored Matthieu to start building the open source software Piwik. Matthieu stayed employed at OpenX for more than a year, mostly developing Piwik and supporting the community.
  3. What does the OpenX ad server do?
    The OpenX ad server is a free open source ad server which you can download and install on your server of choice. You can use it to manage banners (self-made or provided by ad networks) of as many different types as you like, across as many websites as you like. It provides options for banner capping, user- and site-based targeting, time- or impression/click-limited campaigns, and the prioritization of campaigns. You can review the statistical performance of a specific banner, campaign, advertiser, publisher or zone, and re-prioritize your banners as needed. For more information, screenshots and a demo video, have a look at the Piwik blog post: If you need to serve ads on your website, check out OpenX Ad Server 2.8!

Piwik και phpMyVisites

  1. What is Piwik?
    Piwik is a next-generation open source web analytics software, created from the team behind phpMyVisites. Piwik is written in PHP5 using a MySQL database. Piwik aims to be an open source alternative to Google Analytics. You can have a look at Piwik online demo, download the latest version, or find more information on piwik.org.
  2. How is Piwik different to phpMyVisites?
    Piwik offers many new features which phpMyVisites lacked: 1 - Plugin architecture: easily add new features, remove the ones you don't need... or build your own plugins. 2 - A cleaner, faster User Interface that's simple to use and understand. 3 - An API that lets you access all your data. 4 - Better scalability, performance: Piwik is handling millions of pages better than phpMyVisites! 5 - A fast-growing community that's actively engaged with Piwik's development. 6 - and a lot more analytics goodness!! Also, Piwik offers all existing phpMyVisites functionnality from version 1.3 onwards. There is no good reason to not start using Piwik now!
  3. What is going to happen to phpMyVisites?
    Piwik is the successor to phpMyVisites and has been created by the same team. Supporting both projects is not scalable, so there will be no future development, bug fixing or new releases of the phpmyvisites project. The phpMyVisites website, documentation, downloads will always stay live but we strongly encourage users to start using Piwik as soon as possible (check out the online demo or the list of Analytics features).