If you have already read the post about Setup Matomo Analytics to the classic SharePoint site collections, you are maybe interested to go ahead with more capabilities.

What is the difference between a Tag Management System and an Analytics Tracker?

  • Analytics: generates reports and statistics based on the visits and visitors. It is possible to add some custom variables or custom dimensions to obtain further informations; to add this kind of things, you will need a minimum of development skills because you will need to add scripts into SharePoint.
    Example: add a JavaScript script (via Custom Action of course in addition to the Analytics script) to catch a specific click and perform a push to record it. More information ›
  • Tag Manager: allows to create and trigger some custom tags in accordance with your business needs in addition to track page views and all informations about the visits and the visitors. Furthermore, tags and triggers management can be done without additional developments on your environment; the global configuration is pushedS from the Tag Management System into the target environment once published. More information ›

Setup Matomo Tag Manager

I wrote a script that will allow you to easily implement the Tag Manager script into your SharePoint sites based on classic Templates.


  1. A Matomo (Piwik) server (On-Premises) or instance (Online)
  2. A Matomo Tag Manager URL: https://matomo.org/docs/tag-manager/#how-can-i-set-up-matomo-tag-manager-on-my-website
  3. You will need to install the PnP PowerShell module (I did not create the bash script yet 👎🏻)


  1. Download the solution from the repository
  2. Unzip the archive
  3. Execute the following cmdlet by changing container_[ID] with your Matomo URL:
.\SPMTM.ps1 -siteUrl "https://intranet.mydomain.com/sites/targetSite" -trackingUrl https://matomo.my-domain.com/js/container_[ID].js

If you cannot execute the PowerShell script, because of security reasons, before unziping the package, execute the Unblock-File cmdlet.


Other options are available as illustrated into the README.md, that allow you to manage the deployment

The user account that will perform the following actions has to have sufficient permissions on the target sites collection.

Hoping this post will help you 😉

You may also be interested in