Skip to content

Creating product feed

A product feed is a file with information about products available in your online store – such as product name, regular price, discounted price, and availability.

Product feed data is used in:

  • Recommendations
  • Events such as abandoned cart and abandoned browsing, which include product details

Two ways to build your product feed#

Before you start, decide which method works best for your setup:

  • Self-build – the ECDP tracking script you’ve already placed on your store’s website collects product data in the background. No manual file preparation needed, but it takes about 7 days to cover 90% of your feed.
  • Import from file – you prepare a product feed file (XML or CSV) and point ECDP to its URL. Products are available right after a successful import.

If you manage multiple websites, you can only add one product feed per website.

Self-building product feed

This method requires Web Tracking channel configuration, which involves placing a tracking script on your website. The script collects product information from each visited product page and sends it to the product feed in ECDP.

Adding 90% of products takes about a week. Product pages that haven’t been visited won’t be added to the feed.

If you change a product’s price, it will be updated in the feed during the customer’s next visit.

How to enable self-building feed

  1. Go to Settings > Web tracking > Websites.
  2. Click Create new website.
  3. Add a website name, URL, and an optional description.
  4. Select the website’s primary language.
  5. Check Activate self-building product feed.
  6. Check Overwrite products added through import – this replaces product information imported from a file with data collected through automatic feed building.
  7. Click Save.

Importing a product feed from a file

Importing a product feed from a file

Before creating a product feed in ExpertSender CDP, prepare the file according to our guidelines below.

File format

The product feed must be a file in one of the following formats:

  • XML
  • CSV

Compressed files (.zip and .gz) are not supported.

Product attributes in feed

Product attributes are pieces of information that describe the products in your feed, such as price, brand, color, or availability. In ECDP, you can use them to personalize your marketing campaigns or target product recommendations more precisely. This data is pulled from the XML or CSV file you use to import your product feed into the system.

There are two types of attributes in a feed:

  • System attributes – required for every product (e.g. ID, price, availability). You cannot modify them – they are fixed and always present in the feed.
  • Custom attributes – additional details that you define yourself (e.g. brand, color, size). You can use them as filters and boosters in recommendations.

Attributes are available across all product feeds in your business unit. You can find them under Settings > Web Tracking > Product attributes in feeds.

System attributes

Every product in the feed should include the following attributes:

AttributeData typeRequiredDescription
Product IDstringyesA unique identifier for the product in your store
NamestringyesThe product name visible to the customer
Product URLstring (URL)yesThe address of the product page
Image URLstring (URL)yesThe address of the product image
PricedecimalyesThe standard product price
Current pricedecimalyesThe price the customer sees at the moment of viewing the product, for example, with a seasonal discount applied
Omnibus pricedecimalyesThe lowest price offered in the 30 days before the current promotion
AvailabilitybooleanyesWhether the product is currently available; possible values are true or false
CategorystringnoThe product category (e.g. sports footwear), can also be a number

Custom attributes

You can add your own product attributes to the feed, such as weight, brand, or color. Use them in your marketing content, and as filters and boosters in recommendations.

Add them under Settings > Web Tracking > Product attributes in feeds, before you import the product feed.

The attribute names in the system must match the names in your product file (XML/CSV). Otherwise, the data will not be assigned correctly.

  1. Click Add custom product attribute.
  2. In the Name field, enter a unique name for the attribute.
  3. In the Type field, select the data type that fits the attribute:
  4. Optionally, add a Description to help others understand how to use the attribute.
  5. Save the changes.
FormatData typeDescription
StringstringShort text up to 256 characters (digits, letters, symbols), e.g. brand, color, or product SKU
TextstringLonger description, up to 2,048 characters. Text type data is not used in segmentation
IntegerintegerA whole number without a decimal part, e.g. product weight
Amountnumber (double)A numeric value in currency, e.g. a discount
DatestringDate in DD-MM-YYYY format
Date and timestringDate and time in DD-MM-YYYY hh:mm format
Yes/NobooleanAllowed values: true, false
URLstring (URL)A link to a page, up to 256 characters
Imagestring (URL)A link to a product image, up to 256 characters
SetstringA list of values separated by a delimiter, e.g. a comma or “>”





File hosting

The feed file must be hosted on your store’s website and accessible via a URL, for example: https://www.yourstore.com/feed.xml

Both https and http protocols are supported.

