Getting started
With Product Feeds, you can create fully customizable CSV, TXT, JSON and XML data feeds of your products catalog using one of the 80 premade templates or starting with a new one from scratch.
Installing the app
Go to the Shopify App Store
Install the app
Access it through the Apps section of your Shopify Store
Subscription plans
includes
- Standard support
- 1 data feed
- 1 000 products
- New on-demand template (fee-based service)
- 1 schedule / feed / 24h
includes
- Standard support
- 3 data feed
- 10 000 products
- New on-demand template (fee-based service)
- 3 schedules / feed / 24h
includes
- Express support
- 10 data feeds
- 100 000 products
- New on-demand template (free service)
- 6 schedules / feed / 24h
- Live chat support
includes
- Express support
- 30 data feeds
- 1 000 000 products
- New on-demand template (free service)
- 12 schedules / feed / 24h
- Live chat support
-
includes
- Standard support
- 1 data feed
- 1 000 products
- New on-demand template (fee-based service)
- 1 schedule / feed / 24h
-
includes
- Standard support
- 3 data feed
- 10 000 products
- New on-demand template (fee-based service)
- 3 schedules / feed / 24h
-
includes
- Express support
- 10 data feeds
- 100 000 products
- New on-demand template (free service)
- 6 schedules / feed / 24h
- Live chat support
-
includes
- Express support
- 30 data feeds
- 1 000 000 products
- New on-demand template (free service)
- 12 schedules / feed / 24h
- Live chat support
Understanding Product Feeds
What is a product data feed?
A product data feed is a file containing product information such as titles, descriptions, prices, and images URLs. It helps e-commerce businesses manage and update their product catalog across multiple online platforms, improving visibility and driving sales.
How to create a product data feed?
Here are the steps to create a data feed:
Choose to create your data feed from scratch or an existing template
Choose the format (CSV/TXT/XML) (when creating a data feed from scratch)
Complete the basic settings
Adjust your template
Apply the collection Selection and Mapping
Filter products
Generate the data feed
download the hosted file
get the data feed URL
export the data feed
Configuring a data feed profile
In order to list your products on marketplaces, you must create and submit a product data feed. A data feed is a file in TXT, CSV or XML format that contains detailed information about your products.
Basic settings
Status
When the data feed has a disabled status, it won't generate.
Name
The name of the data feed profile corresponds to its unique name for internal use only.
File name
The file name corresponds to the name of the data feed file visible in the URL.
Language
The language you choose will be the one used for product attributes.
From a ready-to-use template
Existing templates are pre-configured formats that simplify creating and exporting product data feeds for various shopping platforms, marketplaces, and comparison sites.
These templates are designed to meet the specific requirements and data structures of each platform, ensuring that your product information is accurately and consistently presented.
To create feed from an existing template:
Go to Product feeds
Click on Create a new data feed
Choose a template in the different section (except from New template from scratch)
The following pre-made templates are available on Product Feeds:
From scratch
Creating a new template from scratch allows you to build your own entirely customized feed.
There are three different options: CSV, TXT, and XML files, each serving as formats for structuring and storing data, facilitating seamless integration and manipulation within various systems and platforms.
When creating a data feed, you need to think about using this data feed to choose your file type or your pre-configured template.
XML
An XML file is a markup language used to structure and store data in a hierarchical format, unlike CSV and TXT files which store data in plain text with delimited values.
To create an XML data feed from scratch
Go to Product Feeds
Click Create a new data feed
In the drop-down list, select XML template (xml) in the New template from scratch section
![](https://a.storyblok.com/f/291349/2002x886/7fbcedf311/product-feeds-3.png/m/fit-in/760x0/filters:quality(60):format(jpg))
Click Ok to confirm your choice
Fill in the settings fields (for more information go to Determine the data feed settings)
In Template & Preview fill the fields header pattern, product pattern (with the help of the Placeholders Library), and footer pattern
To learn the basics of structuring an XML data feed go read our Beginner's Guide for XML
CSV/TXT
CSV and TXT files are plain text formats used to store data with delimited values, unlike XML files which structure data hierarchically using markup language.
To create an XML data feed from scratch:
Go to Product Feeds
Click Create a new data feed
Select in the drop-down list CSV template (CSV) or TXT template (txt) in the New template from scratch section
![](https://a.storyblok.com/f/291349/1632x555/b3b4b78b8d/product-feeds-5.png/m/fit-in/760x0/filters:quality(60):format(jpg))
Click Ok to confirm your choice
Fill in the settings fields (for more information go to Determine the data feed settings)
![](https://a.storyblok.com/f/291349/1441x613/ab1dc094eb/product-feeds-6.png/m/fit-in/760x0/filters:quality(60):format(jpg))
In Template & Preview fill the fields extra header pattern, Column Mapping (with the help of the Placeholders Library), and footer pattern
To learn the basics of structuring a CSV/TXT data feed go read our Beginner's Guide for XML
Manage product feeds templates
Depending on the targeted Shopping engine or marketplace, the data feed template may vary.
The template describes how the data feed is structured and how the data are organized in the final data feed file.
<products>
<product>
<title>My product 1</title>
<price>99.99$</price>
</product>
<product>
<title>My product 2</title>
<price>49.99$</price>
</product>
</products>
Title; Price
My product 1;99.99$
My product 2;49.99$
When building the template all product values are replaced by dynamic placeholders such as: {{title}} or {{price}}
The template for the above examples with their dynamic placeholder would look like this:
<products>
<product>
<title>{{title}} </title>
<price>{{price suffix="$"}}</price>
</product>
</products>
Title; Price
{{title}} {{price suffix="$"}}
Product Feeds includes an internal library with all possible placeholders available and many examples.
Go to Product FeedsEdit Data FeedTemplate & Previewthen click on Placeholders library
![](https://a.storyblok.com/f/291349/807x687/e25dc09db5/placeholders-library.png/m/fit-in/760x0/filters:quality(60):format(jpg))
Filtering products
Filters are simple criteria or conditions that help you select specific products to include or exclude from your data feed.
This filter allows you to specify whether the rule should be applied if any or all of the specified conditions evaluate to true or false.
By collection
To select the type of collection filter:
Go toCollections > collection filter type, select exclude selected collections or include selected collections
↪ Include
Include selected collections will include all of the products of the selected collection in the data feed.
↪ Exclude
Exclude selected collections will exclude all of the products of the selected collection of the data feed.
By product values
↪ Basics
Status
Title
Description
Sales channel
↪ Product variants
Has variants
Refers to a product that has multiple versions or variations with different attributes (size, color…).
With this filter, you have to choose between:
Is a variant
Refers to a version of a main product with unique features that differentiate it from others variants.
Is the first variant
Refers to a specific product variant that serves as the primary or default representation of a product with multiple variants.
Number of variants
Refers to the total count of unique product versions or variants that exist for a specific product. Each variant represents a distinct combination of attributes (size, color…).
↪ Identifiers
ID
Refers to a unique value or code assigned to each product in a data feed to distinguish it from others.
SKU
Stands for Stock Keeping Unit. It is a unique alphanumeric identifier assigned to each distinct product or product variant in an inventory management system.
Barcode
is a unique identifier assigned to a product that can be scanned using a barcode scanner or a mobile device with a barcode-reading app.
Hs code
Stands for Harmonized System Code, it facilitates the uniform classification of goods for customs, trade, and statistical purposes.
↪ Links
↪ Images and media
Image URL
Image alternative text
Image name
↪ Prices and promotions
Sale price
Sale price refers to a temporary or promotional discounted price of a product, which is lower than its normal or regular price during a sale event, such as seasonal sales, promotional campaigns...
Normal price
Normal price refers to the regular or standard selling price of a product, without any discount, promotions, or markdowns applied.
Special price
Special price refers to a temporary discount for a specific or small selection of products.
Min price
Min price refers to the lowest price available for a product or a group of products.
Max price
Max price refers to the highest price available for a product or a group of products.
Cost
Has special price
Has special price indicates that a product has a discount price applied to it, which is lower than its normal or regular price.
Has promotion price
Has promotion price indicates that a product has a promotional price applied to it, which is lower than its normal or regular price.
Promotion name
Promotion code
↪ Inventory
Tracks inventory
Backorders allowed
Backorders allowed means retailers accept orders for a product even when it is currently out of stock. When backorders are allowed, customers can still place orders for the out-of-stock item, and the retailer will ship the product once it becomes available again.
Quantity
Availability
↪ Variants and options
↪ Metafields
↪ Product organization
↪ Shipping information
Preview the data feed
The Preview function allows you to build your data feeds easily by checking the result preview.
CSV/TXT
When creating a CSV or TXT data feed, you will see two options offered to you in the Template & Preview section:
Data-Sheet Preview
Text Preview
![](https://a.storyblok.com/f/291349/615x578/d02557dde4/product-feeds-17.png/m/fit-in/760x0/filters:quality(60):format(jpg))
![](https://a.storyblok.com/f/291349/588x423/8f467268b3/product-feeds-15.png/m/fit-in/760x0/filters:quality(60):format(jpg))
↪ Refresh Preview
In the Data Feed Preview, there is a button to refresh the preview to have the latest changes of template displayed.
You will also find the date of the last data fetching (See Update Data Fetch)
![](https://a.storyblok.com/f/291349/1092x137/fda1c92001/product-feeds-16.png/m/fit-in/760x0/filters:quality(60):format(jpg))
↪ Text Preview
The Text Preview feature provides you with a direct look at your data in its unprocessed state, allowing you to see exactly how the information you've entered will be displayed. By previewing the raw data, you can verify that your data feed is structured and formatted as you expect. This preview enables you to identify any discrepancies or anomalies in the data, ensuring its accuracy before proceeding further.
You have the option to include or not the header.
![](https://a.storyblok.com/f/291349/679x422/765bd205fa/product-feeds-21.png/m/fit-in/760x0/filters:quality(60):format(jpg))
![](https://a.storyblok.com/f/291349/664x390/e1e1fe1251/product-feeds-22.png/m/fit-in/760x0/filters:quality(60):format(jpg))
XML
When creating an XML data feed, you will have the option to get a preview of your final feed.
![](https://a.storyblok.com/f/291349/913x544/39d8b9d829/product-feeds-25.png/m/fit-in/760x0/filters:quality(60):format(jpg))
↪ Refresh Preview
In the Data Feed Preview, there is a button to refresh the preview to have the latest changes of template displayed.
You will also find the date of the last data fetching (See Update Data Fetch)
![](https://a.storyblok.com/f/291349/1092x137/fda1c92001/product-feeds-16.png/m/fit-in/760x0/filters:quality(60):format(jpg))
Create a data feed or access your existing data feed Data Feed ProfilesEdit
Go to Template & Preview
In the right window click on Data Feed Preview
Click on Refresh
Generate data feeds
You can generate your data feeds in two ways:
Generate the data feeds manually
↪ Option 1
Go to Product Feeds
In the Data Feed Profiles section, select the feed you want to generate by clicking on the arrow at the end of the row
![](https://a.storyblok.com/f/291349/2048x663/33b372f8f2/product-feeds-27.png/m/fit-in/760x0/filters:quality(60):format(jpg))
In the drop-down list, select Generate
In the new window, click OK
![](https://a.storyblok.com/f/291349/2048x440/c381485660/product-feeds-28.png/m/fit-in/760x0/filters:quality(60):format(jpg))
The status of the feed will change for In progress. Wait some minutes until the status displayed is Success. This means your feed has been successfully generated.
↪ Option 2
Go to Product Feeds
In the Data Feed Profiles section, select the feed you want to generate by clicking on the arrow at the end of the row
In the drop-down list, select Edit
![](https://a.storyblok.com/f/291349/2048x493/c61ee4d4e3/product-feeds-30.png/m/fit-in/760x0/filters:quality(60):format(jpg))
Click Generate at the top left of the page
![](https://a.storyblok.com/f/291349/1932x732/2951df1975/product-feeds-31.png/m/fit-in/760x0/filters:quality(60):format(jpg))
In the new window, click OK
A new blue text is displayed informing you that the data feed generation will start shortly. Once done, the message turns green and displays the date of the last update. This means your feed has been generated successfully.
![](https://a.storyblok.com/f/291349/1778x772/08785144ac/product-feeds-32.png/m/fit-in/760x0/filters:quality(60):format(jpg))
![](https://a.storyblok.com/f/291349/1606x766/7701fe4c0c/product-feeds-33.png/m/fit-in/760x0/filters:quality(60):format(jpg))
Generate the data feeds automatically
To automatically generate a data feed, you must first create a data feed.
Once your feed is built and saved:
Go to Product FeedsProduct Feeds Schedule
![](https://a.storyblok.com/f/291349/1306x444/16c536b255/product-feeds-34.png/m/fit-in/760x0/filters:quality(60):format(jpg))
In the drop-down list of the Data Feeds Generation Schedules tick one or multiple schedule times
![](https://a.storyblok.com/f/291349/574x300/2e2edda92a/product-feeds-35.gif/m/fit-in/760x0/filters:quality(60):format(jpg))
In Product Feeds Configuration, you can check the data feed status and the Last and Next Update Scheduled
![](https://a.storyblok.com/f/291349/2048x190/da5efa0d2c/product-feeds-36.png/m/fit-in/760x0/filters:quality(60):format(jpg))
The Scheduled times selected apply to all data feeds created before and after scheduling
Get the data feed files
Once the data feed is generated, you can use it in different ways:
Download
To download the data feed, you must first have created and generated it.
Once done, to download a data feed:
Go to Product Feeds
In the Data Feed Profiles section, click on the Url in the Url column of the feed you want to download
![](https://a.storyblok.com/f/291349/2048x409/b301c3babf/product-feeds-37.png/m/fit-in/760x0/filters:quality(60):format(jpg))
Your data feed is now downloaded
Upload/Export
To export your data feed using FTP:
Got to Product Feeds
Create or Edit a Data Feed Profile
Go to the Export section
Enable FTP Upload toggle switch
![](https://a.storyblok.com/f/291349/882x532/9b5ed16686/product-feeds-38.gif/m/fit-in/760x0/filters:quality(60):format(jpg))
Choose to enable or not FTPS (voir pour mettre un lien pour des explicaitons)
If you did not choose to enable FTPS:
Choose to enable or not Passive Mode (voir pour mettre un lien pour des explications)
Choose to enable or not SSL (voir pour mettre un lien pour des explicaitons)
Enter the Host Name: Provide the hostname or IP address of the FTP server where you want to upload the data feed
![](https://a.storyblok.com/f/291349/1310x118/3e75656700/product-feeds-39.png/m/fit-in/760x0/filters:quality(60):format(jpg))
Enter the FTP port: Specify the port number for the FTP connection. The default FTP port is 21, but it may be different depending on your server configuration
![](https://a.storyblok.com/f/291349/1343x125/093d23bd7a/product-feeds-40.png/m/fit-in/760x0/filters:quality(60):format(jpg))
Enter Username: Enter the username required to access the FTP server
Enter password: Provide the password associated with the username for the FTP server
Enter path to directory: Specify the directory path on the FTP server where you want to upload the data feed files
![](https://a.storyblok.com/f/291349/1457x106/e2c66b12fc/product-feeds-42.png/m/fit-in/760x0/filters:quality(60):format(jpg))
Hosted file
To copy the url of a feed, this feed must be created.
Go to Product Feeds
In the Data Feed Profiles, click on the clipboard icon in the url column of the feed you want to copy the url
The url is now copied in your clipboard
Update data fetching
The data fetch update is an automated process that periodically retrieves updated product information from your Shopify store and syncs it with the app.
This ensures that your product listings on these platforms are accurate, up-to-date, and consistent with the data in your Shopify store.
Bulk requests allow you to retrieve multiple records in a single API request. This reduces the number of API calls required to retrieve all the desired data. The API will process the requests in parallel and return the results in a single response.
Webhooks allow you to receive real-time updates when data changes on the server. When data changes, the API will send an HTTP POST request to your callback URL with the updated data. You can then process the data and update your application accordingly.
To update a data fetch:
Go to Product FeedsProduct Feeds Schedule
Next to Schedule times, click the box and select an hour in the drop-down list. This hour will be when your data fetch will be updated
Click Save
In the Data fetching section, you can visualize when the last update was and when the next one will occur
You can also decide to fetch at any time by clicking on the green button Fetch now