{"id":336,"date":"2026-07-15T15:40:11","date_gmt":"2026-07-15T13:40:11","guid":{"rendered":"https:\/\/www.lukaswojcik.com\/blog\/?p=336"},"modified":"2026-07-15T15:40:13","modified_gmt":"2026-07-15T13:40:13","slug":"tutorial-implementing-custom-dimensions-in-matomo","status":"publish","type":"post","link":"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-analytics\/tutorials\/tutorial-implementing-custom-dimensions-in-matomo\/","title":{"rendered":"Tutorial: Implementing Custom Dimensions in Matomo"},"content":{"rendered":"<p>Custom Dimensions in Matomo provide the capability to track specific attributes beyond standard metrics. By defining unique parameters, it becomes possible to segment data based on custom logic, such as content categories, membership levels, or author names. The following guide outlines the end-to-end implementation process.<\/p>\n<h3>Step 1: Defining Dimensions in the Admin Panel<\/h3>\n<p>The configuration begins within the Matomo dashboard. Navigate to the <strong>Administration (cog icon)<\/strong> menu and locate the <strong>Custom Dimensions<\/strong> section. Within this view, a new dimension is created by assigning a name and selecting the appropriate scope:<\/p>\n<ul>\n<li><strong>Action Scope:<\/strong> Data is tracked for specific interactions (e.g., page views, downloads).<\/li>\n<li><strong>Visit Scope:<\/strong> Data is tracked for the duration of the entire user session.<\/li>\n<\/ul>\n<p>Upon saving, an <strong>Index ID<\/strong> is generated. This ID acts as the unique identifier required for the tracking code.<\/p>\n<h3>Step 2: Technical Implementation<\/h3>\n<p>The implementation requires passing the custom data to Matomo before the <code>trackPageView<\/code> event is executed. The <code>setCustomDimension<\/code> method is used for this purpose.<\/p>\n<pre><code>\/\/ Example: Setting a dimension with Index ID 1\n_paq.push(['setCustomDimension', 1, 'Premium User']);\n_paq.push(['trackPageView']);<\/code><\/pre>\n<p>In the context of Tag Manager, a &#8220;Custom Dimension&#8221; tag or a custom HTML variable is used to push this value into the <code>_paq<\/code> array dynamically based on specific trigger conditions.<\/p>\n<h3>Step 3: Data Analysis and Usage<\/h3>\n<p>Once data collection begins, Custom Dimensions become available as secondary dimensions within standard reports, or as primary filters in <strong>Custom Reports<\/strong>. This allows for granular data segmentation, such as comparing conversion rates between different membership types or content categories.<\/p>\n<h3>Sample Data: Membership Levels (Visit Scope)<\/h3>\n<table border=\"1\" style=\"border-collapse: collapse; width: 100%;\">\n<thead>\n<tr style=\"background-color: #f2f2f2;\">\n<th style=\"padding: 10px;\">Membership Level<\/th>\n<th style=\"padding: 10px;\">Page Views<\/th>\n<th style=\"padding: 10px;\">Avg. Session Duration<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"padding: 10px;\">Premium<\/td>\n<td style=\"padding: 10px;\">12,450<\/td>\n<td style=\"padding: 10px;\">04:30<\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 10px;\">Standard<\/td>\n<td style=\"padding: 10px;\">85,200<\/td>\n<td style=\"padding: 10px;\">01:15<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n","protected":false},"excerpt":{"rendered":"<p>Custom Dimensions in Matomo provide the capability to track specific attributes beyond standard metrics. By defining unique parameters, it becomes possible to segment data based on custom logic, such as content categories, membership levels, or author names. The following guide outlines the end-to-end implementation process. Step 1: Defining Dimensions in the Admin Panel The configuration [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[113],"tags":[],"class_list":["post-336","post","type-post","status-publish","format-standard","hentry","category-tutorials"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Tutorial: Implementing Custom Dimensions in Matomo - Lukas Wojcik - Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-analytics\/tutorials\/tutorial-implementing-custom-dimensions-in-matomo\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Tutorial: Implementing Custom Dimensions in Matomo - Lukas Wojcik - Blog\" \/>\n<meta property=\"og:description\" content=\"Custom Dimensions in Matomo provide the capability to track specific attributes beyond standard metrics. By defining unique parameters, it becomes possible to segment data based on custom logic, such as content categories, membership levels, or author names. The following guide outlines the end-to-end implementation process. Step 1: Defining Dimensions in the Admin Panel The configuration [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-analytics\/tutorials\/tutorial-implementing-custom-dimensions-in-matomo\/\" \/>\n<meta property=\"og:site_name\" content=\"Lukas Wojcik - Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-07-15T13:40:11+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-07-15T13:40:13+00:00\" \/>\n<meta name=\"author\" content=\"luky\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"luky\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/digital-analytics\\\/tutorials\\\/tutorial-implementing-custom-dimensions-in-matomo\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/digital-analytics\\\/tutorials\\\/tutorial-implementing-custom-dimensions-in-matomo\\\/\"},\"author\":{\"name\":\"luky\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"headline\":\"Tutorial: Implementing Custom Dimensions in Matomo\",\"datePublished\":\"2026-07-15T13:40:11+00:00\",\"dateModified\":\"2026-07-15T13:40:13+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/digital-analytics\\\/tutorials\\\/tutorial-implementing-custom-dimensions-in-matomo\\\/\"},\"wordCount\":253,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"articleSection\":[\"Tutorials\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/digital-analytics\\\/tutorials\\\/tutorial-implementing-custom-dimensions-in-matomo\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/digital-analytics\\\/tutorials\\\/tutorial-implementing-custom-dimensions-in-matomo\\\/\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/digital-analytics\\\/tutorials\\\/tutorial-implementing-custom-dimensions-in-matomo\\\/\",\"name\":\"Tutorial: Implementing Custom Dimensions in Matomo - Lukas Wojcik - Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#website\"},\"datePublished\":\"2026-07-15T13:40:11+00:00\",\"dateModified\":\"2026-07-15T13:40:13+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/digital-analytics\\\/tutorials\\\/tutorial-implementing-custom-dimensions-in-matomo\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/digital-analytics\\\/tutorials\\\/tutorial-implementing-custom-dimensions-in-matomo\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/digital-analytics\\\/tutorials\\\/tutorial-implementing-custom-dimensions-in-matomo\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Tutorial: Implementing Custom Dimensions in Matomo\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/\",\"name\":\"Lukas Wojcik - Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\",\"name\":\"luky\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"contentUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"width\":424,\"height\":636,\"caption\":\"luky\"},\"logo\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\"},\"sameAs\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\"],\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/author\\\/luky\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Tutorial: Implementing Custom Dimensions in Matomo - Lukas Wojcik - Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-analytics\/tutorials\/tutorial-implementing-custom-dimensions-in-matomo\/","og_locale":"en_US","og_type":"article","og_title":"Tutorial: Implementing Custom Dimensions in Matomo - Lukas Wojcik - Blog","og_description":"Custom Dimensions in Matomo provide the capability to track specific attributes beyond standard metrics. By defining unique parameters, it becomes possible to segment data based on custom logic, such as content categories, membership levels, or author names. The following guide outlines the end-to-end implementation process. Step 1: Defining Dimensions in the Admin Panel The configuration [&hellip;]","og_url":"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-analytics\/tutorials\/tutorial-implementing-custom-dimensions-in-matomo\/","og_site_name":"Lukas Wojcik - Blog","article_published_time":"2026-07-15T13:40:11+00:00","article_modified_time":"2026-07-15T13:40:13+00:00","author":"luky","twitter_card":"summary_large_image","twitter_misc":{"Written by":"luky","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-analytics\/tutorials\/tutorial-implementing-custom-dimensions-in-matomo\/#article","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-analytics\/tutorials\/tutorial-implementing-custom-dimensions-in-matomo\/"},"author":{"name":"luky","@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"headline":"Tutorial: Implementing Custom Dimensions in Matomo","datePublished":"2026-07-15T13:40:11+00:00","dateModified":"2026-07-15T13:40:13+00:00","mainEntityOfPage":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-analytics\/tutorials\/tutorial-implementing-custom-dimensions-in-matomo\/"},"wordCount":253,"commentCount":0,"publisher":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"articleSection":["Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.lukaswojcik.com\/blog\/en\/digital-analytics\/tutorials\/tutorial-implementing-custom-dimensions-in-matomo\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-analytics\/tutorials\/tutorial-implementing-custom-dimensions-in-matomo\/","url":"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-analytics\/tutorials\/tutorial-implementing-custom-dimensions-in-matomo\/","name":"Tutorial: Implementing Custom Dimensions in Matomo - Lukas Wojcik - Blog","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#website"},"datePublished":"2026-07-15T13:40:11+00:00","dateModified":"2026-07-15T13:40:13+00:00","breadcrumb":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-analytics\/tutorials\/tutorial-implementing-custom-dimensions-in-matomo\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.lukaswojcik.com\/blog\/en\/digital-analytics\/tutorials\/tutorial-implementing-custom-dimensions-in-matomo\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-analytics\/tutorials\/tutorial-implementing-custom-dimensions-in-matomo\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.lukaswojcik.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Tutorial: Implementing Custom Dimensions in Matomo"}]},{"@type":"WebSite","@id":"https:\/\/www.lukaswojcik.com\/blog\/#website","url":"https:\/\/www.lukaswojcik.com\/blog\/","name":"Lukas Wojcik - Blog","description":"","publisher":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.lukaswojcik.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9","name":"luky","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","contentUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","width":424,"height":636,"caption":"luky"},"logo":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg"},"sameAs":["https:\/\/www.lukaswojcik.com\/blog"],"url":"https:\/\/www.lukaswojcik.com\/blog\/author\/luky\/"}]}},"_links":{"self":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/336","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/comments?post=336"}],"version-history":[{"count":1,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/336\/revisions"}],"predecessor-version":[{"id":337,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/336\/revisions\/337"}],"wp:attachment":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media?parent=336"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/categories?post=336"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/tags?post=336"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}