{"id":5185,"date":"2026-06-18T14:30:48","date_gmt":"2026-06-18T14:30:48","guid":{"rendered":"https:\/\/rimanagency.com\/ga4-custom-dimension-builder-naming-convention-datalayer-code\/"},"modified":"2026-06-18T14:30:48","modified_gmt":"2026-06-18T14:30:48","slug":"ga4-custom-dimension-builder-naming-convention-datalayer-code","status":"publish","type":"page","link":"https:\/\/rimanagency.com\/fr\/ga4-custom-dimension-builder-naming-convention-datalayer-code\/","title":{"rendered":"GA4 Custom Dimension Builder \u2014 Naming Convention + DataLayer Code"},"content":{"rendered":"<style>.rt-h{background:linear-gradient(135deg,#f1f5e8,#e8efdb);border-radius:14px;padding:32px;margin:0 0 24px;text-align:center}.rt-h h1{margin:0 0 10px;font-size:28px;color:#4a6320}.rt-g{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:0 0 24px}.rt-f,.rt-o{background:#fff;border:1px solid #e0e6d8;border-radius:10px;padding:22px}.rt-f h3,.rt-o h3{margin:0 0 14px;color:#4a6320;font-size:18px}.rt-f label{display:block;font-size:13px;color:#516048;font-weight:600;margin:10px 0 6px}.rt-f input,.rt-f select,.rt-f textarea{width:100%;padding:9px;border:1px solid #d4dac6;border-radius:6px;font-size:14px;box-sizing:border-box;font-family:inherit}.rt-btn{background:#719430;color:#fff;border:none;padding:11px 20px;border-radius:6px;font-weight:700;cursor:pointer;width:100%;margin-top:14px;font-size:15px}.rt-btn:hover{background:#4a6320}.rt-cta{background:linear-gradient(135deg,#719430,#4a6320);color:#fff;border-radius:14px;padding:32px;text-align:center;margin:30px 0}.rt-cta h3{margin:0 0 6px;color:#fff}.rt-cta a{background:#fff;color:#4a6320;padding:12px 28px;border-radius:6px;font-weight:700;text-decoration:none;display:inline-block;margin-top:14px}@media(max-width:768px){.rt-g{grid-template-columns:1fr}}<\/style>\n<div class=\"rt-h\">\n<h1>GA4 Custom Dimension Builder<\/h1>\n<p>Build properly-named GA4 custom dimensions. Get the GA4 admin configuration values, dataLayer push code, and Google Tag Manager variable setup in one paste-ready output.<\/p>\n<\/div>\n<div class=\"rt-g\">\n<div class=\"rt-f\">\n<h3>Dimension Inputs<\/h3>\n<p><label>Business concept (what you want to track)<\/label><input type=\"text\" id=\"gd-business\" placeholder=\"Subscription Plan\"><label>Scope<\/label><select id=\"gd-scope\"><option value=\"event\" selected>Event-scoped (varies per event)<\/option><option value=\"user\">User-scoped (set once per user)<\/option><option value=\"item\">Item-scoped (e-commerce items)<\/option><\/select><label>Example value<\/label><input type=\"text\" id=\"gd-example\" placeholder=\"pro_annual\"><\/div>\n<div class=\"rt-o\">\n<h3>GA4 + GTM Code<\/h3>\n<div id=\"gd-out\" style=\"background:#fafafa;border:1px solid #e0e6d8;border-radius:8px;padding:14px;font-size:14px;min-height:80px;line-height:1.5\"><\/div>\n<\/div>\n<\/div>\n<p><script>function cGd(){var biz=document.getElementById(\"gd-business\").value.trim();var scope=document.getElementById(\"gd-scope\").value;var ex=document.getElementById(\"gd-example\").value.trim()||\"example_value\";if(!biz){document.getElementById(\"gd-out\").innerHTML=\"<i style=\\\"color:#888\\\">Enter a business concept<\/i>\";return}var paramName=biz.toLowerCase().replace(\/[^a-z0-9 ]\/g,\"\").replace(\/\\s+\/g,\"_\").substring(0,40);var dimName=biz.replace(\/\\s+\/g,\" \").replace(\/(^|\\s)\\w\/g,function(c){return c.toUpperCase()});var scopeLabel=scope===\"event\"?\"Event\":scope===\"user\"?\"User\":\"Item\";var dlCode=\"window.dataLayer = window.dataLayer || [];\\ndataLayer.push({\\n  event: \\\"your_event_name\\\",\\n  \"+paramName+\": \\\"\"+ex+\"\\\"\\n});\";var gtmCode=\"Variable type: Data Layer Variable\\nData Layer Variable Name: \"+paramName+\"\\nData Layer Version: Version 2\";var html=\"<\/p>\n<div style=\\\"display:grid;gap:12px\\\">\";html+=\"<\/p>\n<div style=\\\"background:#fff;border:1px solid #e0e6d8;border-radius:8px;padding:12px\\\">\n<div style=\\\"font-size:11px;color:#719430;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px\\\">GA4 Admin Custom Definitions<\/div>\n<div style=\\\"font-size:13px;display:grid;grid-template-columns:120px 1fr;gap:8px\\\">\n<div><b>Dimension name<\/b><\/div>\n<div>\"+dimName+\"<\/div>\n<div><b>Scope<\/b><\/div>\n<div>\"+scopeLabel+\"<\/div>\n<div><b>Parameter name<\/b><\/div>\n<div><code style=\\\"background:#fafafa;padding:2px 6px;border-radius:3px\\\">\"+paramName+\"<\/code><\/div>\n<div><b>Description<\/b><\/div>\n<div>\"+biz+\" (tracked per \"+scope+\")<\/div>\n<\/div>\n<\/div>\n<p>\";html+=\"<\/p>\n<div style=\\\"background:#1e1e1e;color:#a3c163;padding:12px;border-radius:8px;font-family:Consolas,monospace;font-size:12px;overflow:auto\\\">\n<div style=\\\"color:#888;font-size:10px;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px\\\">DataLayer push code<\/div>\n<pre style=\\\"margin:0;white-space:pre-wrap\\\">\"+dlCode+\"<\/pre>\n<\/div>\n<p>\";html+=\"<\/p>\n<div style=\\\"background:#1e1e1e;color:#a3c163;padding:12px;border-radius:8px;font-family:Consolas,monospace;font-size:12px;overflow:auto\\\">\n<div style=\\\"color:#888;font-size:10px;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px\\\">GTM variable setup<\/div>\n<pre style=\\\"margin:0;white-space:pre-wrap\\\">\"+gtmCode+\"<\/pre>\n<\/div>\n<p>\";html+=\"<\/p>\n<div style=\\\"background:#fff3cd;border:1px solid #ffe6a3;border-radius:8px;padding:12px;font-size:13px;color:#856404\\\"><b>Important:<\/b> after registering the custom dimension in GA4, it takes 24-48 hours before data appears in standard reports. Explorations use it immediately.<\/div>\n<\/div>\n<p>\";document.getElementById(\"gd-out\").innerHTML=html}[\"gd-business\",\"gd-scope\",\"gd-example\"].forEach(function(id){document.getElementById(id).addEventListener(\"input\",cGd);document.getElementById(id).addEventListener(\"change\",cGd)});cGd();<\/script><\/p>\n<h2>How to use the GA4 Custom Dimension Builder<\/h2>\n<p>Type the business concept (e.g., Subscription Plan). Pick scope: Event (varies per event), User (set once per user), or Item (e-commerce). Type an example value. The tool generates GA4 Admin values, dataLayer push code, and GTM variable setup.<\/p>\n<h2>Why this tool matters<\/h2>\n<p>Custom dimensions are how you turn GA4 into a business-specific data warehouse. Without them you cannot answer questions like what conversion rate do users on the Pro plan have or which content author drives most signups. Setting them up correctly first time saves weeks of cleanup later.<\/p>\n<h2>Common use cases<\/h2>\n<ul>\n<li>Building dimension catalogs for new GA4 properties<\/li>\n<li>Standardizing tracking specs across teams<\/li>\n<li>Helping developers implement first-pass<\/li>\n<li>Documenting dimension specifications<\/li>\n<li>Migrating UA custom dimensions to GA4<\/li>\n<\/ul>\n<h2>Event vs User vs Item scope<\/h2>\n<p>Event scope: the value can change per event. User scope: set once and persists for the user. Item scope: for e-commerce item-level dimensions. Pick wrong and your reports show wrong patterns.<\/p>\n<h2>Frequently Asked Questions<\/h2>\n<p><strong>Do I need to register every parameter?<\/strong><br \/>No. Parameters pass with events automatically. Registering a custom dimension lets you use it in standard reports and segments.<\/p>\n<p><strong>Why is there a 24-48 hour delay?<\/strong><br \/>GA4 batches dimension registration. Standard reports take 24-48 hours. Explorations use them immediately.<\/p>\n<p><strong>What is the limit?<\/strong><br \/>50 event-scoped, 25 user-scoped, 10 item-scoped per property (free GA4).<\/p>\n<p><strong>Can I rename after registering?<\/strong><br \/>Yes, the display name. The parameter name (in code) is immutable.<\/p>\n<div class=\"rt-cta\">\n<h3>Need a GA4 implementation built for real business reporting?<\/h3>\n<p style=\"margin:0;opacity:.95\">Riman Agency runs GA4 + GTM strategy.<\/p>\n<p><a href=\"\/contact\/\">Book an Analytics Audit<\/a><\/div>\n","protected":false},"excerpt":{"rendered":"<p>GA4 Custom Dimension Builder Build properly-named GA4 custom dimensions. Get the GA4 admin configuration values, dataLayer push code, and Google Tag Manager variable setup in one paste-ready output. Dimension Inputs Business concept (what you want to track)ScopeEvent-scoped (varies per event)User-scoped (set once per user)Item-scoped (e-commerce items)Example value GA4 + GTM Code How to use the [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-5185","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>GA4 Custom Dimension Builder \u2014 Naming Convention + DataLayer Code - Riman Agency<\/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:\/\/rimanagency.com\/fr\/ga4-custom-dimension-builder-naming-convention-datalayer-code\/\" \/>\n<meta property=\"og:locale\" content=\"fr_CA\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"GA4 Custom Dimension Builder \u2014 Naming Convention + DataLayer Code - Riman Agency\" \/>\n<meta property=\"og:description\" content=\"GA4 Custom Dimension Builder Build properly-named GA4 custom dimensions. Get the GA4 admin configuration values, dataLayer push code, and Google Tag Manager variable setup in one paste-ready output. Dimension Inputs Business concept (what you want to track)ScopeEvent-scoped (varies per event)User-scoped (set once per user)Item-scoped (e-commerce items)Example value GA4 + GTM Code How to use the [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/rimanagency.com\/fr\/ga4-custom-dimension-builder-naming-convention-datalayer-code\/\" \/>\n<meta property=\"og:site_name\" content=\"Riman Agency\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/rimanagency.com\\\/ga4-custom-dimension-builder-naming-convention-datalayer-code\\\/\",\"url\":\"https:\\\/\\\/rimanagency.com\\\/ga4-custom-dimension-builder-naming-convention-datalayer-code\\\/\",\"name\":\"GA4 Custom Dimension Builder \u2014 Naming Convention + DataLayer Code - Riman Agency\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/rimanagency.com\\\/#website\"},\"datePublished\":\"2026-06-18T14:30:48+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/rimanagency.com\\\/ga4-custom-dimension-builder-naming-convention-datalayer-code\\\/#breadcrumb\"},\"inLanguage\":\"fr-CA\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/rimanagency.com\\\/ga4-custom-dimension-builder-naming-convention-datalayer-code\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/rimanagency.com\\\/ga4-custom-dimension-builder-naming-convention-datalayer-code\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/rimanagency.com\\\/home\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"GA4 Custom Dimension Builder \u2014 Naming Convention + DataLayer Code\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/rimanagency.com\\\/#website\",\"url\":\"https:\\\/\\\/rimanagency.com\\\/\",\"name\":\"Riman Agency\",\"description\":\"A Full Service Digital Marketing Agency\",\"publisher\":{\"@id\":\"https:\\\/\\\/rimanagency.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/rimanagency.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-CA\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/rimanagency.com\\\/#organization\",\"name\":\"Riman Agency\",\"url\":\"https:\\\/\\\/rimanagency.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-CA\",\"@id\":\"https:\\\/\\\/rimanagency.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/rimanagency.com\\\/wp-content\\\/uploads\\\/2022\\\/02\\\/RIMANagency-all-logos-1-2.png\",\"contentUrl\":\"https:\\\/\\\/rimanagency.com\\\/wp-content\\\/uploads\\\/2022\\\/02\\\/RIMANagency-all-logos-1-2.png\",\"width\":694,\"height\":211,\"caption\":\"Riman Agency\"},\"image\":{\"@id\":\"https:\\\/\\\/rimanagency.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"GA4 Custom Dimension Builder \u2014 Naming Convention + DataLayer Code - Riman Agency","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:\/\/rimanagency.com\/fr\/ga4-custom-dimension-builder-naming-convention-datalayer-code\/","og_locale":"fr_CA","og_type":"article","og_title":"GA4 Custom Dimension Builder \u2014 Naming Convention + DataLayer Code - Riman Agency","og_description":"GA4 Custom Dimension Builder Build properly-named GA4 custom dimensions. Get the GA4 admin configuration values, dataLayer push code, and Google Tag Manager variable setup in one paste-ready output. Dimension Inputs Business concept (what you want to track)ScopeEvent-scoped (varies per event)User-scoped (set once per user)Item-scoped (e-commerce items)Example value GA4 + GTM Code How to use the [&hellip;]","og_url":"https:\/\/rimanagency.com\/fr\/ga4-custom-dimension-builder-naming-convention-datalayer-code\/","og_site_name":"Riman Agency","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/rimanagency.com\/ga4-custom-dimension-builder-naming-convention-datalayer-code\/","url":"https:\/\/rimanagency.com\/ga4-custom-dimension-builder-naming-convention-datalayer-code\/","name":"GA4 Custom Dimension Builder \u2014 Naming Convention + DataLayer Code - Riman Agency","isPartOf":{"@id":"https:\/\/rimanagency.com\/#website"},"datePublished":"2026-06-18T14:30:48+00:00","breadcrumb":{"@id":"https:\/\/rimanagency.com\/ga4-custom-dimension-builder-naming-convention-datalayer-code\/#breadcrumb"},"inLanguage":"fr-CA","potentialAction":[{"@type":"ReadAction","target":["https:\/\/rimanagency.com\/ga4-custom-dimension-builder-naming-convention-datalayer-code\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/rimanagency.com\/ga4-custom-dimension-builder-naming-convention-datalayer-code\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/rimanagency.com\/home\/"},{"@type":"ListItem","position":2,"name":"GA4 Custom Dimension Builder \u2014 Naming Convention + DataLayer Code"}]},{"@type":"WebSite","@id":"https:\/\/rimanagency.com\/#website","url":"https:\/\/rimanagency.com\/","name":"Agence Riman","description":"Une agence de marketing num\u00e9rique \u00e0 service complet","publisher":{"@id":"https:\/\/rimanagency.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/rimanagency.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-CA"},{"@type":"Organization","@id":"https:\/\/rimanagency.com\/#organization","name":"Agence Riman","url":"https:\/\/rimanagency.com\/","logo":{"@type":"ImageObject","inLanguage":"fr-CA","@id":"https:\/\/rimanagency.com\/#\/schema\/logo\/image\/","url":"https:\/\/rimanagency.com\/wp-content\/uploads\/2022\/02\/RIMANagency-all-logos-1-2.png","contentUrl":"https:\/\/rimanagency.com\/wp-content\/uploads\/2022\/02\/RIMANagency-all-logos-1-2.png","width":694,"height":211,"caption":"Riman Agency"},"image":{"@id":"https:\/\/rimanagency.com\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/rimanagency.com\/fr\/wp-json\/wp\/v2\/pages\/5185","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rimanagency.com\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/rimanagency.com\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/rimanagency.com\/fr\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/rimanagency.com\/fr\/wp-json\/wp\/v2\/comments?post=5185"}],"version-history":[{"count":0,"href":"https:\/\/rimanagency.com\/fr\/wp-json\/wp\/v2\/pages\/5185\/revisions"}],"wp:attachment":[{"href":"https:\/\/rimanagency.com\/fr\/wp-json\/wp\/v2\/media?parent=5185"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}