{"id":17595,"date":"2026-07-28T08:50:15","date_gmt":"2026-07-28T07:50:15","guid":{"rendered":"https:\/\/help.expertsender.com\/?post_type=ecdp&#038;p=17595"},"modified":"2026-07-28T13:53:05","modified_gmt":"2026-07-28T12:53:05","slug":"creating-product-catalog","status":"publish","type":"ecdp","link":"https:\/\/help.expertsender.com\/pl\/ecdp\/creating-product-catalog\/","title":{"rendered":"Creating product catalog"},"content":{"rendered":"\n<p>A product catalog is a set of items available on your website, that can be used to power personalization, recommendations, and automation across your channels.<\/p>\n\n\n\n<p>Once created and filled with products, it can be shared with multiple websites and mobile apps that sell the same offer.<\/p>\n\n\n\n<p>Product catalogs are used for:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>creating product recommendations.<\/li>\n\n\n\n<li>creating personalized content, such as e-mail campaigns and scenario messages, banners and pop-ups, based on user interaction with the offer on your website.<\/li>\n\n\n\n<li>creating previews and testing e-mail messages.<\/li>\n\n\n\n<li>event-based scenarios, such as abandoned carts, abandoned browsing or price drops.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"product-catalog-characteristics\">Product catalog characteristics<\/h2>\n\n\n\n<p>Each product catalog you create in ECDP has:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>ID and name<\/strong>&nbsp;used to identify the catalog when connecting it to a website or mobile app.<\/li>\n\n\n\n<li><strong>Number of websites and apps<\/strong> linked to this catalog. A source can be connected to exactly one catalog at a time, but one catalog can serve several sources at once. To see the exact websites and apps connected to a specific catalog, hover over the number displayed in the <strong>Websites and apps<\/strong> column.<\/li>\n\n\n\n<li><strong>System and custom product attributes <\/strong>that define the items<strong> in the catalog<\/strong>. They apply at the business unit level, not per catalog.<\/li>\n\n\n\n<li><strong>A set of products added through file import or tracking data on your website <\/strong>(self-building catalog)<strong>. <\/strong>You can browse the catalog content for a specific website using the<strong> Browse <\/strong>action.<\/li>\n<\/ol>\n\n\n\n<p>A catalog has no active\/inactive status \u2013 it exists until you delete it. You can only delete a catalog that isn&#8217;t connected to any active website or mobile app.<\/p>\n\n\n\n<div style=\"height:var(--wp--preset--spacing--20)\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Start by creating a product catalog. Then add custom product attributes, and finally, add the products.<\/p>\n\n\n\n<div style=\"height:var(--wp--preset--spacing--20)\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"create-product-catalog\">Create a product catalog<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Go to <strong>Settings <\/strong>&gt;<strong> Product catalogs<\/strong>.<\/li>\n\n\n\n<li>Click <strong>Create product catalog<\/strong>.<\/li>\n\n\n\n<li>Add a catalog <strong>Name<\/strong>.<\/li>\n\n\n\n<li>In the <strong>Max product inactivity time <\/strong>field, enter how many hours should pass since the last tracked customer visit on a product page before the product is removed from the catalog. <strong>The default time range is 48 hours<\/strong>. The removed products will not be included in recommendations or marketing content. Once the script records a page visit in previously removed product, it will re-appear in the catalog and will be available for marketing actions.<\/li>\n\n\n\n<li><strong>Save<\/strong> the settings.<\/li>\n<\/ol>\n\n\n\n<div style=\"height:var(--wp--preset--spacing--20)\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"product-catalog-for-multiple-languages\">Product catalog for a website in multiple languages<\/h3>\n\n\n\n<p>A product catalog should be maintained in one language. If your website and app use the same language, both can use the same product catalog instead of maintaining two identical catalogs.<\/p>\n\n\n\n<p>In case you manage a few websites in different languages, each one should use a separate catalog in its own language.<\/p>\n\n\n\n<div style=\"height:var(--wp--preset--spacing--20)\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"product-catalog-for-multiple-currencies\">Product catalog for a website with multiple currencies<\/h3>\n\n\n\n<p>If your website manages several currencies, you don\u2019t need to create separate product catalogs to handle them. The currencies will be added gradually by a tracking script or a file import.<\/p>\n\n\n\n<p>In ECDP, go to <strong>Settings <\/strong>&gt;<strong> Product catalogs <\/strong>&gt;<strong> Browse<\/strong> action to view the catalog in each currency available on your website.<\/p>\n\n\n\n<div style=\"height:var(--wp--preset--spacing--20)\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"add-product-attributes\">Add product attributes<\/h2>\n\n\n\n<p>Product attributes are pieces of information that describe the products, such as price, brand, color, or availability. In ECDP, you can use them to personalize your marketing campaigns or target product recommendations more precisely.<\/p>\n\n\n\n<p>There are two types of attributes used in ECDP:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>System attributes<\/strong>, such as ID, price, and availability. They are <strong>required<\/strong> for every product except Category (see the table below) \u2013 make sure they are available on every product page, preferably in your website\u2019s dataLayer and in the imported feed file. System attributes appear automatically in <strong>Settings <\/strong>&gt;<strong> Product catalogs <\/strong>&gt;<strong> Product attributes <\/strong>and cannot be modified.<\/li>\n\n\n\n<li><strong>Custom attributes<\/strong>, which are <strong>optional<\/strong> product details. If you define such attributes on your product pages or in a feed file, also define them in <strong>Settings <\/strong>&gt;<strong> Product catalogs <\/strong>&gt;<strong> Product attributes <\/strong>before adding products to the catalog.<\/li>\n<\/ul>\n\n\n\n<div style=\"height:var(--wp--preset--spacing--20)\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Now, let\u2019s look at the requirements for system and custom attributes.<\/p>\n\n\n\n<div style=\"height:var(--wp--preset--spacing--20)\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"system-attributes\">System attributes<\/h4>\n\n\n\n<p>Each system attribute in a product catalog should match this specification:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><td><strong>Attribute<\/strong><\/td><td><strong>Data format and type<\/strong><\/td><td><strong>Required<\/strong><\/td><td><strong>Description<\/strong><\/td><\/tr><\/thead><tbody><tr><td>Product ID<\/td><td>string<\/td><td>yes<\/td><td>A unique identifier for the product in your store.<\/td><\/tr><tr><td>Name<\/td><td>string<\/td><td>yes<\/td><td>The product name visible to the customer.<\/td><\/tr><tr><td>Product URL<\/td><td>URL<\/td><td>yes<\/td><td>The URL address of the product page.<\/td><\/tr><tr><td>Image URL<\/td><td>image (URL)<\/td><td>yes<\/td><td>The URL address of the product image.<\/td><\/tr><tr><td>Price<\/td><td>money (decimal)<\/td><td>yes<\/td><td>The standard product price.<\/td><\/tr><tr><td>Sale price<\/td><td>money (decimal)<\/td><td>yes<\/td><td>The price the customer sees at the moment of viewing the product, e.g., with a seasonal discount applied.<\/td><\/tr><tr><td>Omnibus price<\/td><td>money (decimal)<\/td><td>yes<\/td><td>The lowest price offered in the 30 days before the current promotion.<\/td><\/tr><tr><td>Availability<\/td><td>yes\/no (boolean)<\/td><td>yes<\/td><td>Whether the product is currently available; possible values are <em>true<\/em> or <em>false.<\/em><\/td><\/tr><tr><td>Category<\/td><td>string<\/td><td>no<\/td><td>The product category, e.g. sports footwear, can also be a number. Use \u2018&gt;\u2019 to separate nested categories.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<div style=\"height:var(--wp--preset--spacing--20)\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"custom-attributes\">Custom attributes<\/h4>\n\n\n\n<p>If you use additional attributes to describe or define your products, you can add them to the product catalog in <strong>Settings <\/strong>&gt;<strong> Product catalogs <\/strong>&gt;<strong> Product attributes. <\/strong>We recommend doing it before importing the feed file or implementing the tracking script on your website.<\/p>\n\n\n\n<div class=\"infobox infobox-blue\">\n  <div class=\"infobox-inner\">\n    <div class=\"infobox-icon\">\n      <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M8.26884 2.99217C9.45176 2.50219 10.7196 2.25 12 2.25C13.2804 2.25 14.5482 2.50219 15.7312 2.99217C16.9141 3.48216 17.9889 4.20034 18.8943 5.10571C19.7997 6.01108 20.5178 7.08591 21.0078 8.26884C21.4978 9.45176 21.75 10.7196 21.75 12C21.75 13.2804 21.4978 14.5482 21.0078 15.7312C20.5178 16.9141 19.7997 17.9889 18.8943 18.8943C17.9889 19.7997 16.9141 20.5178 15.7312 21.0078C14.5482 21.4978 13.2804 21.75 12 21.75C10.7196 21.75 9.45176 21.4978 8.26884 21.0078C7.08591 20.5178 6.01108 19.7997 5.10571 18.8943C4.20034 17.9889 3.48216 16.9141 2.99217 15.7312C2.50219 14.5482 2.25 13.2804 2.25 12C2.25 10.7196 2.50219 9.45176 2.99217 8.26884C3.48216 7.08591 4.20034 6.01108 5.10571 5.10571C6.01108 4.20034 7.08591 3.48216 8.26884 2.99217ZM12 3.75C10.9166 3.75 9.8438 3.96339 8.84286 4.37799C7.84193 4.79259 6.93245 5.40029 6.16637 6.16637C5.40029 6.93245 4.7926 7.84193 4.37799 8.84286C3.96339 9.8438 3.75 10.9166 3.75 12C3.75 13.0834 3.96339 14.1562 4.37799 15.1571C4.7926 16.1581 5.40029 17.0675 6.16637 17.8336C6.93245 18.5997 7.84193 19.2074 8.84286 19.622C9.8438 20.0366 10.9166 20.25 12 20.25C13.0834 20.25 14.1562 20.0366 15.1571 19.622C16.1581 19.2074 17.0675 18.5997 17.8336 17.8336C18.5997 17.0675 19.2074 16.1581 19.622 15.1571C20.0366 14.1562 20.25 13.0834 20.25 12C20.25 10.9166 20.0366 9.8438 19.622 8.84286C19.2074 7.84193 18.5997 6.93245 17.8336 6.16637C17.0675 5.40029 16.1581 4.79259 15.1571 4.37799C14.1562 3.96339 13.0834 3.75 12 3.75ZM10.25 15.5002C10.25 15.086 10.5858 14.7502 11 14.7502H11.4088V12H11.0088C10.5946 12 10.2588 11.6642 10.2588 11.25C10.2588 10.8358 10.5946 10.5 11.0088 10.5H12.1588C12.573 10.5 12.9088 10.8358 12.9088 11.25V14.7502H13.31C13.7242 14.7502 14.06 15.086 14.06 15.5002C14.06 15.9144 13.7242 16.2502 13.31 16.2502H11C10.5858 16.2502 10.25 15.9144 10.25 15.5002ZM11.8501 7.23972C12.3748 7.23972 12.8501 7.66627 12.8501 8.23972C12.8501 8.24199 12.8501 8.24426 12.8501 8.24652C12.8481 8.53863 12.7161 8.78189 12.5542 8.9438C12.391 9.10697 12.1452 9.23972 11.8501 9.23972C11.2766 9.23972 10.8501 8.76443 10.8501 8.23972C10.8501 7.68551 11.2959 7.23972 11.8501 7.23972Z\" fill=\"currentColor\"\/><\/svg>    <\/div>\n    <div class=\"infobox-content\">\n                    <div class=\"infobox-text\">\n          <p><strong>You can create up to 20 custom product attributes.<\/strong><\/p>\n        <\/div>\n          <\/div>\n  <\/div>\n<\/div>\n\n\n\n<p>The attribute names in the system must match the attribute names in the feed file and on your website. Otherwise, the attributes will not be added correctly and will not be available for marketing actions.<\/p>\n\n\n\n<div style=\"height:var(--wp--preset--spacing--30)\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h5 class=\"wp-block-heading\" id=\"create-custom-attribute\">Create a custom attribute<\/h5>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>Go to <strong>Settings <\/strong>&gt;<strong> Product catalogs <\/strong>&gt;<strong> Product attributes.<\/strong><\/li>\n\n\n\n<li>Click <strong>Create custom product attribute<\/strong>.<\/li>\n\n\n\n<li>In the <strong>Name<\/strong> field, enter a name that matches the attribute names in the feed file and on your website.<\/li>\n\n\n\n<li>In the <strong>Type<\/strong> field, select the data type that fits the attribute:<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><td><strong>Format<\/strong><\/td><td><strong>Data type<\/strong><\/td><td><strong>Description<\/strong><\/td><\/tr><\/thead><tbody><tr><td>String<\/td><td>string<\/td><td>Short text up to 256 characters, including digits, letters, symbols.<\/td><\/tr><tr><td>Text<\/td><td>string<\/td><td>Longer description, up to 2048 characters. This data format is not used in segmentation.<\/td><\/tr><tr><td>Number<\/td><td>integer<\/td><td>A whole number without a decimal part, e.g. product weight.<\/td><\/tr><tr><td>Money<\/td><td>double<\/td><td>A numeric value in currency.<\/td><\/tr><tr><td>Date<\/td><td>string<\/td><td>Date in DD-MM-YYYY format.<\/td><\/tr><tr><td>Date and time<\/td><td>string<\/td><td>Date and time in DD-MM-YYYY hh:mm format.<\/td><\/tr><tr><td>Yes\/No<\/td><td>boolean<\/td><td>Allowed values: true, false.<\/td><\/tr><tr><td>URL<\/td><td>string<\/td><td>A link to a page, up to 256 characters.<\/td><\/tr><tr><td>Image<\/td><td>string<\/td><td>A link to a product image, up to 256 characters.<\/td><\/tr><tr><td>Set<\/td><td>string<\/td><td>A list of values separated by a delimiter, e.g. a comma or &#8220;&gt;&#8221;.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<ol start=\"5\" class=\"wp-block-list\">\n<li>Optionally, add a <strong>Description<\/strong> to help your associates understand how to use the attribute.<\/li>\n\n\n\n<li><strong>Save<\/strong> your changes.<\/li>\n<\/ol>\n\n\n\n<div style=\"height:var(--wp--preset--spacing--20)\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"add-products-to-your-catalog\">Add products to your catalog<\/h2>\n\n\n\n<p>In ECDP platform, you can add products to the catalog in two ways:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"tracking-data-updates\">Method 1: tracking data updates<\/h3>\n\n\n\n<p>The first method uses tracking data fetched by the ECDP <strong>tracking script installed on your website<\/strong>. The script tracks customer product visits and adds these products to the catalog. <strong>It takes about 7 days to cover 90% of your offer.<\/strong> Product pages that haven&#8217;t been visited won&#8217;t be added to the catalog. The tracking script also updates existing products based on customer visits.<\/p>\n\n\n\n<div style=\"height:var(--wp--preset--spacing--10)\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Turn on the tracking data updates for a product catalog:<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>Go to <strong>Settings<\/strong> &gt; <strong>Websites<\/strong>.<\/li>\n\n\n\n<li>Click <strong>Create new website<\/strong> to add a new website or choose <strong>Edit<\/strong> action to modify existing website\u2019s settings.<\/li>\n\n\n\n<li>In the <strong>Product catalog <\/strong>&gt;<strong> Choose catalog<\/strong> section, select a previously created catalog you want to use.<\/li>\n\n\n\n<li>In the <strong>Product catalog <\/strong>&gt;<strong> Catalog settings<\/strong> section, select <strong>Activate self-building product catalog.<\/strong><\/li>\n\n\n\n<li><strong>Save<\/strong> the settings.<\/li>\n<\/ol>\n\n\n\n<div style=\"height:var(--wp--preset--spacing--30)\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"cyclical-import-of-a-product-feed-file\">Method 2: cyclical import of a product feed file<\/h3>\n\n\n\n<p>The second method is <strong>importing products from a feed file<\/strong>. The catalog is created and updated through cyclical feed imports. Products are available right after the import is completed.<\/p>\n\n\n\n<p>If a product added to a previous import is not present in the next scheduled one, it will be removed from the catalog.<\/p>\n\n\n\n<div style=\"height:var(--wp--preset--spacing--20)\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"feed-file-requirements\">Feed file requirements<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Format:<\/strong> XML or CSV, not compressed.<\/li>\n\n\n\n<li><strong>File hosting:<\/strong> the file must be hosted on your store&#8217;s website and be publicly accessible via a &nbsp;URL, for example: <em>https:\/\/www.yourstore.com\/feed.xml<\/em>. Both https and http protocols are supported.<\/li>\n\n\n\n<li><strong>File content:<\/strong> the file should contain the required system attributes and custom attributes, if they appear in the file.<\/li>\n<\/ul>\n\n\n\n<p>Once your product feed file is ready, let\u2019s import it into the ECDP platform. The process differs slightly depending on the file format.<\/p>\n\n\n\n<div style=\"height:var(--wp--preset--spacing--30)\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"import-from-xml-file\">Schedule product feed imports from an XML file<\/h4>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>In <strong>Product catalogs &gt; Imports<\/strong>, click <strong>Create cyclical import<\/strong>.<\/li>\n\n\n\n<li>Select <strong>XML<\/strong> from the list.<\/li>\n\n\n\n<li><strong>Configure the feed import<\/strong> following the next steps.<\/li>\n<\/ol>\n\n\n\n<div style=\"height:var(--wp--preset--spacing--20)\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h5 class=\"wp-block-heading\" id=\"xml-basic-settings\">Basic settings<\/h5>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>Enter a <strong>name<\/strong> for the import.<\/li>\n\n\n\n<li>Select the <strong>product catalog<\/strong> this import relates to.<\/li>\n\n\n\n<li>In the <strong>XML file<\/strong> field, enter the URL where the feed file is available.<\/li>\n\n\n\n<li>Set the <strong>schedule<\/strong> for how often ECDP should import product data from the feed:\n<ul class=\"wp-block-list\">\n<li><strong>Every 3 hours<\/strong> \u2013 product data will be fetched every 3 hours.<\/li>\n\n\n\n<li><strong>Custom mode <\/strong>\u2013 specify your preferred frequency: hourly, daily, or a specific time set with a CRON expression.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<div style=\"height:var(--wp--preset--spacing--20)\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h5 class=\"wp-block-heading\" id=\"xml-mapping\">Mapping<\/h5>\n\n\n\n<p>Mapping lets you match product data from the feed file with the product data in ECDP.<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>Select the <strong>Currency<\/strong> used in your product feed for the <strong>Price<\/strong> and <strong>Sale price<\/strong> fields.<\/li>\n\n\n\n<li>In the <strong>Product path<\/strong> section click <strong>Choose<\/strong> to indicate the product feed location:\n<ul class=\"wp-block-list\">\n<li>A panel showing the feed structure will open \u2013 it looks similarly to a nested folder view.<\/li>\n\n\n\n<li>Expand the elements if necessary and select the one that represents a <strong>single product<\/strong>. In most feeds, this will be the element called <em>product<\/em> located inside the main <em>feed<\/em> element.<\/li>\n\n\n\n<li>Once you select the product location, ECDP will read and display all system and custom product attributes below.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Assign <strong>system and custom attributes<\/strong>\n<ul class=\"wp-block-list\">\n<li><span style=\"font-size: 1rem;\">Click the <\/span><strong style=\"font-size: 1rem;\">Choose<\/strong><span style=\"font-size: 1rem;\"> button.<\/span><\/li>\n\n\n\n<li><span style=\"font-size: 1rem;\">Select the corresponding attribute name from the list.<\/span><\/li>\n\n\n\n<li>Repeat for each attribute listed in this section.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<div style=\"height:var(--wp--preset--spacing--20)\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h5 class=\"wp-block-heading\" id=\"xml-preview\">Preview<\/h5>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>Go to the <strong>Preview <\/strong>section and check if the attributes have been mapped correctly.<\/li>\n\n\n\n<li>If you notice an issue:\n<ul class=\"wp-block-list\">\n<li><strong>An attribute is mapped incorrectly<\/strong> \u2013 go to the <strong>Mapping<\/strong> tab and reassign the correct location for that attribute.<\/li>\n\n\n\n<li><strong>An attribute or its value is missing from a column<\/strong> \u2013 update your feed file and upload it again.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>If the data are correct, click <strong>Save<\/strong> to complete the import configuration.<\/li>\n<\/ol>\n\n\n\n<div style=\"height:var(--wp--preset--spacing--30)\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"imports-from-CSV-file\">Schedule product feed imports from a CSV file<\/h4>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>In <strong>Product catalogs &gt; Imports<\/strong>, click <strong>Create cyclical import<\/strong>.<\/li>\n\n\n\n<li>Select <strong>CSV<\/strong> from the list.<\/li>\n\n\n\n<li><strong>Configure the feed import<\/strong> following the next steps.<\/li>\n<\/ol>\n\n\n\n<div style=\"height:var(--wp--preset--spacing--20)\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h5 class=\"wp-block-heading\" id=\"csv-basic-settings\">Basic settings<\/h5>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>Enter a <strong>name<\/strong> for the import.<\/li>\n\n\n\n<li>Select the <strong>product catalog<\/strong> this import relates to.<\/li>\n\n\n\n<li>In the <strong>CSV file<\/strong> field, enter the URL where the feed file is available.<\/li>\n\n\n\n<li>Set the <strong>schedule<\/strong> for how often ECDP should import product data from the feed:\n<ul class=\"wp-block-list\">\n<li><strong>Every 3 hours<\/strong> \u2013 product data will be fetched every 3 hours.<\/li>\n\n\n\n<li><strong>Custom mode <\/strong>\u2013 specify your preferred frequency: hourly, daily, or a specific time set with a CRON expression.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<div style=\"height:var(--wp--preset--spacing--20)\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h5 class=\"wp-block-heading\" id=\"csv-settings\">Settings<\/h5>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>Select the <strong>Currency<\/strong> used in your product feed for the <strong>Price<\/strong> and <strong>Sale price<\/strong> fields.<\/li>\n\n\n\n<li>In the <strong>Advanced settings <\/strong>section specify how product data is structured in your feed \u2013 this helps us read the data correctly.\n<ul class=\"wp-block-list\">\n<li>Indicate how values are separated in your feed file:\n<ul class=\"wp-block-list\">\n<li><strong>Tab<\/strong> \u2013 enable <strong>Use Tab as value separator<\/strong><\/li>\n\n\n\n<li><strong>Comma or semicolon<\/strong> \u2013 enter the character in the <strong>Value separator<\/strong> field<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>The file has headers<\/strong> \u2013 enable this option if each data column in the feed file has a header or a column name. Headers will be skipped during the import.<\/li>\n\n\n\n<li>Define any additional characters used in your feed:\n<ul class=\"wp-block-list\">\n<li><strong>Quote character<\/strong> \u2013 indicates which character is used to wrap the values so they are read as one phrase rather than split. The quote character is useful for data like prices, which often use commas for decimal values (e.g. cents).<\/li>\n\n\n\n<li><strong>Escape character<\/strong> \u2013 indicates the character or sequence that prevents the next separator or quote character from being treated as a delimiter, making it part of the value instead.<\/li>\n\n\n\n<li><strong>Comment character<\/strong> \u2013 indicates the character used to mark comments in the feed. These will be skipped during the import.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Character encoding<\/strong> \u2013 select the appropriate value from the list. A quick tip: the most common encoding is Unicode (UTF-8), which also supports Polish characters.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<p>Check the <strong>Preview<\/strong> to see how the data from the feed has been read.<\/p>\n\n\n\n<div style=\"height:var(--wp--preset--spacing--20)\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h5 class=\"wp-block-heading\" id=\"csv-mapping\">Mapping<\/h5>\n\n\n\n<p>Mapping assigns product attributes present in the feed to the attributes in ECDP.<\/p>\n\n\n\n<p>In this section, columns from the file are displayed horizontally, with data from each column shown in rows.<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>Click the dropdown on the left side of each row.<\/li>\n\n\n\n<li>Select the system or custom attribute that matches the data displayed in that row. If a row shows a product name, select <strong>Name<\/strong>. If it shows a product page URL, select <strong>URL<\/strong>.<\/li>\n\n\n\n<li>Repeat for all rows.<\/li>\n\n\n\n<li>Once all attributes are assigned, click <strong>Save<\/strong>. The file import is ready.<\/li>\n<\/ol>\n\n\n\n<div style=\"height:var(--wp--preset--spacing--20)\" aria-hidden=\"true\" id=\"update-product-data-between-imports\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"updating-product-catalog-between-imports\">Updating product catalog between imports<a href=\"#updating-product-catalog-between-imports\" class=\"not-prose content-heading-link\">#<\/a><\/h3>\n\n\n\n<p>You can use tracking data to update the catalog between the cyclical imports. import. This lets you collect more recent product data directly from the website and update the catalog instead of waiting for the scheduled import.<\/p>\n\n\n\n<p>To enable this option:<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>Go to <strong>Settings<\/strong> &gt; <strong>Websites<\/strong>.<\/li>\n\n\n\n<li>Select <strong>Edit<\/strong> action to modify existing website\u2019s settings.<\/li>\n\n\n\n<li>In the <strong>Product catalog <\/strong>&gt;<strong> Catalog settings<\/strong> section:\n<ul class=\"wp-block-list\">\n<li>First, select <strong>Activate self-building product catalog.<\/strong><\/li>\n\n\n\n<li>Then, select <strong>Overwrite products added through import. <\/strong>This option replaces product data imported from a feed file with data collected by the tracking script.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Save<\/strong> the settings.<\/li>\n<\/ol>\n\n\n\n<p>When <strong>Overwrite products added through import<\/strong> option is turned off, the script does not update the products that already exist in the catalog. However, if a new product appears on the website before the next import, the script will add it to the catalog.<\/p>\n\n\n\n<div style=\"height:var(--wp--preset--spacing--20)\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"common-issues-with-product-catalogs\">Troubleshooting<\/h2>\n\n\n\n<p><strong>The feed isn&#8217;t filling up after setup<\/strong><\/p>\n\n\n\n<p>If you&#8217;ve enabled product updates with tracking data, give it about 7 days to fill the catalog. The tracking script collects data only when a customer visits a product page, so products that haven&#8217;t been visited yet won&#8217;t appear in the feed. This is an expected behavior.<\/p>\n\n\n\n<div style=\"height:var(--wp--preset--spacing--10)\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><strong>A product&#8217;s price or details are outdated<\/strong><\/p>\n\n\n\n<p>Product updates happen when the customer visits that product page. For feed imports, check the import schedule. If you need an immediate update, you can force the feed import manually.<\/p>\n\n\n\n<div style=\"height:var(--wp--preset--spacing--10)\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><strong>The import failed<\/strong><\/p>\n\n\n\n<p>Check if your file is publicly accessible at the URL you provided and that it is in an XML or CSV format. Then, verify that all required attributes are present and correctly formatted \u2013 especially the boolean values for availability, which must be <em>true<\/em> or <em>false<\/em>, not <em>1\/0<\/em> or <em>yes\/no<\/em>.<\/p>\n\n\n\n<div style=\"height:var(--wp--preset--spacing--10)\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><strong>Products are missing after importing<\/strong><\/p>\n\n\n\n<p>This can be caused by:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Mapping issues<\/strong>. Go to the <strong>Mapping<\/strong> tab and confirm that all required attributes and parameters, especially Product ID, Name, URL, and Price, are correctly assigned.<\/li>\n\n\n\n<li><strong>A product has been removed from the feed file<\/strong>. If a product is not present in the next scheduled import, it will be removed from the catalog. Add the missing product to the feed file and wait for it to be imported according to the schedule, or force the import manually.<\/li>\n<\/ol>\n\n\n\n<div style=\"height:var(--wp--preset--spacing--10)\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><strong>The feed isn&#8217;t updating on schedule<\/strong><\/p>\n\n\n\n<p>Double-check your CRON expression in the <strong>Custom<\/strong> schedule settings. If you&#8217;re using the &#8220;Every 3 hours&#8221; option, make sure the feed file at your URL is being updated on your store&#8217;s side as well.<\/p>\n\n\n\n<p><\/p>\n","protected":false},"author":6,"featured_media":0,"parent":0,"menu_order":0,"template":"","ecdp-category":[112],"class_list":["post-17595","ecdp","type-ecdp","status-publish","hentry","ecdp-category-data-management"],"acf":[],"_links":{"self":[{"href":"https:\/\/help.expertsender.com\/pl\/wp-json\/wp\/v2\/ecdp\/17595","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/help.expertsender.com\/pl\/wp-json\/wp\/v2\/ecdp"}],"about":[{"href":"https:\/\/help.expertsender.com\/pl\/wp-json\/wp\/v2\/types\/ecdp"}],"author":[{"embeddable":true,"href":"https:\/\/help.expertsender.com\/pl\/wp-json\/wp\/v2\/users\/6"}],"version-history":[{"count":8,"href":"https:\/\/help.expertsender.com\/pl\/wp-json\/wp\/v2\/ecdp\/17595\/revisions"}],"predecessor-version":[{"id":17623,"href":"https:\/\/help.expertsender.com\/pl\/wp-json\/wp\/v2\/ecdp\/17595\/revisions\/17623"}],"wp:attachment":[{"href":"https:\/\/help.expertsender.com\/pl\/wp-json\/wp\/v2\/media?parent=17595"}],"wp:term":[{"taxonomy":"ecdp-category","embeddable":true,"href":"https:\/\/help.expertsender.com\/pl\/wp-json\/wp\/v2\/ecdp-category?post=17595"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}