{"id":104690,"date":"2025-02-23T06:21:54","date_gmt":"2025-02-23T06:21:54","guid":{"rendered":"https:\/\/peraltafinancing.com\/analytics\/gtmtips-two-simple-data-model-tricks\/"},"modified":"2025-02-23T06:21:54","modified_gmt":"2025-02-23T06:21:54","slug":"gtmtips-two-simple-data-model-tricks","status":"publish","type":"post","link":"https:\/\/fivemor.com\/?p=104690","title":{"rendered":"#GTMTips: Two Simple Data Model Tricks"},"content":{"rendered":"<p> <br \/>\n<\/p>\n<div>\n<p>One of the more difficult concepts in <a href=\"https:\/\/tagmanager.google.com\/\">Google Tag Manager<\/a> is the <a href=\"https:\/\/www.simoahava.com\/analytics\/google-tag-manager-data-model\/\"><em>data model<\/em><\/a>. In essence, the data model is what Google Tag Manager uses to populate the <a href=\"https:\/\/www.simoahava.com\/analytics\/variable-guide-google-tag-manager\/#5-data-layer-variable\">Data Layer variable<\/a>. You might be tempted to think that it\u2019s the same thing as the <code>dataLayer<\/code> array, but it\u2019s not.<\/p>\n<p>The data model is a representation of the keys and values you <em>push<\/em> into <code>dataLayer<\/code>. Whenever you push any key into <code>dataLayer<\/code>, GTM grabs this key and updates the corresponding key in its data model with the new value, or in the case of objects and arrays merges the old and the new value together.<\/p>\n<p>In this <a href=\"https:\/\/www.simoahava.com\/tags\/gtmtips\/\">#GTMTips<\/a> article, I\u2019m completely indebted to <a href=\"https:\/\/github.com\/jethron\">Mr. Jethro Nederhof<\/a> from Snowflake Analytics. He published these two tricks in <a href=\"https:\/\/www.measure.chat\">Measure Slack<\/a>, and I asked if he\u2019s OK that I publish them on my blog. He kindly agreed, which is not suprising, since his generosity also spawned our co-authored article on <a href=\"https:\/\/www.simoahava.com\/analytics\/track-browsing-behavior-in-google-analytics\/\">tracking browsing behavior<\/a> a few months back.<\/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=\"tip-85-two-simple-data-model-tricks\">Tip 85: Two simple data model tricks<\/h2>\n<div style=\"aspect-ratio: 960 \/ 540;\" class=\"figure nocaption\">\n<p>    <a href=\"https:\/\/www.simoahava.com\/images\/2018\/08\/two-simple-data-model-tricks.jpg\" title=\"Two simple data model tricks\"><\/p>\n<p>    <img decoding=\"async\" class=\"fig-img\" height=\"540\" width=\"960\" loading=\"lazy\" src=\"https:\/\/www.simoahava.com\/images\/2018\/08\/two-simple-data-model-tricks.jpg#ZgotmplZ\" alt=\"Two simple data model tricks\"\/><\/p>\n<p>    <\/a><\/p>\n<\/div>\n<p>Both tips have to do with how the data model processes keys and values pushed into it.<\/p>\n<p>The first trick lets you <em>prevent<\/em> recursive merge from happening (useful on single-page apps where you don\u2019t want to persist values pushed in earlier pages, for example).<\/p>\n<p>The second trick lets you access what the current state of the data model is. This can be useful for a number of things, but especially if you\u2019re debugging your setup it might be useful to see all they keys and values that are currently located in the data model\u2019s table.<\/p>\n<h3 id=\"trick-1-use-_clear-true-to-prevent-merging-of-the-keys-in-the-object\">Trick 1: Use <code>_clear: true<\/code> to prevent merging of the keys in the object<\/h3>\n<p>Let\u2019s say you are pushing some product impressions into the <code>dataLayer<\/code>. The first push looks 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\"><span style=\"color:#0aa\">window<\/span>.dataLayer = <span style=\"color:#0aa\">window<\/span>.dataLayer || [];\n<span style=\"color:#0aa\">window<\/span>.dataLayer.push({\n  products: [{\n    sku: <span style=\"color:#a50\">'123'<\/span>,\n    name: <span style=\"color:#a50\">'Thick as a Brick'<\/span>\n  },{\n    sku: <span style=\"color:#a50\">'234'<\/span>,\n\tname: <span style=\"color:#a50\">'Aqualung'<\/span>\n  }]\n});\n<\/code><\/pre>\n<\/div>\n<p>At this point, the key <code>products<\/code> in the data model would have two objects representing the products that were pushed. If you were to create a Data Layer variable for <code>products<\/code>, that\u2019s what you\u2019d also get as the return value of the variable.<\/p>\n<p>Then let\u2019s say the user moves to another section of the site without a page load (so it\u2019s a single-page app), and on that page there\u2019s just one product impression, so the site runs the following code:<\/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:#0aa\">window<\/span>.dataLayer = <span style=\"color:#0aa\">window<\/span>.dataLayer || [];\n<span style=\"color:#0aa\">window<\/span>.dataLayer.push({\n  products: [{\n    sku: <span style=\"color:#a50\">'345'<\/span>,\n\tname: <span style=\"color:#a50\">'Close to the Edge'<\/span>\n  }]\n});\n<\/code><\/pre>\n<\/div>\n<p>You\u2019d expect the data model to now have just one product in the <code>products<\/code> array, but due to how <strong>recursive merge<\/strong> works, the data model looks 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\">{\n  products: [{\n    sku: <span style=\"color:#a50\">'345'<\/span>,\n\tname: <span style=\"color:#a50\">'Close to the Edge'<\/span>\n  },{\n    sku: <span style=\"color:#a50\">'234'<\/span>,\n\tname: <span style=\"color:#a50\">'Aqualung'<\/span>\n  }]\n}\n<\/code><\/pre>\n<\/div>\n<p>As you can see, the second product of the first push persists, because the new product was simply merged with the old <code>products<\/code> array.<\/p>\n<p>And here\u2019s <strong>the tip<\/strong>. To prevent this recursive merge from happening, you need to push the key <code>_clear<\/code> with the value <code>true<\/code> in the same object where you push the keys you <strong>don\u2019t<\/strong> want to merge with their counterparts. So the second push becomes:<\/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:#0aa\">window<\/span>.dataLayer = <span style=\"color:#0aa\">window<\/span>.dataLayer || [];\n<span style=\"color:#0aa\">window<\/span>.dataLayer.push({\n  products: [{\n    sku: <span style=\"color:#a50\">'345'<\/span>,\n\tname: <span style=\"color:#a50\">'Close to the Edge'<\/span>\n  }],\n  _clear: <span style=\"color:#00a\">true<\/span>\n});\n<\/code><\/pre>\n<\/div>\n<p>So now the key in the <code>products<\/code> array of the data model only has one object within.<\/p>\n<h3 id=\"trick-2-get-the-object-representation-of-the-current-state-of-the-data-model\">Trick 2: Get the object representation of the current state of the data model<\/h3>\n<p>You can always use <code>window.google_tag_manager['GTM-XXXXX'].dataLayer.get(key)<\/code> to fetch the current value of the given <code>key<\/code> from the data model. But if you want to get the <strong>full<\/strong> contents of the current data model, you need to run the following command:<\/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\">var<\/span> dataModel = <span style=\"color:#0aa\">window<\/span>.google_tag_manager[<span style=\"color:#a50\">'GTM-XXXXX'<\/span>].dataLayer.get({\n  split: <span style=\"color:#00a\">function<\/span>() { <span style=\"color:#00a\">return<\/span> []; }\n});\nconsole.table(dataModel);\n<\/code><\/pre>\n<\/div>\n<p>If you run the command above in the JavaScript console of your browser, you should see a nice table view of the current data model:<\/p>\n<div style=\"aspect-ratio: 1908 \/ 170;\" class=\"figure nocaption\">\n<p>    <a href=\"https:\/\/www.simoahava.com\/images\/2018\/08\/table-data-model.jpg\" title=\"Data model as a table\"><\/p>\n<p>    <img decoding=\"async\" class=\"fig-img\" height=\"170\" width=\"1908\" loading=\"lazy\" src=\"https:\/\/www.simoahava.com\/images\/2018\/08\/table-data-model.jpg#ZgotmplZ\" alt=\"Data model as a table\"\/><\/p>\n<p>    <\/a><\/p>\n<\/div>\n<p>What a simple way to see what the current state is.<\/p>\n<h2 id=\"summary\">Summary<\/h2>\n<p>I\u2019ll be the first to admit: these are very technical, niche tricks. You probably won\u2019t need them daily, or even monthly, in your implementations.<\/p>\n<p>However, I firmly believe that understanding how the <a href=\"https:\/\/www.simoahava.com\/analytics\/google-tag-manager-data-model\/\">data model<\/a> works is one of the keys to unlocking Google Tag Manager\u2019s real power.<\/p>\n<p>And, again, a <strong>huge<\/strong> thanks to Jethro Nederhof for revealing these simple tricks. He gets full credit for the substance of this article.<\/p>\n<\/p><\/div>\n\n","protected":false},"excerpt":{"rendered":"<p>One of the more difficult concepts in Google Tag Manager is the data model. In essence, the data model is what Google Tag Manager uses to populate the Data Layer variable. You might be tempted to think that it\u2019s the same thing as the dataLayer array, but it\u2019s not. The data model is a representation [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":104691,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12033],"tags":[11603,14492,1168,2961,660],"dealstore":[],"offerexpiration":[],"class_list":["post-104690","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-analytics","tag-data","tag-gtmtips","tag-model","tag-simple","tag-tricks"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>#GTMTips: Two Simple Data Model Tricks - 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=104690\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"#GTMTips: Two Simple Data Model Tricks - Som2ny Network\" \/>\n<meta property=\"og:description\" content=\"One of the more difficult concepts in Google Tag Manager is the data model. In essence, the data model is what Google Tag Manager uses to populate the Data Layer variable. You might be tempted to think that it\u2019s the same thing as the dataLayer array, but it\u2019s not. The data model is a representation [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fivemor.com\/?p=104690\" \/>\n<meta property=\"og:site_name\" content=\"Som2ny Network\" \/>\n<meta property=\"article:published_time\" content=\"2025-02-23T06:21:54+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/02\/two-simple-data-model-tricks.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"960\" \/>\n\t<meta property=\"og:image:height\" content=\"540\" \/>\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=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fivemor.com\/?p=104690#article\",\"isPartOf\":{\"@id\":\"https:\/\/fivemor.com\/?p=104690\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\/\/fivemor.com\/#\/schema\/person\/b85e3c3dc0e1daea076524dc8810c371\"},\"headline\":\"#GTMTips: Two Simple Data Model Tricks\",\"datePublished\":\"2025-02-23T06:21:54+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fivemor.com\/?p=104690\"},\"wordCount\":680,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fivemor.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/fivemor.com\/?p=104690#primaryimage\"},\"thumbnailUrl\":\"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/02\/two-simple-data-model-tricks.jpg\",\"keywords\":[\"Data\",\"GTMTips\",\"Model\",\"Simple\",\"Tricks\"],\"articleSection\":[\"Analytics\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fivemor.com\/?p=104690#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fivemor.com\/?p=104690\",\"url\":\"https:\/\/fivemor.com\/?p=104690\",\"name\":\"#GTMTips: Two Simple Data Model Tricks - Som2ny Network\",\"isPartOf\":{\"@id\":\"https:\/\/fivemor.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/fivemor.com\/?p=104690#primaryimage\"},\"image\":{\"@id\":\"https:\/\/fivemor.com\/?p=104690#primaryimage\"},\"thumbnailUrl\":\"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/02\/two-simple-data-model-tricks.jpg\",\"datePublished\":\"2025-02-23T06:21:54+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fivemor.com\/?p=104690#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fivemor.com\/?p=104690\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/fivemor.com\/?p=104690#primaryimage\",\"url\":\"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/02\/two-simple-data-model-tricks.jpg\",\"contentUrl\":\"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/02\/two-simple-data-model-tricks.jpg\",\"width\":960,\"height\":540},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fivemor.com\/?p=104690#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/fivemor.com\/?bp_activities=1\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"#GTMTips: Two Simple Data Model Tricks\"}]},{\"@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":"#GTMTips: Two Simple Data Model Tricks - 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=104690","og_locale":"en_US","og_type":"article","og_title":"#GTMTips: Two Simple Data Model Tricks - Som2ny Network","og_description":"One of the more difficult concepts in Google Tag Manager is the data model. In essence, the data model is what Google Tag Manager uses to populate the Data Layer variable. You might be tempted to think that it\u2019s the same thing as the dataLayer array, but it\u2019s not. The data model is a representation [&hellip;]","og_url":"https:\/\/fivemor.com\/?p=104690","og_site_name":"Som2ny Network","article_published_time":"2025-02-23T06:21:54+00:00","og_image":[{"width":960,"height":540,"url":"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/02\/two-simple-data-model-tricks.jpg","type":"image\/jpeg"}],"author":"admin","twitter_card":"summary_large_image","twitter_misc":{"Written by":"admin","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fivemor.com\/?p=104690#article","isPartOf":{"@id":"https:\/\/fivemor.com\/?p=104690"},"author":{"name":"admin","@id":"https:\/\/fivemor.com\/#\/schema\/person\/b85e3c3dc0e1daea076524dc8810c371"},"headline":"#GTMTips: Two Simple Data Model Tricks","datePublished":"2025-02-23T06:21:54+00:00","mainEntityOfPage":{"@id":"https:\/\/fivemor.com\/?p=104690"},"wordCount":680,"commentCount":0,"publisher":{"@id":"https:\/\/fivemor.com\/#organization"},"image":{"@id":"https:\/\/fivemor.com\/?p=104690#primaryimage"},"thumbnailUrl":"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/02\/two-simple-data-model-tricks.jpg","keywords":["Data","GTMTips","Model","Simple","Tricks"],"articleSection":["Analytics"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fivemor.com\/?p=104690#respond"]}]},{"@type":"WebPage","@id":"https:\/\/fivemor.com\/?p=104690","url":"https:\/\/fivemor.com\/?p=104690","name":"#GTMTips: Two Simple Data Model Tricks - Som2ny Network","isPartOf":{"@id":"https:\/\/fivemor.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/fivemor.com\/?p=104690#primaryimage"},"image":{"@id":"https:\/\/fivemor.com\/?p=104690#primaryimage"},"thumbnailUrl":"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/02\/two-simple-data-model-tricks.jpg","datePublished":"2025-02-23T06:21:54+00:00","breadcrumb":{"@id":"https:\/\/fivemor.com\/?p=104690#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fivemor.com\/?p=104690"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/fivemor.com\/?p=104690#primaryimage","url":"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/02\/two-simple-data-model-tricks.jpg","contentUrl":"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/02\/two-simple-data-model-tricks.jpg","width":960,"height":540},{"@type":"BreadcrumbList","@id":"https:\/\/fivemor.com\/?p=104690#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/fivemor.com\/?bp_activities=1"},{"@type":"ListItem","position":2,"name":"#GTMTips: Two Simple Data Model Tricks"}]},{"@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\/104690","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=104690"}],"version-history":[{"count":0,"href":"https:\/\/fivemor.com\/index.php?rest_route=\/wp\/v2\/posts\/104690\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=\/wp\/v2\/media\/104691"}],"wp:attachment":[{"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=104690"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=104690"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=104690"},{"taxonomy":"dealstore","embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fdealstore&post=104690"},{"taxonomy":"offerexpiration","embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fofferexpiration&post=104690"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}