Add a product feed in XML format

  • In Web Tracking > Product feeds, click Create product feed.
  • Select XML from the list.
  • Proceed to feed configuration.

Basic settings

  1. Enter a name for the product feed.
  2. Select the website the feed relates to.
  3. In the Custom XML file field, enter the URL where the feed file is available.
  4. Set the schedule for how often ECDP should fetch data from the feed:
    • Every 3 hours – product data will be fetched every 3 hours.
    • Custom mode – specify your preferred frequency using a cron expression.

Mapping

Mapping lets you match data from your file to the corresponding product parameters in ECDP.

  1. Select the currency used in your product feed for the Price and Sale price fields.
  2. In the Product path section, indicate where products are located in the file:
    • Click Select.
    • A panel showing the feed structure will open – it works similarly to a folder view. Expand the elements and select the one that represents a single product. In most feeds, this will be the product element inside the main feed element.
    • Once you select the product location, ECDP will read and display all system and custom product attributes below, such as price, category, and image URL.
    • Then, assign each attribute’s location the same way – click and select the appropriate attribute from the list.

Preview

  1. Go to the preview and verify that the attributes have been correctly mapped to products in the file.
  2. If you notice an issue:
    • An attribute is mapped incorrectly – go to the Mapping tab and reassign the correct location for that parameter.
    • An attribute or a value is missing from a column – update your product feed file and upload it again.
  3. If the data looks correct, click Save to complete the feed configuration.

Add a product feed in CSV format

  1. In Web Tracking > Product feeds, click Create product feed.
  2. Select CSV from the list.
  3. Proceed to feed configuration.

Basic settings

  1. Enter a name for the product feed.
  2. Select the website the feed relates to.
  3. In the Custom CSV file field, enter the URL where the feed file is available.
  4. Set the schedule for the ECDP to periodically import information from the file:
    • Every 3 hours – product information is imported every 3 hours.
    • Custom mode – set your own frequency for importing data from the file. You can set any frequency using the cron expression.

Settings

  1. Select the currency used in your product feed for the Price and Sale price fields.
  2. Under Advanced settings, specify how product data is structured in your feed – this helps us read the data correctly.
    • First, indicate how values are separated in your feed:
      • Tab – enable Use Tab as value separator
      • Comma or semicolon – if you’re not using a tab, enter the appropriate character in the Value separator field
    • The file has headers – enable this if each data column in the file has a header or title. These will be skipped when the file is imported.
    • Then, specify any additional characters used in your feed:
      • Quote character – indicate which character is used to wrap values so they are read rather than split. Useful for data like prices that use commas for decimal values (e.g. cents).
      • Escape character – indicate 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.
      • Comment character – indicate the character used to mark comments in the feed. These will be skipped during import.
    • Character encoding – select the appropriate value from the list. A quick tip: the most common encoding is Unicode (UTF-8), which also supports Polish characters.

Check the Preview to see how the data from your file has been read.

Mapping

Mapping assigns product attributes from your file to the corresponding attributes in the platform.

During mapping, columns from the file are displayed horizontally, with data from each column shown in rows.

  1. Click the dropdown on the left side of each row.
  2. Select the attribute (system or custom) that matches the data displayed in that row. If a row shows a product name, select Name. If it shows a product page URL, select URL. Repeat for all rows.
  3. Once all attributes are assigned, click Save. Your product feed is ready.

Common issues

The feed isn’t filling up after setup If you’ve enabled automatic creation, give it up to 7 days. The tracking script collects product data only when a customer visits a product page, so products that haven’t been visited yet won’t appear in the feed. This is expected behavior.

A product’s price or details are outdated Automatic feed updates happen on the customer’s next visit to that product page. For the product feed imported from a file, check the file download schedule If you need an immediate update, you can force the feed file download manually.

The import failed Check that your file is publicly accessible at the URL you provided and that it’s in a supported format (XML or CSV, uncompressed). Then verify that all required parameters are present and correctly formatted – especially that boolean values for availability are true or false, not 1/0 or yes/no.

Products are missing after import Go to the Mapping tab and confirm that all required attributes and parameters – especially Product ID, Name, URL, and Price – are correctly assigned. A missing or mismatched mapping is the most common cause of incomplete imports.

The feed isn’t updating on schedule Double-check your cron expression in the Custom mode settings. If you’re using the “Every 3 hours” option, make sure the feed file at your URL is being updated on your store’s side as well.