Piwik PRO


A simple plugin to add the Piwik PRO container (with tracking code) to your WordPress site, making it easy to collect visitor data from any WordPress site and automatically track ecommerce in your WooCommerce store. You’ll also be able to manage consents and run tags after using this plugin.

What is Piwik PRO?

Piwik PRO is a privacy-first platform that offers the advanced analytics features while allowing for full control of data. It provides flexible reports and data collection in addition to consent management, tag management and a customer data platform.


Collect data across websites, apps, digital products and post-login areas. Customize how data is collected and analyze it with built-in audience, behavior, acquisition and conversion reports. Dive deeper with custom reports and access to raw data.

Tag Manager

Add flexible tags to your analytics stack without hiring an IT team to do it. Quickly create, test and deploy tags from templates or with custom code. Coordinate tag behavior with Analytics, Customer Data Platform and Consent Manager to fit any data collection approach.

Customer Data Platform

Build customer profiles, segment audiences and create insightful single customer views. Quickly populate the profiles using data collected with the help of Analytics and Tag Manager. Set up Consent Manager so data is only collected data when there is specific consent for it.

Consent Manager

Manage consents and data subject requests in the same platform where data is collected and processed. Categorize data from Analytics and Tag Manager so that the data collected always agrees with the consent received.


  • Settings page


From your WordPress Dashboard

  1. Go to Plugins > Add New.
  2. Search for Piwik PRO.
  3. Click Install now.
  4. Click Activate.

From WordPress.org

  1. Download Piwik PRO plugin.
  2. Upload the piwik-pro directory to your /wp-content/plugins/ directory using ftp, sftp, scp or other method.
  3. In your WordPress admin panel, go to Plugins.
  4. Look for the Piwik PRO plugin and click Activate.

Once Activated

  1. Go to Settings > Piwik PRO.
  2. Type in the Container address (URL).
  3. Type in your Site ID. Where to find it?
  4. Leave Basic container (async) checked. This container holds your tracking code and is used to handle most tags.
  5. Check Additional container (sync) if you want to add the container for sync tags.
  6. Optionally rename the Data layer.
  7. Click Save changes.


The plugin can be activated and used for just about any use case.

  • Activate at the site level to load the plugin on that site only.
  • Activate at the network level for full integration with all sites in your network.


Plugin is not working on my site

Make sure your WordPress theme has the wp_body_open() function right after the opening <body> tag, otherwise the container won’t work.

What’s the difference between the containers?

  • Basic container (async): This container holds your tracking code and is used to handle most tags.
  • Additional container (sync): Add this container if you want to use sync tags. It loads tags before the page content loads.

WooCommerce: Does this plugin automatically track ecommerce?

Yes, this plugin automatically tracks events like ecommerce orders and abandoned carts, which result in full ecommerce reporting in Piwik PRO. To see the collected data, just turn on ecommerce reports in:

Piwik PRO > Menu > Administration > Reports > Show ecommerce reports.

When should I rename the data layer?

Rename the data layer if you use other software with data layers. If the names are the same, the software can interfere with each other.
To check if your data layer name is not used by other software on your site, follow these steps:

  1. In the console on your site, run this command: !window.hasOwnProperty("customDataLayer"); replacing customDataLayer with your custom name.
  2. If this command returns true, then you can safely use your custom name.

How to support the Content Security Policy mechanism?

Content Security Policy restricts third-party tools from loading codes on the website and allows to fetch only approved origins of content. To support Content Security Policy mechanism, you need to add a nonce value as an attribute to containers and scripts that these containers load.

To add a nonce value add to a function.php file in yours theme the following code:

add_filter( 'piwik_pro_nonce', function() { return wp_create_nonce( time() ); } );

For more information, read our article about Content Security Policy.


noýabr 8, 2022
When I come across this GA4 alternative I thought I found what I need. After using and trying to implement their article and video guides I’m completely out. These guides are not accurate and therefore not actionable, and When I contact support via email I got a message to turn back to their unuseful guides. Also, there is a limit on actions per month so I don’t see it as a good option for the long run, especially where their Enterprise prices are high and there are multiple great other Analytics platforms. I give it 3 stars because of the potential it still has.
iýun 13, 2022
Plugin works but is not being developed. It displays a banner on home page that needs to be hidden by custom css as hide option is missing in the plugin settings. I have another plugin for displaying cookie information. This plugin has no Complianz integration. Internal scroll does not work in the info window. There is no option to customize the window. A redundant thing that only causes additional problems.
mart 8, 2022
What a delight compared to the convoluted Google Analytics that no client can understand! PiwikPro is simple but powerful, easy to use, has amazing tutorials and excellent support.
Read all 6 reviews

Contributors & Developers

“Piwik PRO” is open source software. The following people have contributed to this plugin.


“Piwik PRO” has been translated into 1 locale. Thank you to the translators for their contributions.

Translate “Piwik PRO” into your language.

Interested in development?

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



Release date: 18.06.2024

  • Add: Added deprecated notice for sync container.


Release date: 23.05.2024

  • Fix: Fixed SKU integer value issue by converting it to a string.


Release date: 27.03.2024

  • Fix: Fixed performance issue caused by inefficient class autoloader implementation.


Release date: 25.10.2023

  • Fix: Fixed wrong product categories array escaping.
  • Fix: Removed <noscript> tag from the async snippet.


Release date: 18.10.2023

  • Fix: Fixed PHP Deprecated: Creation of dynamic property slug is deprecated.


Release date: 26.09.2023

  • Add: Added a turn on/off switch to plugin’s settings of WooCommerce events.
  • Add: Added support for variants in the name and SKU fields.
  • Add: Added support for Piwik PRO’s enhanced ecommerce tracking for the WooCommerce plugin.
  • Fix: Removed deprecated Piwik PRO’s ecommerce tracking events for the WooCommerce plugin.
  • Fix: Prevented tracking of the same order more than once.
  • Fix: Fixed PHP Error: Call to a member function get_cart_contents() on null.


Release date: 06.02.2023

  • Fix: Fixed settings page.


Release date: 06.02.2023

  • Add: Added support for getTrackingSource() Piwik PRO’s event.
  • Add: Added support for trackEcommerceCartUpdate() and trackEcommerceOrder() Piwik PRO’s events for WooCommerce plugin.
  • Fix: Removed piwik_pro option in every site in multisite installation during uninstallation.


Release date: 06.10.2022

  • Test: Tested up to WordPress 6.0


Release date: 05.08.2021

  • Fix: Removed fallback to display async snippet in footer if wp_body_open() function is don’t implemented in the theme.
  • Add: Added piwik_pro_nonce filter to enable passing nonce variable to scripts.
  • Add: Added nonce variable to dataLayer to enable in sync scripts usage.
  • Fix: Changed snippets rendering from files to inline scripts.
  • Fix: Updated screenshot file.


Release date: 28.04.2021

  • Fix: Removed delete_option() from deactivation().


Release date: 19.04.2021

  • Fix: Site ID validation.


Release date: 16.04.2021

  • First stable version of the plugin.