{"id":31306,"date":"2022-06-29T16:10:55","date_gmt":"2022-06-29T13:10:55","guid":{"rendered":"https:\/\/www.adcore.com\/blog\/?p=31306"},"modified":"2023-08-17T12:36:54","modified_gmt":"2023-08-17T09:36:54","slug":"how-to-create-a-product-data-feed","status":"publish","type":"post","link":"https:\/\/www.adcore.com\/blog\/how-to-create-a-product-data-feed\/","title":{"rendered":"How to Create a Product Data Feed?"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"31306\" class=\"elementor elementor-31306\" data-elementor-post-type=\"post\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-37576626 elementor-section-full_width elementor-section-height-default elementor-section-height-default\" data-id=\"37576626\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-3884546a\" data-id=\"3884546a\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-3d2f8574 MicroFont elementor-widget elementor-widget-text-editor\" data-id=\"3d2f8574\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<style>\/*! elementor - v3.22.0 - 24-06-2024 *\/\n.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:#69727d;color:#fff}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap{color:#69727d;border:3px solid;background-color:transparent}.elementor-widget-text-editor:not(.elementor-drop-cap-view-default) .elementor-drop-cap{margin-top:8px}.elementor-widget-text-editor:not(.elementor-drop-cap-view-default) .elementor-drop-cap-letter{width:1em;height:1em}.elementor-widget-text-editor .elementor-drop-cap{float:left;text-align:center;line-height:1;font-size:50px}.elementor-widget-text-editor .elementor-drop-cap-letter{display:inline-block}<\/style>\t\t\t\t<h2>This article will explain how to create a feed.<\/h2><div><strong style=\"color: #021321; font-family: HomepageBaukasten; font-size: 24px;\">Abstract\u00a0<\/strong><\/div><p>Product feeds are csv, tsv, txt, json or xml files that contain product information that is used by marketplaces, shopping engines, and social commerce platforms to display product listings.\u00a0<\/p><p>Feeditor`s requirements do not restrict or impose feed formats or structure. The recommended format, however, is a <b>simple two dimensional csv.<\/b><\/p><p style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000;\">There are three mainly used formats:\u00a0<span style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; font-weight: bold;\">delimited<\/span>\u00a0(.csv, tsv, etc\u2026.),\u00a0<span style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; font-weight: bold;\">json and xml.<\/span><\/p><p style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000;\">Choose the\u00a0<span style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; font-weight: bold;\">delimited<\/span>\u00a0option when possible. Your second choice should be json, and the third, as last resort &#8211; xml.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-bcb28b2 elementor-widget elementor-widget-text-editor\" data-id=\"bcb28b2\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000;\"><span style=\"font-weight: bolder; color: rgb(2, 19, 33); font-size: 24px;\">General requirements<\/span><br><\/p>\n<p style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000;\">If you create your feed on your server as a result of a&nbsp;<span style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; font-weight: bolder;\">long-running<\/span>&nbsp;query\/routine:<\/p>\n<p style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000;\">1. consider<span style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; font-weight: bolder;\">&nbsp;caching<\/span>&nbsp;the result as a static file (valid for 1 hour) and serving the saved cached file (rather than a live query)<\/p>\n<p style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000;\">2. For large feeds (query\/routine results) &#8211;&nbsp;<span style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; font-weight: bolder;\">consider compression<\/span>&nbsp;&#8211; your server might have default support for compression of text content. Either implement text compression (on your server) or create an archive, such as .tar.gz, .zip, etc&#8230;<\/p>\n<p style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000;\">3. Consider streaming the content (while generating the rest) if compression is not implementable&nbsp;<\/p>\n<p style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000;\">4. Encode your content the right way &#8211; you should encode the bytes of the query\/routine result correctly. Avoid lower\/invisible bytes (like bell, etc&#8230;)<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-76f3cbf elementor-widget elementor-widget-template\" data-id=\"76f3cbf\" data-element_type=\"widget\" data-widget_type=\"template.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-template\">\n\t\t\t\t\t<div data-elementor-type=\"section\" data-elementor-id=\"29329\" class=\"elementor elementor-29329\" data-elementor-post-type=\"elementor_library\">\n\t\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-486a9019 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"486a9019\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-inner-column elementor-element elementor-element-6ed64254\" data-id=\"6ed64254\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-281ae6ce elementor-widget elementor-widget-image\" data-id=\"281ae6ce\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<style>\/*! elementor - v3.22.0 - 24-06-2024 *\/\n.elementor-widget-image{text-align:center}.elementor-widget-image a{display:inline-block}.elementor-widget-image a img[src$=\".svg\"]{width:48px}.elementor-widget-image img{vertical-align:middle;display:inline-block}<\/style>\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"20\" height=\"14\" src=\"https:\/\/www.adcore.com\/blog\/wp-content\/uploads\/2022\/04\/Group-10466.svg\" class=\"attachment-full size-full wp-image-28055\" alt=\"\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4dc8e19 elementor-widget elementor-widget-heading\" data-id=\"4dc8e19\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<style>\/*! elementor - v3.22.0 - 24-06-2024 *\/\n.elementor-heading-title{padding:0;margin:0;line-height:1}.elementor-widget-heading .elementor-heading-title[class*=elementor-size-]>a{color:inherit;font-size:inherit;line-height:inherit}.elementor-widget-heading .elementor-heading-title.elementor-size-small{font-size:15px}.elementor-widget-heading .elementor-heading-title.elementor-size-medium{font-size:19px}.elementor-widget-heading .elementor-heading-title.elementor-size-large{font-size:29px}.elementor-widget-heading .elementor-heading-title.elementor-size-xl{font-size:39px}.elementor-widget-heading .elementor-heading-title.elementor-size-xxl{font-size:59px}<\/style><p class=\"elementor-heading-title elementor-size-default\">Feeditor doesn\u2019t have harsh requirements as to restricting or imposing product feed formats. The recommended way though, is a simple two dimensional CSV.<\/p>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f1c7030 elementor-widget elementor-widget-html\" data-id=\"f1c7030\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<!--HubSpot Call-to-Action Code --><span class=\"hs-cta-wrapper\" id=\"hs-cta-wrapper-07499f20-f95a-4bda-8a2d-38b12063f398\"><span class=\"hs-cta-node hs-cta-07499f20-f95a-4bda-8a2d-38b12063f398\" id=\"hs-cta-07499f20-f95a-4bda-8a2d-38b12063f398\"><!--[if lte IE 8]><div id=\"hs-cta-ie-element\"><\/div><![endif]--><a href=\"https:\/\/cta-redirect.hubspot.com\/cta\/redirect\/6962858\/07499f20-f95a-4bda-8a2d-38b12063f398\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" class=\"hs-cta-img\" id=\"hs-cta-img-07499f20-f95a-4bda-8a2d-38b12063f398\" style=\"border-width:0px;\" src=\"https:\/\/no-cache.hubspot.com\/cta\/default\/6962858\/07499f20-f95a-4bda-8a2d-38b12063f398.png\"  alt=\"Start optimizing your feed for free \"\/><\/a><\/span><script charset=\"utf-8\" src=\"https:\/\/js.hscta.net\/cta\/current.js\"><\/script><script type=\"text\/javascript\"> hbspt.cta.load(6962858, '07499f20-f95a-4bda-8a2d-38b12063f398', {\"useNewLoader\":\"true\",\"region\":\"na1\"}); <\/script><\/span><!-- end HubSpot Call-to-Action Code -->\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-44ad524 MicroFont elementor-widget elementor-widget-text-editor\" data-id=\"44ad524\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<h3><strong>Delimited (.csv, tsv)<\/strong><\/h3><p>1. When possible, include <strong>column headers as the first row<\/strong>. Try not to use spaces, commas, or non-ascii characters in the column headers. If the column headers answer this sample regex, you should have fewer issues <em>^[a-zA-z_-]+$<\/em><\/p><p>2. Delimiter &#8211; if you are generating the delimited content manually &#8211; use TAB as the delimiter &#8211; it\u2019s least prone to errors. Otherwise, it\u2019s <strong>recommended to use a library\/tool<\/strong>\u00a0provided by the programming platform you are working with. E.g. for python, one example would be pandas DataFrame.to_csv. If you are using a library like pandas &#8211; choose either comma (default in pandas) or tab as the output separator. For a manual feed generation + non-standard delimiter (such as\u00a0<em>;<\/em>) &#8211; make sure that the number of delimiters is equal across all rows, ensure that empty columns have still padding left (e.g.\u00a0<em>;;;<\/em>) and the delimiter (<em>;<\/em>) is\u00a0<strong>escaped<\/strong>\u00a0within regular text (such as title or description).<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f584b10 MicroFont elementor-widget elementor-widget-text-editor\" data-id=\"f584b10\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<h3><strong>Json<\/strong><\/h3><p>Use a tool in your programming environment to generate valid json. The structure could be either of those:<\/p><p>1. [{column1: \u2018&#8230;\u2019, column2: \u2018&#8230;\u2019}, {column1: \u2018&#8230;\u2019, column2: \u2018&#8230;\u2019}]<\/p><p>or<\/p><p>2. {\u2018data\u2019: [{column1: \u2018&#8230;\u2019, column2: \u2018&#8230;\u2019}, {column1: \u2018&#8230;\u2019, column2: \u2018&#8230;\u2019}]}<\/p><h3><strong>XML\u00a0<\/strong><\/h3><p>1. Reserved XML entities should be escaped.<\/p><p>2. It\u2019s not enough to just include the correct encoding in the XML declaration &#8211; in addition &#8211; <strong>correct encoding of bytes<\/strong>\u00a0is crucial.<\/p><p>3. Avoid complex nested representations of relational databases.<\/p><p>4. Avoid complex namespace scenarios.<\/p><p>5. A link on reserved XML entities (that should be escaped), that might make life easier:\u00a0<\/p><p><a href=\"https:\/\/www.advancedinstaller.com\/user-guide\/xml-escaped-chars.html\" target=\"_blank\" rel=\"noopener\">Advanced Installer<\/a><\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-6dad5d6 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"6dad5d6\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-35312fa\" data-id=\"35312fa\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap\">\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Abstract\u00a0 Product feeds are csv, tsv, txt, json or xml files that contain product information that is used by marketplaces, shopping engines, and social commerce platforms to display product listings. Feeditor`s requirements do not restrict or impose feed formats or&#8230;<\/p>\n","protected":false},"author":21,"featured_media":37370,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"content-type":"","footnotes":""},"categories":[{"category_link":"https:\/\/www.adcore.com\/blog\/e-commerce\/shopping-feeds\/","category_name":"Shopping Feeds"},{"category_link":"https:\/\/www.adcore.com\/blog\/all\/","category_name":"All"},{"category_link":"https:\/\/www.adcore.com\/blog\/e-commerce\/","category_name":"E-Commerce"},{"category_link":"https:\/\/www.adcore.com\/blog\/e-commerce\/e-commerce-basics\/","category_name":"E-Commerce Basics"}],"tags":[],"authors":[243],"article_types":[182],"staff_picks":[],"promotions":[],"class_list":["post-31306","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-shopping-feeds","category-all","category-e-commerce","category-e-commerce-basics","authors-shani-lachmanovich","article_types-how-tos"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.adcore.com\/blog\/wp-json\/wp\/v2\/posts\/31306","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.adcore.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.adcore.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.adcore.com\/blog\/wp-json\/wp\/v2\/users\/21"}],"replies":[{"embeddable":true,"href":"https:\/\/www.adcore.com\/blog\/wp-json\/wp\/v2\/comments?post=31306"}],"version-history":[{"count":31,"href":"https:\/\/www.adcore.com\/blog\/wp-json\/wp\/v2\/posts\/31306\/revisions"}],"predecessor-version":[{"id":37842,"href":"https:\/\/www.adcore.com\/blog\/wp-json\/wp\/v2\/posts\/31306\/revisions\/37842"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.adcore.com\/blog\/wp-json\/wp\/v2\/media\/37370"}],"wp:attachment":[{"href":"https:\/\/www.adcore.com\/blog\/wp-json\/wp\/v2\/media?parent=31306"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.adcore.com\/blog\/wp-json\/wp\/v2\/categories?post=31306"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.adcore.com\/blog\/wp-json\/wp\/v2\/tags?post=31306"},{"taxonomy":"authors","embeddable":true,"href":"https:\/\/www.adcore.com\/blog\/wp-json\/wp\/v2\/authors?post=31306"},{"taxonomy":"article_types","embeddable":true,"href":"https:\/\/www.adcore.com\/blog\/wp-json\/wp\/v2\/article_types?post=31306"},{"taxonomy":"staff_picks","embeddable":true,"href":"https:\/\/www.adcore.com\/blog\/wp-json\/wp\/v2\/staff_picks?post=31306"},{"taxonomy":"promotions","embeddable":true,"href":"https:\/\/www.adcore.com\/blog\/wp-json\/wp\/v2\/promotions?post=31306"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}