CINXE.COM
Introduction: Develop - Matomo Analytics (formerly Piwik Analytics) - Developer Docs - v5
<!DOCTYPE html> <html lang="en"> <head> <title>Introduction: Develop - Matomo Analytics (formerly Piwik Analytics) - Developer Docs - v5</title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link href="/css/bootstrap.min.css?943e7eff" rel="stylesheet"> <link href="/css/font-awesome.min.css?943e7eff" rel="stylesheet"> <link href="/css/highlight.obsidian.css?943e7eff" rel="stylesheet" media="screen"> <link href="/css/app.css?943e7eff" rel="stylesheet" media="screen"> <link href="/css/sidebar.css?943e7eff" rel="stylesheet" media="screen"> <link href="/css/documentation.css?943e7eff" rel="stylesheet" media="screen"> <!--[if lt IE 9]> <script src="/js/html5shiv.3.7.0.js?943e7eff"></script> <script src="/js/respond.min.1.3.0.js?943e7eff"></script> <![endif]--> <link rel="icon" type="image/png" href="/favicon.png"> </head> <body> <div id="menu" class="navbar navbar-inverse navbar-fixed-top"> <div class="container"> <div class="navbar-header"> <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse"> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <a class="navbar-brand hidden-sm" href="/"><img height="20" width="124" src="/img/logo.png"/></a> </div> <div class="collapse navbar-collapse"> <ul class="nav navbar-nav"> <li > <a href="/integration">Integrate</a> </li> <li class="active"> <a href="/develop">Develop</a> </li> <li > <a href="/api-reference">API Reference</a> </li> <li > <a href="/piwik-in-depth">In Depth</a> </li> <li > <a href="/changelog">Changelog</a> </li> <li > <a href="/support">Support</a> </li> </ul> <ul class="nav navbar-nav pull-right"> <li> <div id="quick-search-typeahead"> <input type="text" data-action="/data/documents" placeholder="Quick search..."/> <select title="Select your Matomo version" class="piwik-version-select" name="piwik"> <option value="/4.x/develop" >Matomo 4.X</option> <option value="/develop" selected >Matomo 5.X</option> </select> </div> </li> </ul> </div> </div> </div> <div class="container"> <div class="row"> <div class="col-sm-4 col-md-3"> <div class="bs-side panel-group"> <div class="panel panel-primary"> <div class="panel-heading"> <h4 class="panel-title"> <a href="/develop"> Develop </a> </h4> </div> <div class="panel-body bs-sidebar"> <ul class="nav nav-pills nav-stacked bs-sidenav"> <li class="active" title="Introduction"> <a href="/guides/develop-introduction">Introduction</a> <ul class="nav"> </ul> </li> <li class="" title="Getting started"> <span>Getting started</span> <ul class="nav"> <li class="" title="Setting Up"> <a href="/guides/getting-started-part-1"> Setting Up</a> </li> <li class="" title="Distributing Your Plugin"> <a href="/guides/distributing-your-plugin"> Distributing Your Plugin</a> </li> </ul> </li> <li class="" title="Analytics"> <span>Analytics</span> <ul class="nav"> <li class="" title="Custom Report"> <a href="/guides/custom-reports"> Custom Report</a> </li> <li class="" title="Dimensions"> <a href="/guides/dimensions"> Dimensions</a> </li> <li class="" title="Widgets"> <a href="/guides/widgets"> Widgets</a> </li> <li class="" title="Report visualizations"> <a href="/guides/visualizing-report-data"> Report visualizations</a> </li> <li class="" title="JS Tracker"> <a href="/guides/enrich-js-tracker"> JS Tracker</a> </li> </ul> </li> <li class="" title="Tag Manager"> <span>Tag Manager</span> <ul class="nav"> <li class="" title="Setting Up"> <a href="/guides/tagmanager/settingup"> Setting Up</a> </li> <li class="" title="Tags"> <a href="/guides/tagmanager/custom-tag"> Tags</a> </li> <li class="" title="Triggers"> <a href="/guides/tagmanager/custom-trigger"> Triggers</a> </li> <li class="" title="Variables"> <a href="/guides/tagmanager/custom-variable"> Variables</a> </li> <li class="" title="Parameters"> <a href="/guides/tagmanager/parameters"> Parameters</a> </li> <li class="" title="Testing"> <a href="/guides/tagmanager/testing"> Testing</a> </li> <li class="" title="Developer FAQ"> <a href="/guides/tagmanager/faq"> Developer FAQ</a> </li> </ul> </li> <li class="" title="WordPress"> <span>WordPress</span> <ul class="nav"> <li class="" title="Getting Started"> <a href="/guides/wordpress/getting-started"> Getting Started</a> </li> <li class="" title="Basics"> <a href="/guides/wordpress/basics"> Basics</a> </li> <li class="" title="Data Access"> <a href="/guides/wordpress/data-access"> Data Access</a> </li> <li class="" title="Matomo Plugin"> <a href="/guides/wordpress/matomo-plugin"> Matomo Plugin</a> </li> </ul> </li> <li class="" title="Plugin Basics"> <span>Plugin Basics</span> <ul class="nav"> <li class="" title="Themes"> <a href="/guides/theming"> Themes</a> </li> <li class="" title="Plugin file"> <a href="/guides/plugin-file"> Plugin file</a> </li> <li class="" title="Pages"> <a href="/guides/pages"> Pages</a> </li> <li class="" title="Menus"> <a href="/guides/menus"> Menus</a> </li> <li class="" title="Handling Request Parameters"> <a href="/guides/request-parameters"> Handling Request Parameters</a> </li> <li class="" title="API Methods"> <a href="/guides/expose-api-methods"> API Methods</a> </li> <li class="" title="JavaScript and CSS"> <a href="/guides/working-with-piwiks-ui"> JavaScript and CSS</a> </li> <li class="" title="Plugin Settings"> <a href="/guides/plugin-settings"> Plugin Settings</a> </li> <li class="" title="Scheduled tasks"> <a href="/guides/scheduled-tasks"> Scheduled tasks</a> </li> <li class="" title="Visitor log & profile"> <a href="/guides/visitor-log-and-profile"> Visitor log & profile</a> </li> <li class="" title="Data Table"> <a href="/guides/datatable"> Data Table</a> </li> <li class="" title="System check"> <a href="/guides/system-check"> System check</a> </li> <li class="" title="Commands"> <a href="/guides/piwik-on-the-command-line"> Commands</a> </li> <li class="" title="Plugin Directory Structure"> <a href="/guides/plugin-directory-structure"> Plugin Directory Structure</a> </li> <li class="" title="Dependency injection"> <a href="/guides/dependency-injection"> Dependency injection</a> </li> <li class="" title="GDPR"> <a href="/guides/gdpr"> GDPR</a> </li> </ul> </li> <li class="" title="Security"> <span>Security</span> <ul class="nav"> <li class="" title="Security best practices"> <a href="/guides/security-in-piwik"> Security best practices</a> </li> <li class="" title="User permissions"> <a href="/guides/permissions"> User permissions</a> </li> </ul> </li> <li class="" title="Utils"> <span>Utils</span> <ul class="nav"> <li class="" title="Events"> <a href="/guides/events"> Events</a> </li> <li class="" title="Translations"> <a href="/guides/translations"> Translations</a> </li> <li class="" title="Notifications"> <a href="/guides/notifications"> Notifications</a> </li> <li class="" title="Database"> <a href="/guides/database"> Database</a> </li> <li class="" title="Extending the database"> <a href="/guides/extending-database"> Extending the database</a> </li> <li class="" title="Logging"> <a href="/guides/logging"> Logging</a> </li> <li class="" title="Sending Emails"> <a href="/guides/sending-emails"> Sending Emails</a> </li> <li class="" title="Providing updates"> <a href="/guides/providing-updates"> Providing updates</a> </li> </ul> </li> <li class="" title="Tests"> <a href="/guides/tests">Tests</a> <ul class="nav"> <li class="" title="PHP Tests"> <a href="/guides/tests-php"> PHP Tests</a> </li> <li class="" title="UI Tests"> <a href="/guides/tests-ui"> UI Tests</a> </li> <li class="" title="JavaScript Tracker"> <a href="/guides/tests-js-tracker"> JavaScript Tracker</a> </li> <li class="" title="Running tests as GitHub Action"> <a href="/guides/tests-github"> Running tests as GitHub Action</a> </li> <li class="" title="Troubleshooting"> <a href="/guides/tests-troubleshooting"> Troubleshooting</a> </li> </ul> </li> <li class="" title="Migrations"> <span>Migrations</span> <ul class="nav"> <li class="" title="Migrate Plugin from Matomo 4.X to Matomo 5"> <a href="/guides/migrate-matomo-4-to-5"> Migrate Plugin from Matomo 4.X to Matomo 5</a> </li> <li class="" title="Migrate Plugin from Matomo 3.X to Matomo 4"> <a href="/guides/migrate-matomo-3-to-4"> Migrate Plugin from Matomo 3.X to Matomo 4</a> </li> <li class="" title="Migrate Plugin from Piwik 2.X to Matomo 3 (Piwik 3)"> <a href="/guides/migrate-piwik-2-to-3"> Migrate Plugin from Matomo 2.X to Matomo 3 (Matomo 3)</a> </li> </ul> </li> <li class="" title="Matomo In Depth"> <a href="/piwik-in-depth">Matomo In Depth</a> <ul class="nav"> </ul> </li> </ul> </div> </div> </div> </div> <div class="col-sm-8 col-md-9 documentation"> <h1 id="develop">Develop</h1> <p>Welcome to the <em>Develop</em> section of the Matomo Developer Zone (formerly Piwik). If you are interested in customizing Matomo, you are in the right place!</p> <p>This section contains guides that will help you create <strong>Plugins</strong> and <strong>Themes</strong> to customize Matomo (Piwik), or to add new features to Matomo.</p> <p>If you want to get more insight into how Matomo works behind the API's check out our <a href="/piwik-in-depth">Matomo In Depth</a> section.</p> <p>Use the sidebar to navigate through the guides. Here is a list of guides to get you started:</p> <ul> <li><a href="/guides/getting-started-part-1">Getting Started: Setting up</a></li> <li><a href="/guides/distributing-your-plugin">Distributing Your Plugin</a></li> </ul> </div> </div> </div> <footer> <div class="container"> <p class="pull-left"> Copyright © <a href="https://matomo.org">Matomo.org</a> | <a href="https://twitter.com/matomo_org"><i class="fa fa-twitter"></i> Twitter</a> | <a href="https://github.com/matomo-org"><i class="fa fa-github"></i> GitHub</a> </p> <p class="pull-right"> <a href="https://github.com/matomo-org/developer-documentation/tree/live/docs/5.x/develop-introduction.md" target="_blank">Edit on GitHub</a> </p> <p class="pull-right"> <a href="mailto:developer@matomo.org?subject=Feedback%20Developer%20Guides">Give Feedback</a> | </p> <p class="pull-right"> <a href="https://matomo.org/privacy-policy" target="_blank">Privacy Policy</a> | </p> </div> </footer> <script src="/js/jquery.js?943e7eff"></script> <script src="/js/bootstrap.min.js?943e7eff"></script> <script src="/js/bootstrap3-typeahead.min.js?943e7eff"></script> <script src="/js/app.js?943e7eff"></script> <script src="/js/highlight.8.2.min.js?943e7eff"></script> <script type="text/javascript"> $(document).ready(function () { // Disable language auto-detect on code blocks that don't have a language // This prevents a messy highlighting when the block doesn't contain code $('pre code:not([class])').addClass('no-highlight hljs'); hljs.initHighlightingOnLoad(); }); </script> <!-- Piwik --> <script type="text/javascript"> var _paq = _paq || []; _paq.push(["disableCookies"]); _paq.push(["setCustomVariable", 1, 'PiwikVersion', '5', 'page']); _paq.push(["trackPageView"]); _paq.push(["enableLinkTracking"]); function track() { (function() { var u="https://demo.matomo.org/"; _paq.push(["setTrackerUrl", u+"piwik.php"]); _paq.push(["setSiteId", "36"]); var d=document, g=d.createElement("script"), s=d.getElementsByTagName("script")[0]; g.type="text/javascript"; g.defer=true; g.async=true; g.src=u+"piwik.js"; s.parentNode.insertBefore(g,s); })(); } if (window.addEventListener) { window.addEventListener("load", track, false); } else if (window.attachEvent) { window.attachEvent("onload",track); } else { track(); } </script> <!-- End Piwik Code --> </body> </html> <!-- Cached response -->