{"id":139857,"date":"2025-03-17T15:17:15","date_gmt":"2025-03-17T15:17:15","guid":{"rendered":"https:\/\/peraltafinancing.com\/analytics\/enhanced-ecommerce-tips-and-learnings\/"},"modified":"2025-03-17T15:17:15","modified_gmt":"2025-03-17T15:17:15","slug":"enhanced-ecommerce-tips-and-learnings","status":"publish","type":"post","link":"https:\/\/fivemor.com\/?p=139857","title":{"rendered":"Enhanced Ecommerce Tips And Learnings"},"content":{"rendered":"<p> <br \/>\n<\/p>\n<div>\n<p><a href=\"https:\/\/developers.google.com\/analytics\/devguides\/collection\/analyticsjs\/enhanced-ecommerce\">Enhanced Ecommerce<\/a> is undoubtedly an excellent feature of <a href=\"https:\/\/analytics.google.com\">Google Analytics<\/a>. It provides us with a set of reports that truly extend the capabilities of funnel-based website analysis. As I\u2019ve shown before, it\u2019s also very useful for tracking other transactional events on your site, such as <a href=\"https:\/\/www.simoahava.com\/analytics\/track-content-enhanced-ecommerce\/\">content engagement<\/a>.<\/p>\n<div style=\"aspect-ratio: 2126 \/ 962;\" class=\"figure nocaption\">\n<p>    <a href=\"https:\/\/www.simoahava.com\/images\/2015\/09\/enhanced-ecommerce-tips.jpg\" title=\"Enhanced Ecommerce tips\"><\/p>\n<p>    <img decoding=\"async\" class=\"fig-img\" height=\"962\" width=\"2126\" loading=\"lazy\" src=\"https:\/\/www.simoahava.com\/images\/2015\/09\/enhanced-ecommerce-tips.jpg#ZgotmplZ\" alt=\"Enhanced Ecommerce tips\"\/><\/p>\n<p>    <\/a><\/p>\n<\/div>\n<p>However, here\u2019s the thing. It\u2019s not very easy to implement. Even if you get everything right according to the documentation, there are still quite a number of pitfalls, and many of the learnings emerge only through experience. This is where I want to help out, so I composed this post with some of my key findings about Enhanced Ecommerce implementation and use.<\/p>\n<p>It\u2019s well worth learning this stuff, as a fully functional Enhanced Ecommerce implementation might well be the key to finally coming up with a useful report to plaster across your vanity dashboards.<\/p>\n<p>                <span class=\"simmer\"><br \/>\n  <span class=\"close\">X<\/span><\/p>\n<p>\n    <span class=\"fa fa-md fa-bell\"\/><br \/>\n    <strong>The Simmer Newsletter<\/strong>\n  <\/p>\n<p>\n    Subscribe to the <a href=\"https:\/\/www.simoahava.com\/newsletter\/\">Simmer newsletter<\/a> to get the latest news and content from Simo Ahava into your email inbox!\n  <\/p>\n<p>  <\/span><\/p>\n<h2 id=\"1-implementation-via-google-tag-manager\">1. Implementation via Google Tag Manager<\/h2>\n<p>As a self-proclaimed <a href=\"https:\/\/tagmanager.google.com\">Google Tag Manager<\/a> fanatic number 1, I do all my implementations with GTM. There are some quirks you need to consider, though, when implementing Enhanced Ecommerce through GTM. Here they are, in no particular order.<\/p>\n<h3 id=\"the-fleeting-ecommerce-object\">The fleeting <code>ecommerce<\/code> object<\/h3>\n<p>If you use the <strong>Enable Enhanced Ecommerce<\/strong> \/ <strong>Use Data Layer<\/strong> option in your Tags, there\u2019s one very important thing to understand.<\/p>\n<p><strong>Only the most recent <code>ecommerce<\/code> object is included in the hit!<\/strong><\/p>\n<p>In other words, if you do two consecutive <code>dataLayer.push()<\/code> commands with their own \u2018ecommerce\u2019 objects, any Tag which fires after the latter push will only have access to the latter \u2018ecommerce\u2019 object.<\/p>\n<div style=\"aspect-ratio: 642 \/ 232;\" class=\"figure nocaption\">\n<p>    <a href=\"https:\/\/www.simoahava.com\/images\/2015\/09\/ecommerce-features.jpg\" title=\"Use Data Layer\"><\/p>\n<p>    <img decoding=\"async\" class=\"fig-img\" height=\"232\" width=\"642\" loading=\"lazy\" src=\"https:\/\/www.simoahava.com\/images\/2015\/09\/ecommerce-features.jpg#ZgotmplZ\" alt=\"Use Data Layer\"\/><\/p>\n<p>    <\/a><\/p>\n<\/div>\n<p>This is because the \u201cUse Data Layer\u201d option uses <em>version 1<\/em> of the Data Layer, which doesn\u2019t have fancy things like <a href=\"https:\/\/www.simoahava.com\/analytics\/google-tag-manager-data-model\/\"><em>recursive merge<\/em> of objects<\/a>. In practice, this means that an \u2018ecommerce\u2019 object will always overwrite the previous \u2018ecommerce\u2019 object in the data layer, if the <em>version 1<\/em> interface is used.<\/p>\n<div style=\"aspect-ratio: 706 \/ 374;\" class=\"figure nocaption\">\n<p>    <a href=\"https:\/\/www.simoahava.com\/images\/2015\/09\/use-js-variable.jpg\" title=\"Custom JavaScript Variable\"><\/p>\n<p>    <img decoding=\"async\" class=\"fig-img\" height=\"374\" width=\"706\" loading=\"lazy\" src=\"https:\/\/www.simoahava.com\/images\/2015\/09\/use-js-variable.jpg#ZgotmplZ\" alt=\"Custom JavaScript Variable\"\/><\/p>\n<p>    <\/a><\/p>\n<\/div>\n<p>If you <strong>do<\/strong> want to recursively merge \u2018ecommerce\u2019 objects, you will need to use the \u201cRead data from variable\u201d option which becomes available when you uncheck the \u201cUse Data Layer\u201d option. Read on\u2026<\/p>\n<h3 id=\"custom-javascript-variable-to-the-rescue\">Custom JavaScript Variable to the rescue<\/h3>\n<p>I\u2019ve <a href=\"https:\/\/www.simoahava.com\/analytics\/enhanced-ecommerce-with-a-custom-javascript-variable\/\">written about this before<\/a>, and these days I actually only use this option to send the payloads. When you use the Custom JavaScript option (see the <a href=\"https:\/\/developers.google.com\/tag-manager\/enhanced-ecommerce#macro\">developer guide<\/a> for further information), you can create, parse, and delete parts of the \u2018ecommerce\u2019 object until it\u2019s to your liking. This is an incredibly powerful tool, letting you pull in data from multiple sources to compile the object, or allowing you to access the <em>full<\/em> \u2018ecommerce\u2019 object stored in <a href=\"https:\/\/www.simoahava.com\/analytics\/google-tag-manager-data-model\/\">the data model<\/a>, and not just the stunted <em>version 1<\/em> object available if you use the \u201cUse Data Layer\u201d option in your Tags.<\/p>\n<div class=\"highlight\">\n<pre style=\"background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4\"><code class=\"language-javascript\" data-lang=\"javascript\"><span style=\"color:#00a\">function<\/span>() {\n  <span style=\"color:#00a\">var<\/span> ecom = {<span style=\"color:#a50\">'ecommerce'<\/span> : {\n    <span style=\"color:#a50\">'impressions'<\/span> : pageData.productImpressions,\n    <span style=\"color:#a50\">'detail'<\/span> : {\n      <span style=\"color:#a50\">'actionField'<\/span> : {<span style=\"color:#a50\">'list'<\/span> : <span style=\"color:#a50\">'Related Products'<\/span>},\n      <span style=\"color:#a50\">'products'<\/span> : pageData.productDetailView\n    }\n  };\n  <span style=\"color:#00a\">return<\/span> ecom;\n}\n<\/code><\/pre>\n<\/div>\n<p>The example above pulls together both <em>product impressions<\/em> and <em>product detail view<\/em> in a single object, sending the complete payload to Google Analytics with the Tag.<\/p>\n<p>To access a <em>recursively merged<\/em> <code>ecommerce<\/code> object, you will need to create a new Data Layer Variable which accesses the \u2018ecommerce\u2019 object pushed within. Instructions for this can be found in <a href=\"https:\/\/www.simoahava.com\/analytics\/enhanced-ecommerce-with-a-custom-javascript-variable\/\">this article<\/a>.<\/p>\n<h3 id=\"you-can-combine-multiple-data-types-in-a-single-payload\">You can combine multiple data types in a single payload<\/h3>\n<p>This is pretty vaguely covered in the developer guide, but combining data types in a single payload can be very useful if you want to keep the number of requests to Google Analytics down. So, if you want to send multiple \u2018ecommerce\u2019 objects in one single payload, you can, but only if you send one of each object type (<code>promoView<\/code>, <code>promoClick<\/code>, <code>impressions<\/code>, <strong>action<\/strong>). An <strong>action<\/strong> is any Enhanced Ecommerce data type which has the <code>products<\/code> Array. In other words, these are the available <strong>action<\/strong> objects:<\/p>\n<p><code>click<\/code>, <code>detail<\/code>, <code>add<\/code>, <code>remove<\/code>, <code>checkout<\/code>, <code>purchase<\/code>, <code>checkout_option<\/code>, <code>refund<\/code><\/p>\n<p>Also, you <em>can\u2019t<\/em> combine a <code>promoClick<\/code> with a <code>promoView<\/code> or an <strong>action<\/strong> object. These are, thus, the valid combinations:<\/p>\n<ul>\n<li>\n<p><code>impressions<\/code> with one of <code>promoView<\/code>, <code>promoClick<\/code> or <strong>action<\/strong><\/p>\n<\/li>\n<li>\n<p><code>impressions<\/code> with <code>promoView<\/code> and <strong>action<\/strong><\/p>\n<\/li>\n<li>\n<p><code>promoView<\/code> with one of <code>impressions<\/code> or <strong>action<\/strong><\/p>\n<\/li>\n<li>\n<p><code>promoView<\/code> with <code>impressions<\/code> and <strong>action<\/strong><\/p>\n<\/li>\n<li>\n<p><code>promoClick<\/code> with <code>impressions<\/code><\/p>\n<\/li>\n<li>\n<p><strong>action<\/strong> with one of <code>impressions<\/code> or <code>promoView<\/code><\/p>\n<\/li>\n<li>\n<p><strong>action<\/strong> with <code>impressions<\/code> and <code>promoView<\/code><\/p>\n<\/li>\n<\/ul>\n<p>In any case, combining objects into a single payload can truly save a lot of time and make the whole thing more efficient, but don\u2019t forget that Google Analytics has a character limit in the payload!<\/p>\n<h3 id=\"there-is-an-8kb-limit-in-the-payload\">There is an 8KB limit in the payload<\/h3>\n<p>The <strong>analytics.js<\/strong> library refuses to send a hit if the full payload size is larger than 8192 bytes. This does require quite a lot of data to be stuffed within, but it only takes some dozens of product impressions to clog up the channel.<\/p>\n<p>Eivind Savio has written <a href=\"https:\/\/www.savio.no\/analytics\/easier-enhanced-ecommerce-product-promo-tracking\">an excellent post<\/a> about how to manage this overflow, so I suggest you head on over to take a look!<\/p>\n<h2 id=\"2-consistency-is-key\">2. Consistency is key<\/h2>\n<p>Enhanced Ecommerce is comprised almost entirely of hit-level interactions. This means that every Enhanced Ecommerce payload sent to Google Analytics is unique, and does not persists its information across subsequent hits.<\/p>\n<p>This, in turn, basically means that the <code>products<\/code> Array needs to be consistent throughout the funnel. For example, if you have a product which has the category \u2018T-Shirts\u2019, you will need to have this information in all the payloads the product is sent in if you want to query for it across the entire funnel. GTM or GA will not persist this information.<\/p>\n<p>You\u2019ll want to be very careful when designing and developing the Data Layer for your Enhanced Ecommerce payloads. The developers need to understand how important it is to have the product details be identical throughout the funnel process.<\/p>\n<p>This has implications for queries as well. For example, let\u2019s say you send the following two payloads to Google Analytics:<\/p>\n<div class=\"highlight\">\n<pre style=\"background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4\"><code class=\"language-javascript\" data-lang=\"javascript\">dataLayer.push({\n  <span style=\"color:#a50\">'ecommerce'<\/span> : {\n    <span style=\"color:#a50\">'detail'<\/span> : {\n      <span style=\"color:#a50\">'products'<\/span> : [{\n        <span style=\"color:#a50\">'id'<\/span> : <span style=\"color:#a50\">'A12345'<\/span>,\n      }]\n    }\n  },\n  <span style=\"color:#a50\">'event'<\/span> : <span style=\"color:#a50\">'ecommerce'<\/span>\n});\ndataLayer.push({\n  <span style=\"color:#a50\">'ecommerce'<\/span> : {\n    <span style=\"color:#a50\">'add'<\/span> : {\n      <span style=\"color:#a50\">'products'<\/span> : [{\n        <span style=\"color:#a50\">'id'<\/span> : <span style=\"color:#a50\">'A12345'<\/span>,\n        <span style=\"color:#a50\">'name'<\/span> : <span style=\"color:#a50\">'My T-Shirt'<\/span>\n      }]\n    }\n  },\n  <span style=\"color:#a50\">'event'<\/span> : <span style=\"color:#a50\">'ecommerce'<\/span>\n});\n<\/code><\/pre>\n<\/div>\n<p>In this case, querying for product <strong>SKU<\/strong> \u2018A12345\u2019 will return a result when queried against <em>product detail views<\/em> and <em>product adds to cart<\/em>. However, product <strong>name<\/strong> \u2018My T-Shirt\u2019 will only return a result when queried against <em>product adds to cart<\/em>. Since this product name was missing from the \u2018detail\u2019 payload, you won\u2019t be able to query for this information.<\/p>\n<p>Many times when working with an Enhanced Ecommerce implementation which uses client-side methods to populate some of the data (e.g. scraping from the page), this consistency requirement has become a serious issue. I\u2019ve been forced to persist full product information throughout the funnel using solutions like <a href=\"https:\/\/www.simoahava.com\/analytics\/two-ways-to-persist-data-via-google-tag-manager\/\">HTML5 Storage and cookies<\/a>.<\/p>\n<p>This is not the recommended approach.<\/p>\n<p>The best way is to render product details in <code>dataLayer<\/code> as the page loads, making sure your developers add them consistently in all steps of the funnel. Once the products are in <code>dataLayer<\/code>, you can use the <a href=\"https:\/\/www.simoahava.com\/analytics\/enhanced-ecommerce-with-a-custom-javascript-variable\/\">Custom JavaScript Variable method<\/a> to pull them out and parse them into a valid <code>ecommerce<\/code> object.<\/p>\n<p>Note that <strong>checkout<\/strong> is a bit exceptional in terms of consistency. It\u2019s enough to send the \u2018products\u2019 Array with <em>just the first step<\/em>. This is because Enhanced Ecommerce only has an aggregate <strong>productCheckouts<\/strong> metric, which increases by one when a product is sent with the first checkout step. The <strong>checkout option<\/strong> and the rest of the checkout steps need not, and thus perhaps should not include product information.<\/p>\n<h2 id=\"3-product-scoped-custom-dimensions-and-metrics\">3. Product-scoped custom dimensions and metrics<\/h2>\n<p>Product-scoped custom dimensions and metrics are a wonderful way to extend the rather limited set of information you can send with each product.<\/p>\n<p>To send a product-scoped dimension or metric in Google Tag Manager, you need to include the <code>dimensionX<\/code> and\/or <code>metricX<\/code> key in the respective product in the payload you want to send the dimension\/metric in. Again, as in the previous chapter, product-scoped dimensions and metrics do not persist, so you will need to include them consistently in the payloads.<\/p>\n<p>For example, to send a dimension with details about the T-shirt size, and a metric with the tax-free value of the shirt, the <code>dataLayer.push()<\/code> would look like this:<\/p>\n<div class=\"highlight\">\n<pre style=\"background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4\"><code class=\"language-javascript\" data-lang=\"javascript\">dataLayer.push({\n  <span style=\"color:#a50\">'ecommerce'<\/span> : {\n    <span style=\"color:#a50\">'detail'<\/span> : {\n      <span style=\"color:#a50\">'products'<\/span> : [{\n        <span style=\"color:#a50\">'id'<\/span> : <span style=\"color:#a50\">'A12345'<\/span>,\n        <span style=\"color:#a50\">'name'<\/span> : <span style=\"color:#a50\">'My T-Shirt'<\/span>,\n        <span style=\"color:#a50\">'dimension3'<\/span> : <span style=\"color:#a50\">'Large'<\/span>,\n        <span style=\"color:#a50\">'metric2'<\/span> : <span style=\"color:#099\">11.99<\/span>\n      }]\n    }\n  },\n  <span style=\"color:#a50\">'event'<\/span> : <span style=\"color:#a50\">'ecommerce'<\/span>\n});\n<\/code><\/pre>\n<\/div>\n<p>Naturally, a payload like this will only let you query for this information with <em>product detail view<\/em> queries, and for this particular product only. These dimensions do not persist across funnel payloads, nor do they cover multiple products. They\u2019re <strong>per product, per hit<\/strong>.<\/p>\n<p>I\u2019ve written about product-scoped custom dimensions and metrics before, so remember to check out <a href=\"https:\/\/www.simoahava.com\/gtm-tips\/product-scoped-custom-dimensions-and-metrics\/\">this article<\/a> as well.<\/p>\n<h2 id=\"4-product-categories\">4. Product categories<\/h2>\n<p>The \u2018category\u2019 field has been available in \u201ctraditional\u201d Ecommerce as well, but it\u2019s been slightly revamped in Enhanced Ecommerce.<\/p>\n<p>First of all, the consistency requirement applies here as well. If you want to make full-funnel queries against a product category, you will need to send the category with every single product in all steps of the funnel you want to query against. The field does not persist.<\/p>\n<p>The other thing about categories is that you can send <strong>five levels<\/strong> of categories, resulting in some sweet segmentation in your reports. These levels are sent by using the slash (<strong>\/<\/strong>) between levels, where level 1 is the first item in the string, level 2 the second, etc. So, a full five-level product category string would look like this in a payload:<\/p>\n<div class=\"highlight\">\n<pre style=\"background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4\"><code class=\"language-javascript\" data-lang=\"javascript\">dataLayer.push({\n  <span style=\"color:#a50\">'ecommerce'<\/span> : {\n    <span style=\"color:#a50\">'detail'<\/span> : {\n      <span style=\"color:#a50\">'products'<\/span> : [{\n        <span style=\"color:#a50\">'id'<\/span> : <span style=\"color:#a50\">'A12345'<\/span>,\n        <span style=\"color:#a50\">'category'<\/span> : <span style=\"color:#a50\">'Clothes\/T-Shirts\/Men\/Sleeveless\/Used'<\/span>\n      }]\n    }\n  }\n});\n<\/code><\/pre>\n<\/div>\n<p>This way, you can query for individual category levels with the following Google Analytics dimensions:<\/p>\n<p>Product Category Level 1: <strong>Clothes<\/strong><br \/>Product Category Level 2: <strong>T-Shirts<\/strong><br \/>Product Category Level 3: <strong>Men<\/strong><br \/>Product Category Level 4: <strong>Sleeveless<\/strong><br \/>Product Category Level 5: <strong>Used<\/strong><\/p>\n<p>These aren\u2019t available in the default reports, but you can create custom reports easily, or use them as secondary dimensions.<\/p>\n<div style=\"aspect-ratio: 460 \/ 668;\" class=\"figure nocaption\">\n<p>    <a href=\"https:\/\/www.simoahava.com\/images\/2015\/09\/product-categories.jpg\" title=\"Product category levels\"><\/p>\n<p>    <img decoding=\"async\" class=\"fig-img\" height=\"668\" width=\"460\" loading=\"lazy\" src=\"https:\/\/www.simoahava.com\/images\/2015\/09\/product-categories.jpg#ZgotmplZ\" alt=\"Product category levels\"\/><\/p>\n<p>    <\/a><\/p>\n<\/div>\n<p>If your category names contain the character \u2018\/\u2019, you will need to write this in a different way, as there\u2019s no way to encode the slash without it being interpreted as a category delimiter.<\/p>\n<h2 id=\"5-product-list-attribution\">5. Product list attribution<\/h2>\n<p>Not everything about Enhanced Ecommerce is hit-level, though. Product lists and promotions have an attribution mechanism, where the <strong>last<\/strong> list or promotion that the user interacted with before a purchase within the same session is the one which gets full credit for the purchase. In other words, you <strong>don\u2019t<\/strong> need to persist list information throughout the funnel. It\u2019s enough to send it only where the list interaction takes place, and the attribution will take care of the rest.<\/p>\n<p>Remember to check <a href=\"https:\/\/support.google.com\/analytics\/answer\/6014841?hl=en#product_attribution\">the developer guide<\/a> for a description of this attribution mechanism.<\/p>\n<h2 id=\"6-summary\">6. Summary<\/h2>\n<p>This short list of tips includes a number of things that are either vaguely described in the developer guides, or are difficult to grasp without concrete examples.<\/p>\n<p>If there\u2019s one thing that stands out, it\u2019s the <strong>consistency<\/strong> requirement. It\u2019s very important to keep product details consistent across the funnel. A single change in the product name, for example, can make reporting extremely difficult, as you\u2019ll need to consolidate multiple product names under a single SKU in your reports.<\/p>\n<p>Did I miss some important tip \/ learning? Do you have something to add? Sound off in the comments!<\/p>\n<\/p><\/div>\n\n","protected":false},"excerpt":{"rendered":"<p>Enhanced Ecommerce is undoubtedly an excellent feature of Google Analytics. It provides us with a set of reports that truly extend the capabilities of funnel-based website analysis. As I\u2019ve shown before, it\u2019s also very useful for tracking other transactional events on your site, such as content engagement. However, here\u2019s the thing. It\u2019s not very easy [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":139858,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12033],"tags":[11161,14269,30642,3535],"dealstore":[],"offerexpiration":[],"class_list":["post-139857","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-analytics","tag-ecommerce","tag-enhanced","tag-learnings","tag-tips"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Enhanced Ecommerce Tips And Learnings - Som2ny Network<\/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:\/\/fivemor.com\/?p=139857\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Enhanced Ecommerce Tips And Learnings - Som2ny Network\" \/>\n<meta property=\"og:description\" content=\"Enhanced Ecommerce is undoubtedly an excellent feature of Google Analytics. It provides us with a set of reports that truly extend the capabilities of funnel-based website analysis. As I\u2019ve shown before, it\u2019s also very useful for tracking other transactional events on your site, such as content engagement. However, here\u2019s the thing. It\u2019s not very easy [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fivemor.com\/?p=139857\" \/>\n<meta property=\"og:site_name\" content=\"Som2ny Network\" \/>\n<meta property=\"article:published_time\" content=\"2025-03-17T15:17:15+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/03\/enhanced-ecommerce-tips.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2126\" \/>\n\t<meta property=\"og:image:height\" content=\"962\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fivemor.com\/?p=139857#article\",\"isPartOf\":{\"@id\":\"https:\/\/fivemor.com\/?p=139857\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\/\/fivemor.com\/#\/schema\/person\/b85e3c3dc0e1daea076524dc8810c371\"},\"headline\":\"Enhanced Ecommerce Tips And Learnings\",\"datePublished\":\"2025-03-17T15:17:15+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fivemor.com\/?p=139857\"},\"wordCount\":1764,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fivemor.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/fivemor.com\/?p=139857#primaryimage\"},\"thumbnailUrl\":\"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/03\/enhanced-ecommerce-tips.jpg\",\"keywords\":[\"ECommerce\",\"enhanced\",\"Learnings\",\"Tips\"],\"articleSection\":[\"Analytics\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fivemor.com\/?p=139857#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fivemor.com\/?p=139857\",\"url\":\"https:\/\/fivemor.com\/?p=139857\",\"name\":\"Enhanced Ecommerce Tips And Learnings - Som2ny Network\",\"isPartOf\":{\"@id\":\"https:\/\/fivemor.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/fivemor.com\/?p=139857#primaryimage\"},\"image\":{\"@id\":\"https:\/\/fivemor.com\/?p=139857#primaryimage\"},\"thumbnailUrl\":\"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/03\/enhanced-ecommerce-tips.jpg\",\"datePublished\":\"2025-03-17T15:17:15+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fivemor.com\/?p=139857#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fivemor.com\/?p=139857\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/fivemor.com\/?p=139857#primaryimage\",\"url\":\"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/03\/enhanced-ecommerce-tips.jpg\",\"contentUrl\":\"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/03\/enhanced-ecommerce-tips.jpg\",\"width\":2126,\"height\":962},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fivemor.com\/?p=139857#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/fivemor.com\/?bp_activities=1\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Enhanced Ecommerce Tips And Learnings\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fivemor.com\/#website\",\"url\":\"https:\/\/fivemor.com\/\",\"name\":\"Som2ny Network\",\"description\":\"Daily Deals\",\"publisher\":{\"@id\":\"https:\/\/fivemor.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fivemor.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/fivemor.com\/#organization\",\"name\":\"Som2ny Network\",\"url\":\"https:\/\/fivemor.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/fivemor.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/fivemor.com\/wp-content\/uploads\/2026\/07\/4a0953c4-logo-300x86-1.png\",\"contentUrl\":\"https:\/\/fivemor.com\/wp-content\/uploads\/2026\/07\/4a0953c4-logo-300x86-1.png\",\"width\":300,\"height\":86,\"caption\":\"Som2ny Network\"},\"image\":{\"@id\":\"https:\/\/fivemor.com\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/fivemor.com\/#\/schema\/person\/b85e3c3dc0e1daea076524dc8810c371\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/fivemor.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/729ae85bf62b9917e93538db2f2688ca?s=96&r=g&default=https%3A%2F%2Ffivemor.com%2Fwp-content%2Fplugins%2Fbuddypress-first-letter-avatar%2Fimages%2Fdefault%2F96%2Flatin_a.png\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/729ae85bf62b9917e93538db2f2688ca?s=96&r=g&default=https%3A%2F%2Ffivemor.com%2Fwp-content%2Fplugins%2Fbuddypress-first-letter-avatar%2Fimages%2Fdefault%2F96%2Flatin_a.png\",\"caption\":\"admin\"},\"sameAs\":[\"https:\/\/fivemor.com\"],\"url\":\"https:\/\/fivemor.com\/?author=1\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Enhanced Ecommerce Tips And Learnings - Som2ny Network","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:\/\/fivemor.com\/?p=139857","og_locale":"en_US","og_type":"article","og_title":"Enhanced Ecommerce Tips And Learnings - Som2ny Network","og_description":"Enhanced Ecommerce is undoubtedly an excellent feature of Google Analytics. It provides us with a set of reports that truly extend the capabilities of funnel-based website analysis. As I\u2019ve shown before, it\u2019s also very useful for tracking other transactional events on your site, such as content engagement. However, here\u2019s the thing. It\u2019s not very easy [&hellip;]","og_url":"https:\/\/fivemor.com\/?p=139857","og_site_name":"Som2ny Network","article_published_time":"2025-03-17T15:17:15+00:00","og_image":[{"width":2126,"height":962,"url":"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/03\/enhanced-ecommerce-tips.jpg","type":"image\/jpeg"}],"author":"admin","twitter_card":"summary_large_image","twitter_misc":{"Written by":"admin","Est. reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fivemor.com\/?p=139857#article","isPartOf":{"@id":"https:\/\/fivemor.com\/?p=139857"},"author":{"name":"admin","@id":"https:\/\/fivemor.com\/#\/schema\/person\/b85e3c3dc0e1daea076524dc8810c371"},"headline":"Enhanced Ecommerce Tips And Learnings","datePublished":"2025-03-17T15:17:15+00:00","mainEntityOfPage":{"@id":"https:\/\/fivemor.com\/?p=139857"},"wordCount":1764,"commentCount":0,"publisher":{"@id":"https:\/\/fivemor.com\/#organization"},"image":{"@id":"https:\/\/fivemor.com\/?p=139857#primaryimage"},"thumbnailUrl":"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/03\/enhanced-ecommerce-tips.jpg","keywords":["ECommerce","enhanced","Learnings","Tips"],"articleSection":["Analytics"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fivemor.com\/?p=139857#respond"]}]},{"@type":"WebPage","@id":"https:\/\/fivemor.com\/?p=139857","url":"https:\/\/fivemor.com\/?p=139857","name":"Enhanced Ecommerce Tips And Learnings - Som2ny Network","isPartOf":{"@id":"https:\/\/fivemor.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/fivemor.com\/?p=139857#primaryimage"},"image":{"@id":"https:\/\/fivemor.com\/?p=139857#primaryimage"},"thumbnailUrl":"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/03\/enhanced-ecommerce-tips.jpg","datePublished":"2025-03-17T15:17:15+00:00","breadcrumb":{"@id":"https:\/\/fivemor.com\/?p=139857#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fivemor.com\/?p=139857"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/fivemor.com\/?p=139857#primaryimage","url":"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/03\/enhanced-ecommerce-tips.jpg","contentUrl":"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/03\/enhanced-ecommerce-tips.jpg","width":2126,"height":962},{"@type":"BreadcrumbList","@id":"https:\/\/fivemor.com\/?p=139857#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/fivemor.com\/?bp_activities=1"},{"@type":"ListItem","position":2,"name":"Enhanced Ecommerce Tips And Learnings"}]},{"@type":"WebSite","@id":"https:\/\/fivemor.com\/#website","url":"https:\/\/fivemor.com\/","name":"Som2ny Network","description":"Daily Deals","publisher":{"@id":"https:\/\/fivemor.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fivemor.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/fivemor.com\/#organization","name":"Som2ny Network","url":"https:\/\/fivemor.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/fivemor.com\/#\/schema\/logo\/image\/","url":"https:\/\/fivemor.com\/wp-content\/uploads\/2026\/07\/4a0953c4-logo-300x86-1.png","contentUrl":"https:\/\/fivemor.com\/wp-content\/uploads\/2026\/07\/4a0953c4-logo-300x86-1.png","width":300,"height":86,"caption":"Som2ny Network"},"image":{"@id":"https:\/\/fivemor.com\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/fivemor.com\/#\/schema\/person\/b85e3c3dc0e1daea076524dc8810c371","name":"admin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/fivemor.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/729ae85bf62b9917e93538db2f2688ca?s=96&r=g&default=https%3A%2F%2Ffivemor.com%2Fwp-content%2Fplugins%2Fbuddypress-first-letter-avatar%2Fimages%2Fdefault%2F96%2Flatin_a.png","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/729ae85bf62b9917e93538db2f2688ca?s=96&r=g&default=https%3A%2F%2Ffivemor.com%2Fwp-content%2Fplugins%2Fbuddypress-first-letter-avatar%2Fimages%2Fdefault%2F96%2Flatin_a.png","caption":"admin"},"sameAs":["https:\/\/fivemor.com"],"url":"https:\/\/fivemor.com\/?author=1"}]}},"_links":{"self":[{"href":"https:\/\/fivemor.com\/index.php?rest_route=\/wp\/v2\/posts\/139857","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fivemor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fivemor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=139857"}],"version-history":[{"count":0,"href":"https:\/\/fivemor.com\/index.php?rest_route=\/wp\/v2\/posts\/139857\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=\/wp\/v2\/media\/139858"}],"wp:attachment":[{"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=139857"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=139857"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=139857"},{"taxonomy":"dealstore","embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fdealstore&post=139857"},{"taxonomy":"offerexpiration","embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fofferexpiration&post=139857"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}