{"id":7244,"date":"2021-06-28T05:26:14","date_gmt":"2021-06-28T05:26:14","guid":{"rendered":"https:\/\/staging.datarevolt.agency\/?p=1158"},"modified":"2021-06-28T05:26:14","modified_gmt":"2021-06-28T05:26:14","slug":"loaded-vs-seen-products-user-clusters-project","status":"publish","type":"post","link":"https:\/\/datarevolt.agency\/ro\/loaded-vs-seen-products-user-clusters-project\/","title":{"rendered":"Loaded vs. seen products &#8211; User clusters project"},"content":{"rendered":"<p>You can find this report under Conversions section &gt; Ecommerce &gt; Product List Performance. Of course, you wouldn\u2019t find it if you don\u2019t have:<\/p>\n<ul>\n<li>enhanced ecommerce enabled<\/li>\n<li>website tagged with the enhanced ecommerce tracking code<\/li>\n<li>product lists defined within the website (ex. Search list, Category list, Recently Viewed Products list, etc.)<\/li>\n<\/ul>\n<p>The Product List Performance report in Google Analytics V3 is the place where you can see how many times a product showed up within a list (product impressions), how many times was clicked (product clicks), added to cart, went to checkout and how many times was bought. Pretty cool, right?<\/p>\n<p>But how exactly the product impressions are counted? Can we trust those numbers in the report or should we question that metric?<\/p>\n<p><strong>Let\u2019s look at this process in more detail.<\/strong><\/p>\n<p>All started when a client of ours in the real estate vertical wanted to implement an internal system which will provide a widget containing fitted properties for the users when browsing their website. How will the client know if a user is suited to receive a personalized recommendation? Well, we had implemented a system which attributed points to that user depending on his actions on the website but this is a subject to another article.<\/p>\n<p>Having this recommendation system in mind we started to develop the tracking plan and picture how the data will be reported in Google Analytics in a manner that could offer insights for the business. The main idea was to raise the number of leads per user meaning that a user will contact more agencies than before because it is supposed that he will receive better properties recommendations within that widget.<\/p>\n<p>After analyzing the tracking plan we concluded that a big issue will be the Product List Performance report and let\u2019s see why.<\/p>\n<p>The widget itself is a list because it loads a list of properties so we had to implement product impressions and product clicks from enhanced ecommerce.<\/p>\n<p>When a list of products is <em>loaded <\/em>we send this information to Google Analytics by sending a request containing the object structure as described in the Enhanced Ecommerce documentation for Product Impressions.<\/p>\n<p>This object can be composed by scratching the DOM and grabbing the product info or by reading the information from dataLayer if available.<\/p>\n<p>This request is sent when a product is <strong>loaded<\/strong> in the DOM, not when a user is actually seeing the product which makes a huge difference.<\/p>\n<p>We wanted to measure the performance of the widget but it will be correct to compare 2 widgets in this scenario:<\/p>\n<ul>\n<li>One loaded in the DOM, not viewed by the user: 1 product impressions, 0 product clicks, 0 leads<\/li>\n<li>The other one viewed by the user in viewport: 1 product impressions, 1 product click, 1 lead<\/li>\n<\/ul>\n<p>This example wouldn\u2019t have told us the widget performance.<\/p>\n<p><strong>So what did we do?<\/strong><\/p>\n<p>First of all we had to be sure that we will collect product impressions only when a widget enters in the user\u2019s viewport. For that to happen we\u2019ve created a script (custom HTML type in GTM) that can detect when a property is in viewport and grabs product information that we need to build productImpressions object.<\/p>\n<p><strong>This is how it works:<\/strong><\/p>\n<p>window.scrollingTracker = {<br \/>\nitemSelector: &#8216;.box-recomandate&#8217;, \/\/Implementation DEPENDENT<br \/>\ncurrentItemSelector: null,<br \/>\nitemIdAttr: &#8216;data-id-cod&#8217;, \/\/Implementation DEPENDENT<br \/>\nitemNameAttr: &#8216;data-name&#8217;, \/\/Implementation DEPENDENT<br \/>\nitemPriceAttr: &#8216;data-price&#8217;, \/\/Implementation DEPENDENT<br \/>\nitemPositionAttr: &#8216;data-position&#8217;, \/\/Implementation DEPENDENT<br \/>\nitemBrandAttr: &#8216;data-camere&#8217;, \/\/Implementation DEPENDENT<br \/>\nitemCategoryAttr: &#8216;data-judet&#8217;, \/\/Implementation DEPENDENT<br \/>\nitemSourceAttr: &#8216;data-recomandation-source&#8217;, \/\/Implementation DEPENDENT<br \/>\nitemListAttr: &#8216;data-id-list&#8217;,<br \/>\nitemVariantAttr: &#8216;data-zona&#8217;,<br \/>\nitemOffsetLimit: 0.3, \/\/Implementation DEPENDENT<br \/>\nscrollTimeLimit: 500, \/\/Implementation DEPENDENT<br \/>\nlastScrollTimestamp: 0,<br \/>\ntimeoutID: null,<br \/>\nvisitedElems: {}<br \/>\n};<\/p>\n<p>&nbsp;<\/p>\n<div data-mobiledoc=\"{&quot;version&quot;:&quot;0.3.2&quot;,&quot;atoms&quot;:[[&quot;soft-return&quot;,&quot;&quot;,{}],[&quot;soft-return&quot;,&quot;&quot;,{}],[&quot;soft-return&quot;,&quot;&quot;,{}],[&quot;soft-return&quot;,&quot;&quot;,{}],[&quot;soft-return&quot;,&quot;&quot;,{}],[&quot;soft-return&quot;,&quot;&quot;,{}],[&quot;soft-return&quot;,&quot;&quot;,{}],[&quot;soft-return&quot;,&quot;&quot;,{}],[&quot;soft-return&quot;,&quot;&quot;,{}],[&quot;soft-return&quot;,&quot;&quot;,{}],[&quot;soft-return&quot;,&quot;&quot;,{}],[&quot;soft-return&quot;,&quot;&quot;,{}],[&quot;soft-return&quot;,&quot;&quot;,{}],[&quot;soft-return&quot;,&quot;&quot;,{}],[&quot;soft-return&quot;,&quot;&quot;,{}],[&quot;soft-return&quot;,&quot;&quot;,{}],[&quot;soft-return&quot;,&quot;&quot;,{}],[&quot;soft-return&quot;,&quot;&quot;,{}],[&quot;soft-return&quot;,&quot;&quot;,{}]],&quot;cards&quot;:[],&quot;markups&quot;:[[&quot;em&quot;],[&quot;strong&quot;]],&quot;sections&quot;:[[1,&quot;p&quot;,[[0,[],0,&quot;In the above code we\u2019ve declared the keys that we will use to structure the data we need.&quot;],[1,[],0,0]]],[1,&quot;p&quot;,[[0,[0],1,&quot;itemSelector: \" data-id-cod=\"\" data-name=\"\" data-price=\"\" data-position=\"\" data-camere=\"\" data-judet=\"\" data-recomandation-source=\"\" data-id-list=\"\" data-zona=\"\">\n<div>\n<p>In the above code we\u2019ve declared the keys that we will use to structure the data we need.<\/p>\n<p><em>itemSelector: &#8216;.box-recomandate\u2019<\/em><\/p>\n<p>Is selecting the element where the recommended properties appeared. It is implementation dependent so you should change its value.<\/p>\n<p><em>currentItemSelector: null<\/em><\/p>\n<p>This key is set <strong>null<\/strong> by default because further in the script it will be assigned a value of \u201citemSelector\u201d. Why? Because we will collect the value of properties entered in the viewport only once even though the user is scrolling up and down and the property is viewed multiple times.<\/p>\n<p><em>itemIdAttr: &#8216;data-id-cod&#8217;, \/\/Implementation DEPENDENT<\/em><\/p>\n<p><em>itemNameAttr: &#8216;data-name&#8217;, \/\/Implementation DEPENDENT<\/em><\/p>\n<p><em>itemPriceAttr: &#8216;data-price&#8217;, \/\/Implementation DEPENDENT<\/em><\/p>\n<p><em>itemPositionAttr: &#8216;data-position&#8217;, \/\/Implementation DEPENDENT<\/em><\/p>\n<p><em>itemBrandAttr: &#8216;data-camere&#8217;, \/\/Implementation DEPENDENT<\/em><\/p>\n<p><em>itemCategoryAttr: &#8216;data-judet&#8217;, \/\/Implementation DEPENDENT<\/em><\/p>\n<p><em>itemSourceAttr: &#8216;data-recomandation-source&#8217;, \/\/Implementation DEPENDENT<\/em><\/p>\n<p><em>itemListAttr: &#8216;data-id-list&#8217;,<\/em><\/p>\n<p><em>itemVariantAttr: &#8216;data-zona&#8217;,<\/em><\/p>\n<p>These are the property attributes that will be used in building the productImpressions object.<\/p>\n<p><em>itemOffsetLimit: 0.3, <\/em><\/p>\n<p>This means that we are collecting the property information when is 70% visible in the viewport<\/p>\n<p><em>scrollTimeLimit: 500, <\/em><\/p>\n<p>We set a minimum time limit for a property to stay in the viewport. You can change this at whatever time you want but we considered if a property stays half a second in the user\u2019s view port it is enough time for that property to be noticed and to attract the user&#8217;s attention.<\/p>\n<p>function gaIsElementInViewport(el) {<\/p>\n<p>var top = el.offsetTop;<\/p>\n<p>var left = el.offsetLeft;<\/p>\n<p>var width = el.offsetWidth;<\/p>\n<p>var height = el.offsetHeight;<\/p>\n<p>\/\/ console.log(top + &#8221; &#8221; + left + &#8221; &#8221; + width + &#8221; &#8221; + height);<\/p>\n<p>while (el.offsetParent) {<\/p>\n<p>el = el.offsetParent;<\/p>\n<p>top += el.offsetTop;<\/p>\n<p>left += el.offsetLeft;<\/p>\n<p>}<\/p>\n<p>var itemOffsetHeightMargin = window.scrollingTracker.itemOffsetLimit * height;<\/p>\n<p>return (<\/p>\n<p>top &gt;= (window.pageYOffset &#8211; itemOffsetHeightMargin) &amp;&amp;<\/p>\n<p>left &gt;= window.pageXOffset &amp;&amp;<\/p>\n<p>(top + height) &lt;= (window.pageYOffset + window.innerHeight + itemOffsetHeightMargin) &amp;&amp;<\/p>\n<p>(left + width) &lt;= (window.pageXOffset + window.innerWidth)<\/p>\n<p>);<\/p>\n<p>}<\/p>\n<p>Afterwards we\u2019ve declared a function that will help us further in the script to calculate the distance from the page top and left to the selected widget.<\/p>\n<p>function getElementsInViewport() {<\/p>\n<p>if(window.scrollingTracker.currentItemSelector === null) {<\/p>\n<p>window.scrollingTracker.currentItemSelector = window.scrollingTracker.itemSelector;<\/p>\n<p>}<\/p>\n<p>var elems = document.querySelectorAll(window.scrollingTracker.currentItemSelector);<\/p>\n<p>var el = [];<\/p>\n<p>for (var i = 0; i &lt; elems.length; i++) {<\/p>\n<p>var elId = elems[i].getAttribute(window.scrollingTracker.itemIdAttr);<\/p>\n<p>var elName = elems[i].getAttribute(window.scrollingTracker.itemNameAttr);<\/p>\n<p>var elPrice = elems[i].getAttribute(window.scrollingTracker.itemPriceAttr);<\/p>\n<p>var elPosition = i + 1;<\/p>\n<p>var elBrand = elems[i].getAttribute(window.scrollingTracker.itemBrandAttr);<\/p>\n<p>var elVariant = elems[i].getAttribute(window.scrollingTracker.itemVariantAttr);<\/p>\n<p>var elList = elems[i].getAttribute(window.scrollingTracker.itemListAttr);<\/p>\n<p>var elCategory = elems[i].getAttribute(window.scrollingTracker.itemCategoryAttr);<\/p>\n<p>var elSource = elems[i].getAttribute(window.scrollingTracker.itemSourceAttr);<\/p>\n<p>if (window.scrollingTracker.visitedElems[elId] !== 1) {<\/p>\n<p>if (gaIsElementInViewport(elems[i])) {<\/p>\n<p>\/\/console.log(elId);<\/p>\n<p>window.scrollingTracker.visitedElems[elId] = 1;<\/p>\n<p>el.push({<\/p>\n<p>&#8216;id&#8217;: elId,<\/p>\n<p>&#8216;name&#8217;: elName,<\/p>\n<p>&#8216;price&#8217;: elPrice,<\/p>\n<p>&#8216;position&#8217;: elPosition,<\/p>\n<p>&#8216;category&#8217;: elCategory,<\/p>\n<p>&#8216;variant&#8217;: elVariant,<\/p>\n<p>&#8216;brand&#8217;: elBrand,<\/p>\n<p>&#8216;list&#8217;: elList,<\/p>\n<p>&#8216;dimension53&#8217;: elSource,<\/p>\n<p>&#8216;metric5&#8217;: 1<\/p>\n<p>});<\/p>\n<p>}<\/p>\n<p>}<\/p>\n<p>}<\/p>\n<p>if (el.length != 0) {<\/p>\n<p>\/\/ console.log(el);<\/p>\n<p>dataLayer.push({<\/p>\n<p>&#8216;ecommerce&#8217;: {<\/p>\n<p>&#8216;impressions&#8217;: el<\/p>\n<p>},<\/p>\n<p>&#8216;event&#8217;: &#8216;productVisibility&#8217;,<\/p>\n<p>});<\/p>\n<p>}<\/p>\n<p>}<\/p>\n<p>This is where the magic happens.<\/p>\n<p>The script is pushing to the dataLayer the <strong>enhanced ecommerce product impressions object <\/strong>that we need to collect only when the property is visible for the user in the viewport.<\/p>\n<p>You can see that we are also sending \u00a0<strong>&#8216;metric5&#8217;: 1 <\/strong>in order to count how many times a property was viewed in the viewport. We use this metric for calculation of the following metrics:<\/p>\n<ul>\n<li>Property List Views Seen (custom metric)<\/li>\n<li>Property List Views Seen Ration (calculated metric)<\/li>\n<li>Property List CTR (calculated metric)<\/li>\n<\/ul>\n<p>To collect the data we created the following tag in GTM in which we checked the \u201cUse Data Layer\u201d feature so the information we sent by the custom HTML tag to be read and sent in Google Analytics.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1162\" src=\"https:\/\/datarevolt.agency\/wp-content\/uploads\/2022\/10\/use-data-layer-gtm.png\" alt=\"use-data-layer-gtm\" width=\"590\" height=\"899\" \/><\/p>\n<div data-mobiledoc=\"{&quot;version&quot;:&quot;0.3.2&quot;,&quot;atoms&quot;:[],&quot;cards&quot;:[],&quot;markups&quot;:[],&quot;sections&quot;:[[1,&quot;p&quot;,[[0,[],0,&quot;Last step was to create a custom report with the setup like the one below.&quot;]]]]}\">\n<div>\n<p>Last step was to create a custom report with the setup like the one below.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-1163\" src=\"https:\/\/datarevolt.agency\/wp-content\/uploads\/2022\/10\/edit-custom-report-1024x724.png\" alt=\"edit-custom-report\" width=\"1024\" height=\"724\" srcset=\"https:\/\/datarevolt.agency\/wp-content\/uploads\/2022\/10\/edit-custom-report-1024x724.png 1024w, https:\/\/datarevolt.agency\/wp-content\/uploads\/2022\/10\/edit-custom-report-300x212.png 300w, https:\/\/datarevolt.agency\/wp-content\/uploads\/2022\/10\/edit-custom-report-768x543.png 768w, https:\/\/datarevolt.agency\/wp-content\/uploads\/2022\/10\/edit-custom-report-1536x1086.png 1536w, https:\/\/datarevolt.agency\/wp-content\/uploads\/2022\/10\/edit-custom-report-18x12.png 18w, https:\/\/datarevolt.agency\/wp-content\/uploads\/2022\/10\/edit-custom-report.png 1999w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<div data-mobiledoc=\"{&quot;version&quot;:&quot;0.3.2&quot;,&quot;atoms&quot;:[],&quot;cards&quot;:[],&quot;markups&quot;:[],&quot;sections&quot;:[[1,&quot;p&quot;,[[0,[],0,&quot;And this is the report that we got in the end.&quot;]]]]}\">\n<div>\n<p>And this is the report that we got in the end.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-1164\" src=\"https:\/\/datarevolt.agency\/wp-content\/uploads\/2022\/10\/report-gtm-1024x429.png\" alt=\"report-gtm\" width=\"1024\" height=\"429\" srcset=\"https:\/\/datarevolt.agency\/wp-content\/uploads\/2022\/10\/report-gtm-1024x429.png 1024w, https:\/\/datarevolt.agency\/wp-content\/uploads\/2022\/10\/report-gtm-300x126.png 300w, https:\/\/datarevolt.agency\/wp-content\/uploads\/2022\/10\/report-gtm-768x322.png 768w, https:\/\/datarevolt.agency\/wp-content\/uploads\/2022\/10\/report-gtm-1536x644.png 1536w, https:\/\/datarevolt.agency\/wp-content\/uploads\/2022\/10\/report-gtm-18x8.png 18w, https:\/\/datarevolt.agency\/wp-content\/uploads\/2022\/10\/report-gtm.png 1999w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<div data-mobiledoc=\"{&quot;version&quot;:&quot;0.3.2&quot;,&quot;atoms&quot;:[[&quot;soft-return&quot;,&quot;&quot;,{}],[&quot;soft-return&quot;,&quot;&quot;,{}],[&quot;soft-return&quot;,&quot;&quot;,{}],[&quot;soft-return&quot;,&quot;&quot;,{}]],&quot;cards&quot;:[],&quot;markups&quot;:[[&quot;em&quot;]],&quot;sections&quot;:[[1,&quot;p&quot;,[[0,[],0,&quot;As you can see, only 12.34% of the properties loaded in the website are visible to the user. This is a great insight that can be used in many ways:&quot;]]],[3,&quot;ul&quot;,[[[0,[],0,&quot;a much lower number of properties can be loaded within a list without to affect the user experience but to improve the site performance&quot;]],[[0,[],0,&quot;rearrangement of the pagination&quot;]],[[0,[],0,&quot;slots customization and so on\u2026&quot;],[1,[],0,0],[1,[],0,1],[1,[],0,2],[1,[],0,3],[0,[],0,&quot;That being said, we can see clearly that the Product List Performance report as it is now in Google Analytics holds just half of the truth. A more customized solution is needed in order to measure in an accurate way the performance of the &quot;],[0,[0],1,&quot;product &quot;],[0,[],0,&quot;lists (whatever a &quot;],[0,[0],1,&quot;product&quot;],[0,[],0,&quot; may be).&quot;]]]]]}\">\n<div>\n<p>As you can see, only 12.34% of the properties loaded in the website are visible to the user. This is a great insight that can be used in many ways:<\/p>\n<ul>\n<li>a much lower number of properties can be loaded within a list without to affect the user experience but to improve the site performance<\/li>\n<li>rearrangement of the pagination<\/li>\n<li>slots customization and so on\u2026That being said, we can see clearly that the Product List Performance report as it is now in Google Analytics holds just half of the truth. A more customized solution is needed in order to measure in an accurate way the performance of the <em>product <\/em>lists (whatever a <em>product<\/em> may be).<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>You can find this report under Conversions section &gt; Ecommerce &gt; Product List Performance. Of course, you wouldn\u2019t find it if you don\u2019t have: enhanced ecommerce enabled website tagged with the enhanced ecommerce tracking code product lists defined within the website (ex. Search list, Category list, Recently Viewed Products list, etc.) The Product List Performance [&hellip;]<\/p>","protected":false},"author":1,"featured_media":1159,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[24],"tags":[],"class_list":["post-7244","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-analytics"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Loaded vs. seen products - User clusters project - Data Revolt 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:\/\/datarevolt.agency\/ro\/loaded-vs-seen-products-user-clusters-project\/\" \/>\n<meta property=\"og:locale\" content=\"ro_RO\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Loaded vs. seen products - User clusters project - Data Revolt Agency\" \/>\n<meta property=\"og:description\" content=\"You can find this report under Conversions section &gt; Ecommerce &gt; Product List Performance. Of course, you wouldn\u2019t find it if you don\u2019t have: enhanced ecommerce enabled website tagged with the enhanced ecommerce tracking code product lists defined within the website (ex. Search list, Category list, Recently Viewed Products list, etc.) The Product List Performance [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/datarevolt.agency\/ro\/loaded-vs-seen-products-user-clusters-project\/\" \/>\n<meta property=\"og:site_name\" content=\"Data Revolt Agency\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/datarevoltagency\/\" \/>\n<meta property=\"article:published_time\" content=\"2021-06-28T05:26:14+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/datarevolt.agency\/wp-content\/uploads\/2022\/10\/loaded-vs-seen-products.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\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:creator\" content=\"@DataRevoltTeam\" \/>\n<meta name=\"twitter:site\" content=\"@DataRevoltTeam\" \/>\n<meta name=\"twitter:label1\" content=\"Scris de\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Timp estimat pentru citire\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/datarevolt.agency\\\/loaded-vs-seen-products-user-clusters-project\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/datarevolt.agency\\\/loaded-vs-seen-products-user-clusters-project\\\/\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\\\/\\\/datarevolt.agency\\\/#\\\/schema\\\/person\\\/f4456ba3ed860333a26d98b55980c6ee\"},\"headline\":\"Loaded vs. seen products &#8211; User clusters project\",\"datePublished\":\"2021-06-28T05:26:14+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/datarevolt.agency\\\/loaded-vs-seen-products-user-clusters-project\\\/\"},\"wordCount\":1321,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/datarevolt.agency\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/datarevolt.agency\\\/loaded-vs-seen-products-user-clusters-project\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/datarevolt.agency\\\/wp-content\\\/uploads\\\/2022\\\/10\\\/loaded-vs-seen-products.jpg\",\"articleSection\":[\"Analytics\"],\"inLanguage\":\"ro-RO\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/datarevolt.agency\\\/loaded-vs-seen-products-user-clusters-project\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/datarevolt.agency\\\/loaded-vs-seen-products-user-clusters-project\\\/\",\"url\":\"https:\\\/\\\/datarevolt.agency\\\/loaded-vs-seen-products-user-clusters-project\\\/\",\"name\":\"Loaded vs. seen products - User clusters project - Data Revolt Agency\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/datarevolt.agency\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/datarevolt.agency\\\/loaded-vs-seen-products-user-clusters-project\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/datarevolt.agency\\\/loaded-vs-seen-products-user-clusters-project\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/datarevolt.agency\\\/wp-content\\\/uploads\\\/2022\\\/10\\\/loaded-vs-seen-products.jpg\",\"datePublished\":\"2021-06-28T05:26:14+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/datarevolt.agency\\\/loaded-vs-seen-products-user-clusters-project\\\/#breadcrumb\"},\"inLanguage\":\"ro-RO\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/datarevolt.agency\\\/loaded-vs-seen-products-user-clusters-project\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ro-RO\",\"@id\":\"https:\\\/\\\/datarevolt.agency\\\/loaded-vs-seen-products-user-clusters-project\\\/#primaryimage\",\"url\":\"https:\\\/\\\/datarevolt.agency\\\/wp-content\\\/uploads\\\/2022\\\/10\\\/loaded-vs-seen-products.jpg\",\"contentUrl\":\"https:\\\/\\\/datarevolt.agency\\\/wp-content\\\/uploads\\\/2022\\\/10\\\/loaded-vs-seen-products.jpg\",\"width\":1200,\"height\":628,\"caption\":\"loaded-vs-seen-products\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/datarevolt.agency\\\/loaded-vs-seen-products-user-clusters-project\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/datarevolt.agency\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Loaded vs. seen products &#8211; User clusters project\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/datarevolt.agency\\\/#website\",\"url\":\"https:\\\/\\\/datarevolt.agency\\\/\",\"name\":\"Data Revolt Agency\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/datarevolt.agency\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/datarevolt.agency\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ro-RO\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/datarevolt.agency\\\/#organization\",\"name\":\"Data Revolt Agency\",\"url\":\"https:\\\/\\\/datarevolt.agency\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ro-RO\",\"@id\":\"https:\\\/\\\/datarevolt.agency\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/datarevolt.agency\\\/wp-content\\\/uploads\\\/2025\\\/09\\\/data-revolt-logo.png\",\"contentUrl\":\"https:\\\/\\\/datarevolt.agency\\\/wp-content\\\/uploads\\\/2025\\\/09\\\/data-revolt-logo.png\",\"width\":200,\"height\":35,\"caption\":\"Data Revolt Agency\"},\"image\":{\"@id\":\"https:\\\/\\\/datarevolt.agency\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/datarevoltagency\\\/\",\"https:\\\/\\\/x.com\\\/DataRevoltTeam\",\"https:\\\/\\\/www.instagram.com\\\/datarevolt\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/data-revolt-agency\\\/?originalSubdomain=ro\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/datarevolt.agency\\\/#\\\/schema\\\/person\\\/f4456ba3ed860333a26d98b55980c6ee\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ro-RO\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a28a5cb80b07bb44be13ae2b3c95f3c7947bc0950535bff601f0aeea09f43a41?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a28a5cb80b07bb44be13ae2b3c95f3c7947bc0950535bff601f0aeea09f43a41?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a28a5cb80b07bb44be13ae2b3c95f3c7947bc0950535bff601f0aeea09f43a41?s=96&d=mm&r=g\",\"caption\":\"admin\"},\"sameAs\":[\"https:\\\/\\\/datarevolt.agency\"],\"url\":\"https:\\\/\\\/datarevolt.agency\\\/ro\\\/author\\\/admin_8pr0kxak\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Loaded vs. seen products - User clusters project - Data Revolt 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:\/\/datarevolt.agency\/ro\/loaded-vs-seen-products-user-clusters-project\/","og_locale":"ro_RO","og_type":"article","og_title":"Loaded vs. seen products - User clusters project - Data Revolt Agency","og_description":"You can find this report under Conversions section &gt; Ecommerce &gt; Product List Performance. Of course, you wouldn\u2019t find it if you don\u2019t have: enhanced ecommerce enabled website tagged with the enhanced ecommerce tracking code product lists defined within the website (ex. Search list, Category list, Recently Viewed Products list, etc.) The Product List Performance [&hellip;]","og_url":"https:\/\/datarevolt.agency\/ro\/loaded-vs-seen-products-user-clusters-project\/","og_site_name":"Data Revolt Agency","article_publisher":"https:\/\/www.facebook.com\/datarevoltagency\/","article_published_time":"2021-06-28T05:26:14+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/datarevolt.agency\/wp-content\/uploads\/2022\/10\/loaded-vs-seen-products.jpg","type":"image\/jpeg"}],"author":"admin","twitter_card":"summary_large_image","twitter_creator":"@DataRevoltTeam","twitter_site":"@DataRevoltTeam","twitter_misc":{"Scris de":"admin","Timp estimat pentru citire":"7 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/datarevolt.agency\/loaded-vs-seen-products-user-clusters-project\/#article","isPartOf":{"@id":"https:\/\/datarevolt.agency\/loaded-vs-seen-products-user-clusters-project\/"},"author":{"name":"admin","@id":"https:\/\/datarevolt.agency\/#\/schema\/person\/f4456ba3ed860333a26d98b55980c6ee"},"headline":"Loaded vs. seen products &#8211; User clusters project","datePublished":"2021-06-28T05:26:14+00:00","mainEntityOfPage":{"@id":"https:\/\/datarevolt.agency\/loaded-vs-seen-products-user-clusters-project\/"},"wordCount":1321,"commentCount":0,"publisher":{"@id":"https:\/\/datarevolt.agency\/#organization"},"image":{"@id":"https:\/\/datarevolt.agency\/loaded-vs-seen-products-user-clusters-project\/#primaryimage"},"thumbnailUrl":"https:\/\/datarevolt.agency\/wp-content\/uploads\/2022\/10\/loaded-vs-seen-products.jpg","articleSection":["Analytics"],"inLanguage":"ro-RO","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/datarevolt.agency\/loaded-vs-seen-products-user-clusters-project\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/datarevolt.agency\/loaded-vs-seen-products-user-clusters-project\/","url":"https:\/\/datarevolt.agency\/loaded-vs-seen-products-user-clusters-project\/","name":"Loaded vs. seen products - User clusters project - Data Revolt Agency","isPartOf":{"@id":"https:\/\/datarevolt.agency\/#website"},"primaryImageOfPage":{"@id":"https:\/\/datarevolt.agency\/loaded-vs-seen-products-user-clusters-project\/#primaryimage"},"image":{"@id":"https:\/\/datarevolt.agency\/loaded-vs-seen-products-user-clusters-project\/#primaryimage"},"thumbnailUrl":"https:\/\/datarevolt.agency\/wp-content\/uploads\/2022\/10\/loaded-vs-seen-products.jpg","datePublished":"2021-06-28T05:26:14+00:00","breadcrumb":{"@id":"https:\/\/datarevolt.agency\/loaded-vs-seen-products-user-clusters-project\/#breadcrumb"},"inLanguage":"ro-RO","potentialAction":[{"@type":"ReadAction","target":["https:\/\/datarevolt.agency\/loaded-vs-seen-products-user-clusters-project\/"]}]},{"@type":"ImageObject","inLanguage":"ro-RO","@id":"https:\/\/datarevolt.agency\/loaded-vs-seen-products-user-clusters-project\/#primaryimage","url":"https:\/\/datarevolt.agency\/wp-content\/uploads\/2022\/10\/loaded-vs-seen-products.jpg","contentUrl":"https:\/\/datarevolt.agency\/wp-content\/uploads\/2022\/10\/loaded-vs-seen-products.jpg","width":1200,"height":628,"caption":"loaded-vs-seen-products"},{"@type":"BreadcrumbList","@id":"https:\/\/datarevolt.agency\/loaded-vs-seen-products-user-clusters-project\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/datarevolt.agency\/"},{"@type":"ListItem","position":2,"name":"Loaded vs. seen products &#8211; User clusters project"}]},{"@type":"WebSite","@id":"https:\/\/datarevolt.agency\/#website","url":"https:\/\/datarevolt.agency\/","name":"Data Revolt Agency","description":"","publisher":{"@id":"https:\/\/datarevolt.agency\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/datarevolt.agency\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ro-RO"},{"@type":"Organization","@id":"https:\/\/datarevolt.agency\/#organization","name":"Data Revolt Agency","url":"https:\/\/datarevolt.agency\/","logo":{"@type":"ImageObject","inLanguage":"ro-RO","@id":"https:\/\/datarevolt.agency\/#\/schema\/logo\/image\/","url":"https:\/\/datarevolt.agency\/wp-content\/uploads\/2025\/09\/data-revolt-logo.png","contentUrl":"https:\/\/datarevolt.agency\/wp-content\/uploads\/2025\/09\/data-revolt-logo.png","width":200,"height":35,"caption":"Data Revolt Agency"},"image":{"@id":"https:\/\/datarevolt.agency\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/datarevoltagency\/","https:\/\/x.com\/DataRevoltTeam","https:\/\/www.instagram.com\/datarevolt\/","https:\/\/www.linkedin.com\/company\/data-revolt-agency\/?originalSubdomain=ro"]},{"@type":"Person","@id":"https:\/\/datarevolt.agency\/#\/schema\/person\/f4456ba3ed860333a26d98b55980c6ee","name":"admin","image":{"@type":"ImageObject","inLanguage":"ro-RO","@id":"https:\/\/secure.gravatar.com\/avatar\/a28a5cb80b07bb44be13ae2b3c95f3c7947bc0950535bff601f0aeea09f43a41?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/a28a5cb80b07bb44be13ae2b3c95f3c7947bc0950535bff601f0aeea09f43a41?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a28a5cb80b07bb44be13ae2b3c95f3c7947bc0950535bff601f0aeea09f43a41?s=96&d=mm&r=g","caption":"admin"},"sameAs":["https:\/\/datarevolt.agency"],"url":"https:\/\/datarevolt.agency\/ro\/author\/admin_8pr0kxak\/"}]}},"_links":{"self":[{"href":"https:\/\/datarevolt.agency\/ro\/wp-json\/wp\/v2\/posts\/7244","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/datarevolt.agency\/ro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/datarevolt.agency\/ro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/datarevolt.agency\/ro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/datarevolt.agency\/ro\/wp-json\/wp\/v2\/comments?post=7244"}],"version-history":[{"count":0,"href":"https:\/\/datarevolt.agency\/ro\/wp-json\/wp\/v2\/posts\/7244\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/datarevolt.agency\/ro\/wp-json\/wp\/v2\/media\/1159"}],"wp:attachment":[{"href":"https:\/\/datarevolt.agency\/ro\/wp-json\/wp\/v2\/media?parent=7244"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/datarevolt.agency\/ro\/wp-json\/wp\/v2\/categories?post=7244"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/datarevolt.agency\/ro\/wp-json\/wp\/v2\/tags?post=7244"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}