{"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-10-24T01:12:10","modified_gmt":"2026-10-23T23:12:10","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 add descriptive attributes to Matomo data: for example, a membership tier for a visit or an article category for a page view. A dimension is a label for grouping data, not a metric such as a count or duration. The setup requires a matching dimension ID, the right scope and a value available when the tracking request is sent.<\/p>\n<h2>1. Create and activate the dimension<\/h2>\n<p>In Administration, open Websites or Measurables and then Custom Dimensions. Select the correct website, create a named dimension and activate it. The generated numeric ID is the reference used in tracking; the same number on a different website need not describe the same attribute.<\/p>\n<ul>\n<li><strong>Visit scope:<\/strong> One value describes the visit. If the value changes during the visit, the last recorded value wins. An upgrade from Standard to Premium therefore does not preserve both stages as separate visit values.<\/li>\n<li><strong>Action scope:<\/strong> The value describes an individual page view, event, download or outlink. Different actions can carry different values.<\/li>\n<\/ul>\n<figure class=\"lw-diagram\"><img decoding=\"async\" src=\"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/diagrams\/dia-336-matomo-20261024.png\" width=\"1120\" height=\"560\" loading=\"lazy\" alt=\"Matomo dimensions: last visit value versus per-action values; set the value before tracking and manage persistence in the JavaScript tracker.\"><figcaption>Matomo dimensions: last visit value versus per-action values; set the value before tracking and manage persistence in the JavaScript tracker.<\/figcaption><\/figure>\n<h2>2. Send a value with the relevant request<\/h2>\n<p>The following example assumes that ID 1 is an active visit dimension for membership tier. It belongs in an existing, configured Matomo tracker before the page view. The value <code>premium<\/code> is only an example and must come from the actual application state.<\/p>\n<pre class=\"wp-block-code\"><code>var _paq = window._paq = window._paq || [];\n_paq.push(['setCustomDimension', 1, 'premium']);\n_paq.push(['trackPageView']);<\/code><\/pre>\n<p>The example replaces the existing pageview call for this hit; adding a second call would count the page twice.<\/p>\n<p><code>setCustomDimension<\/code> does not send a request itself. The configured value accompanies subsequent tracking requests in the same page load until changed or removed with <code>deleteCustomDimension<\/code>. This also matters for Action dimensions: action scope does not automatically clear the JavaScript tracker value after one action. For a value intended for one action only, Matomo also supports request-specific dimension data. Removing a tracker value does not delete previously collected server data.<\/p>\n<h2>3. Configure Matomo Tag Manager<\/h2>\n<p>In Matomo Tag Manager, create a variable for the value, such as a data-layer field. In the <strong>Matomo Configuration Variable<\/strong>, add the dimension ID under Custom Dimensions and assign the variable as Value. The Matomo tracking tag must use that configuration. Preview should confirm that the value exists when the intended tag fires.<\/p>\n<h2>4. Validate before comparing reports<\/h2>\n<p>Check the site ID, active dimension ID and transmitted <code>dimension1<\/code> parameter in a controlled test. Test at least two values and a missing value. For an Action dimension, follow with another action to detect accidental carry-over. For a Visit dimension, test a changed value within one visit and confirm the last-value behaviour.<\/p>\n<p>Custom Dimensions have dedicated reports and can support segments and, where available, Custom Reports. Availability and metrics depend on scope and the installed product features. An arbitrary secondary dimension cannot be assumed in every standard report. Recent requests may appear in the visit log before aggregated reports finish processing.<\/p>\n<h2>Fictional example: membership tiers<\/h2>\n<p>The figures below illustrate a report layout only. They are not collected results or evidence that Premium membership causes longer visits. Page views and average visit duration measure different things; the definition of duration and the selected reporting period must be consistent.<\/p>\n<table border=\"1\" style=\"border-collapse: collapse;width: 100%\">\n<thead>\n<tr>\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<p>Stable category labels keep reports comparable. Email addresses, names or uncontrolled free text should not be collected merely to distinguish categories. A useful tier value is <code>premium<\/code>, rather than a personal identifier.<\/p>\n<div class=\"lw-faq\">\n<h2>Questions and answers<\/h2>\n<h3>Can an existing dimension switch between Visit and Action?<\/h3>\n<p>The normal configuration does not offer a scope change for an existing dimension. Create a new dimension with the required scope and document the new ID and start date. Preserve the meaning of historical data; renaming an old dimension does not convert its scope or backfill past requests.<\/p>\n<h3>Does a membership tier always belong at visit scope?<\/h3>\n<p>Only when the final tier for the visit answers the reporting question. If actions before and after an upgrade need separate labels, action scope is more suitable. The choice follows the intended analysis, not the attribute name alone.<\/p>\n<\/div>\n<div class=\"lw-quellen\">\n<h2>Sources<\/h2>\n<ul>\n<li><a href=\"https:\/\/developer.matomo.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">Matomo Developer documentation<\/a><\/li>\n<li><a href=\"https:\/\/developer.matomo.org\/guides\/tracking-javascript-guide#custom-dimensions\" target=\"_blank\" rel=\"noopener noreferrer\">JavaScript Custom Dimensions<\/a><\/li>\n<li><a href=\"https:\/\/matomo.org\/faq\/reporting-tools\/create-track-and-manage-custom-dimensions\/\" target=\"_blank\" rel=\"noopener noreferrer\">Create and manage dimensions<\/a><\/li>\n<li><a href=\"https:\/\/matomo.org\/faq\/reporting-tools\/understanding-custom-dimension-scope-and-structure\/\" target=\"_blank\" rel=\"noopener noreferrer\">Scope and last-value semantics<\/a><\/li>\n<li><a href=\"https:\/\/matomo.org\/faq\/reporting-tools\/tracking-custom-dimensions-via-matomo-tag-manager\/\" target=\"_blank\" rel=\"noopener noreferrer\">Matomo Tag Manager configuration<\/a><\/li>\n<li><a href=\"https:\/\/developer.matomo.org\/guides\/reporting-api\" target=\"_blank\" rel=\"noopener noreferrer\">CustomDimensions reporting\/configuration API<\/a><\/li>\n<\/ul>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Custom Dimensions add descriptive attributes to Matomo data: for example, a membership tier for a visit or an article category for a page view. A dimension is a label for grouping data, not a metric such as a count or duration. The setup requires a matching dimension ID, the right scope and a value available [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":13740,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[113],"tags":[91297,91137,91516,91219,91252],"class_list":["post-336","post","type-post","status-publish","format-standard","hentry","category-tutorials","tag-data-quality","tag-matomo","tag-tracking","tag-tutorial","tag-web-analytics"],"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<\/title>\n<meta name=\"robots\" content=\"noindex, follow\" \/>\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\" \/>\n<meta property=\"og:description\" content=\"Custom Dimensions add descriptive attributes to Matomo data: for example, a membership tier for a visit or an article category for a page view. A dimension is a label for grouping data, not a metric such as a count or duration. The setup requires a matching dimension ID, the right scope and a value available [&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-10-23T23:12:10+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-336-tutorial-implementing-custom-dimensi-g.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Lukas Wojcik\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Lukas Wojcik\" \/>\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\":\"Lukas Wojcik\",\"@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-10-23T23:12:10+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/digital-analytics\\\/tutorials\\\/tutorial-implementing-custom-dimensions-in-matomo\\\/\"},\"wordCount\":700,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"image\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/digital-analytics\\\/tutorials\\\/tutorial-implementing-custom-dimensions-in-matomo\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero-336-tutorial-implementing-custom-dimensi-g.png\",\"keywords\":[\"Data Quality\",\"Matomo\",\"Tracking\",\"Tutorial\",\"Web Analytics\"],\"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\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/digital-analytics\\\/tutorials\\\/tutorial-implementing-custom-dimensions-in-matomo\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/digital-analytics\\\/tutorials\\\/tutorial-implementing-custom-dimensions-in-matomo\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero-336-tutorial-implementing-custom-dimensi-g.png\",\"datePublished\":\"2026-07-15T13:40:11+00:00\",\"dateModified\":\"2026-10-23T23:12:10+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\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/digital-analytics\\\/tutorials\\\/tutorial-implementing-custom-dimensions-in-matomo\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero-336-tutorial-implementing-custom-dimensi-g.png\",\"contentUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/hero-336-tutorial-implementing-custom-dimensi-g.png\",\"width\":1200,\"height\":630,\"caption\":\"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\":\"Lukas Wojcik\",\"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\":\"Lukas Wojcik\"},\"logo\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\"},\"sameAs\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Tutorial: Implementing Custom Dimensions in Matomo | Lukas Wojcik","robots":{"index":"noindex","follow":"follow"},"og_locale":"en_US","og_type":"article","og_title":"Tutorial: Implementing Custom Dimensions in Matomo | Lukas Wojcik","og_description":"Custom Dimensions add descriptive attributes to Matomo data: for example, a membership tier for a visit or an article category for a page view. A dimension is a label for grouping data, not a metric such as a count or duration. The setup requires a matching dimension ID, the right scope and a value available [&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-10-23T23:12:10+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-336-tutorial-implementing-custom-dimensi-g.png","type":"image\/png"}],"author":"Lukas Wojcik","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Lukas Wojcik","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":"Lukas Wojcik","@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-10-23T23:12:10+00:00","mainEntityOfPage":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-analytics\/tutorials\/tutorial-implementing-custom-dimensions-in-matomo\/"},"wordCount":700,"commentCount":0,"publisher":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"image":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-analytics\/tutorials\/tutorial-implementing-custom-dimensions-in-matomo\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-336-tutorial-implementing-custom-dimensi-g.png","keywords":["Data Quality","Matomo","Tracking","Tutorial","Web Analytics"],"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","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-analytics\/tutorials\/tutorial-implementing-custom-dimensions-in-matomo\/#primaryimage"},"image":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-analytics\/tutorials\/tutorial-implementing-custom-dimensions-in-matomo\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-336-tutorial-implementing-custom-dimensi-g.png","datePublished":"2026-07-15T13:40:11+00:00","dateModified":"2026-10-23T23:12:10+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":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/digital-analytics\/tutorials\/tutorial-implementing-custom-dimensions-in-matomo\/#primaryimage","url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-336-tutorial-implementing-custom-dimensi-g.png","contentUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/09\/hero-336-tutorial-implementing-custom-dimensi-g.png","width":1200,"height":630,"caption":"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":"Lukas Wojcik","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":"Lukas Wojcik"},"logo":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg"},"sameAs":["https:\/\/www.lukaswojcik.com\/blog"]}]}},"_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":5,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/336\/revisions"}],"predecessor-version":[{"id":22946,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/336\/revisions\/22946"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media\/13740"}],"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}]}}