ChannelEngine: product feeds
About this article
This article describes how to set up product feeds on ChannelEngine.
Table of contents
Attributes to include in your feed
After mapping the product feed
Introduction
A product feed is a master file that ChannelEngine uses to import your product data onto the platform. The product feed is accessed from a public HTTP domain, e.g.: Google Sheets, or an SFTP server.
Overview
Manage your product feeds at Products, Product feeds. The product feed page lists up to 20 product feeds and contains the following information:
- Name - the name of your feed.
- URL - the URL where the feed is hosted.
- Type - the type of feed (CSV, XML, or JSON) and if it is a leading or additional feed.
- Most recent import - the timestamp of the latest import of the feed to ChannelEngine.
- Next import - the timestamp of the next scheduled import of the feed.
- Status - the result of the current or last import of the feed.
- Validation report - redirects you to a separate page, which shows the number of active, inactive, and new products from the last import. For details on the validation report, check out the Validation report section below.
- Actions
- Edit - allows you to edit an existing product feed. This redirects you to the feed mapping.
- Delete - deletes an existing product feed. Bear in mind that this also marks all products in the feed as deleted, if the feed is a leading one.
- Start import - forces the import of a product feed manually. Make sure not use this too often in short succession, as data in product feeds does not have to be updated very frequently – and it increases the load on ChannelEngine's services.
Create a product feed
Your product feed is your master data on ChannelEngine. When you add, update, or delete products via your product feed, these products are added, updated, and deleted on the channels on which you list them via ChannelEngine.
To create a product feed:
- Decide what products to list via ChannelEngine. Organize your feed around these products.
- Decide which attributes to list in your feed per product. ChannelEngine enables you to store a basic set of product data, used as a golden standard for listings on any channel. For inspiration on which attributes to use in your feed, check out the sections below:
- Decide on a format:
- CSV - the most commonly used product feed type. For guidelines, check out the CSV feeds section below.
- XML - visualizing attributes per product container is straightforward. For guidelines, check out the XML feeds section below.
- JSON - supports nesting, to easily visualize (grand)parent-child structures in your product suite. For guidelines, check out the JSON feeds section below.
- TXT - also allowed, as long as the XML or CSV structure is used.
- Decide on a hosting service. For tips on using popular services, check out:
-
Create your file with your product attributes. Use the following templates to get started:
- Save your file with the correct file extension.
Guidelines for product feeds
- Each product must have a Merchant product number, which makes the product unique in ChannelEngine's database. SKUs, GTINs, or any other unique IDs from your source system are the most commonly used.
- It is recommended that your feed file be no larger than 25 MB.
- If your leading feed is larger than 25 MB, move all the non-essential information from it to one or more additional feeds. Check out the section Additional feeds, below.
- Using multiple leading feeds is possible, as long as the Merchant product numbers do not overlap.
- When a feed creates a given product on ChannelEngine, the product is assigned the ID of that feed. If a product is no longer available in that specific feed, the product is marked for deletion on ChannelEngine.
- ChannelEngine uses UTF-8 as the default encoding for all data. If you do not specify the encoding for your product feed or if it is in an encoding format other than UTF-8, odd characters may appear in your product data. It is highly recommended to provide all data in UTF-8 formatting to prevent incorrect decoding.
- Follow the guidance on creating (grand)parent and child products in the article ChannelEngine: parent-child relationships.
CSV feeds
CSV is the default product feed type used on ChannelEngine. When using CSV, the following delimiters are supported: semicolon ( ; ), comma ( , ), pipe ( | ), and tab ( ).
Ensure that ChannelEngine can identify the feed's content type. Use the appropriate file extension:
- Use
.csv,.xlsx, or.txtfor CSV feeds.
To include special characters or content in descriptions or other attribute values (e.g.: quotation marks in a CSV file), make sure to properly 'escape' them.
For CSV, you need to use a quotation mark to escape special characters, like the quotation mark itself ( " ), a comma ( , ), or a new line ( ). If your attribute value has meaningful spaces, the entire value should be enclosed in quotation marks. For an example of part of a CSV row containing attribute values that need to be escaped, see below:
id, "This basic t-shirt has a ""print"" with a funny text. <br><br>The fabric is made of 92% cotton, 5% elastane and 3% awesomeness.", phone number, title, XML feeds
Ensure that ChannelEngine can identify the feed's content type.
- Set the correct feed
Content-Typeheader:- Use
text/xmlorapplication/xmlfor XML feeds.
- Use
- Use the appropriate file extension:
- Use
.xmlfor XML feeds.
- Use
- Indicate the product node if using XML feed (i.e.: which tag marks an individual product in the feed).
- ChannelEngine auto-suggests nodes based on the content of your file. The following example results in two nodes: <product> and <price>. Each node must contain at least two subnotes. Therefore, <info> is not included in the list of suggested nodes.
Example - XML product feed
<xml>
<price>
<sku>1</sku>
<price_in_EUR>40</price_in_EUR>
</price>
<price>
<sku>2</sku>
<price_in_EUR>40</price_in_EUR>
</price>
<price>
<sku>3</sku>
<price_in_EUR>40</price_in_EUR>
</price>
<product>
<sku>4</sku>
<title>awesome</title>
<description>something</description>
<price>40</price>
</product>
<product>
<sku>5</sku>
<title>awesome</title>
<description>something</description>
<price>40</price>
</product>
<product>
<sku>6</sku>
<title>awesome</title>
<description>something</description>
<price>40</price>
</product>
<product>
<sku>7</sku>
<title>awesome</title>
<description>something</description>
<price>40</price>
</product>
<info>
<sku>8</sku>
</info>
<info>
<sku>9</sku>
</info>
</xml>To include special characters or content in descriptions or other attribute values (e.g.: HTML in an XML file), make sure to properly 'escape' them.
For XML, you need to include the value between CDATA tags, like in the example below:
<description><![CDATA[This basic t-shirt has a <i>print</i> with a funny text. <br><br>The fabric is made of 92% cotton and 8% elastane.]]></description> JSON feeds
Ensure that ChannelEngine can identify the feed's content type.
- Set the correct feed
Content-Typeheader:- Use
application/jsonfor JSON feeds.
- Use
- Use the appropriate file extension:
- Use
.jsonfor JSON feeds.
- Use
- Indicate the product node if using a JSON feed (i.e.: what tag marks an individual product in the feed).
To include special characters or content in descriptions or other attribute values, make sure to properly 'escape' them.
For JSON, you need to include a backslash ( \ ).
"Description": "Basic \" t-shirt met lange mouwen. Het model valt aansluitend en heeft een petrol kleur."Attributes to include in your feed
The list of attributes below forms the basis of a good product feed file. You may create as many attributes in your file as you see fit, above the attributes listed below.
Required
The following attributes are needed to create a viable product on ChannelEngine. In theory, only a Merchant product number is enough, but the more attributes you include when setting up your products on ChannelEngine, the more time you save when listing your products on your channels later.
| Attribute | Description | Example |
| Name | Product name | Black t-shirt with crew neck |
| Description | Product description | A simple black t-shirt from Sustainable T-shirts Inc. |
| Price | Product price (incl. VAT/sales tax) | 49.95 |
| Stock | Product stock | 25 |
| Merchant product number | Your unique product number | 192354 |
| GTIN | The product's universal identifier (e.g.: EAN, ISBN, UPC, etc.) | 8710400311140 |
| Image link | Deep link to the product's image | http://www.theshirtshop.com/images/products/192354.jpg |
| Category | The product's full category path (with each category separated by >) | Men's > t-shirts > Crew neck |
Recommended
While not mandatory, it is highly recommended to provide the following attributes in your feed.
| Attribute | Description | Example |
| Catalog price | MSRP (incl. VAT/sales tax) | 59.95 |
| Purchase price | Product purchase price (excl. VAT/sales tax) | 35.00 |
| Min. price | The minimum price at which you sell the product and are still profitable (incl. VAT/sales tax) | 40.25 |
| Max. price | The maximum price at which you can sell the product and still be competitive (incl. VAT/sales tax) | 52.25 |
| VAT % | VAT/sales tax percentage. Must be a decimal value, without the percentage symbol (%) | 21.00 |
| Brand | Product brand name | Fancy T-Shirts Inc. |
| Vendor product number | Manufacturer/Supplier product number | FTI-BLK-XL |
| Size | Product size | XL |
| Color | Product color | black |
Do not use a comma ( , ) as a thousand separator. E.g.: write one thousand two hundred and ten as 1210 and not 1,210.
Purchase price = Price*100/(100+VAT rate)*100/(100+Margin %)
Where VAT rate is the default sales tax rate that you set up on ChannelEngine.
To avoid this issue, leave the Margin % attribute unmapped when providing the Purchase price attribute.
Optional
The following attributes are not required, although they may be conditionally required on certain channels (e.g.: MerchantGroupNo).
| Attribute | Description | Example |
| Parent SKU |
The Merchant product number of the parent product, connecting parent and child products. For guidance on setting up (grand)parent attributes in your product feed file, check out the Generate parents and grandparents section below. |
192350 |
| Grandparent SKU | The Merchant product number of the grandparent product, connecting grandparent and parent products. | 192 |
| Details | The product's details | A simple t-shirt. Color: black. Brand: Sustainable T-shirts Inc |
| URL* | Deep link to the product's details page | http://www.theshirtshop.com/ products/192354-black-t-shirt-with-crew-neck.html |
| Discount % | The difference between the sale price and the MSRP in percentage | 47.92 |
| Margin % | The margin between the price and purchase price in percentage | 30 |
| Shipping cost | Product shipping costs | 5.95 |
| Shipping time (days) | Delivery time indication | Ordered before 22:00, shipped today |
| Extra image link x | Deep link to the product's additional images | http://www.theshirtshop.com/ images/products/192354-1.jpg |
| Segment | The business segment a product belongs to. Use it to group products into a broader, high-level category. | T-shirts |
* Only for affiliate networks/click channels.
ChannelEngine fields
The guidelines above match the standard set of fields that ChannelEngine stores for your products, called ChannelEngine fields. ChannelEngine fields cover the basic product data required by most channels on which you sell your products. After you add a product feed to ChannelEngine, you can map your attributes to the full list of standard ChannelEngine fields.
Add a product feed
To add a product feed to ChannelEngine:
- Go to Products, Product feeds.
- Click Add product feed.
- Product feed - enter the URL where your file is hosted.
- Authentication type - if the server is password-protected, select Username and password.
- For CSV files, select the delimiter.
- For XML and JSON files, indicate the product node, i.e.: the node that contains the attributes of a single product.
- Click Continue.
- The feed Settings section appears.
Settings
To configure your product feed's settings:
- Go to the Settings section on the feed's page.
- Configure the following fields and settings:
- Name - the name of the product feed. If you plan to use multiple feeds, make sure to distinguish them by using different names. E.g.: Stock feed supplier 1, Product feed refurbished items, Product translations feed - DE, etc.
-
Additional - indicate if the feed is an additional feed. Additional feeds are meant to update attributes of existing products (e.g.: stock, content, etc.) that you create in your leading feed. If you toggle this setting on for an existing, leading feed, choose one of the following options:
- Delete products - permanently remove the products present in the feed from ChannelEngine and make them no longer available.
- Keep products - retain the products present in the feed on ChannelEngine. The products are unlinked from the feed and remain available even if the given feed is deleted later.
- Use comma separator in numbers - by default, ChannelEngine's servers are set to the international locale. This means that for numbers (e.g.: prices, dimensions, etc.), ChannelEngine expects a period as the decimal separator (e.g.: EUR 9.95). If your feed uses numbers with a comma as the decimal separator (e.g.: EUR 9,95), make sure to enable this setting to prevent prices from being 100 times higher than your intended value.
- Generate parent products - for leading feeds, if this setting is enabled, ChannelEngine automatically generates parent products for the products grouped by the parent SKU – without a parent product available in the feed.
- Generate grandparent products - for leading feeds, if this setting is enabled, ChannelEngine automatically generates grandparent products for the products grouped by the grandparent SKU – without a grandparent product available in the feed.
- Product feed status - by default, product feeds are set to Inactive. If this setting is enabled, the feed status changes to Active, prompting ChannelEngine to initiate the import of the product feed. To pause the import and deactivate the product feed, disable this setting.
Additional feeds
An additional feed contains extra information on existing products that are introduced in a leading feed. Additional feeds are useful if you have product data regularly coming in from a different system, e.g.: a separate stock feed or content translations that update frequently.
Guidelines for additional feeds
- Must contain the Merchant product number of the products you want to update.
- Cannot be used to create new products.
- Cannot be used to delete new products.
- Cannot be used to create parent or grandparent products.
Mappings
Overview
Next, map your feed's attributes to fields on ChannelEngine. Mapping ensures that your product content is accurately imported into ChannelEngine.
In the Mappings section, you are presented with the following overview:
- Search bar - search for a specific ChannelEngine field, stock location, or custom field.
- Show - filter by Mapped and Unmapped fields or stock locations.
- Preview - cycle through previews of the first ten items from your feed, based on which attributes you map to the given fields in the center column.
- Left-side menu - lists the types of fields to which you can map the attributes from your product feed: ChannelEngine fields, Stock locations, and Custom fields.
- Center column - map the attributes from your feed here. E.g.: Merchant product number may be mapped to the SKU attribute from your feed. In the initial load of the feed, suggested attributes from your feed file are highlighted in green.
- Right-side column - shows a preview of a specific value for that attribute.
Auto-suggestions
ChannelEngine automatically suggests mapped fields from your feed. The light bulb icon indicates that the mapped field is auto-mapped as a suggestion. The field is not actually used when importing the product feed to ChannelEngine.
If you agree with the suggestion, then you can resave the feed mapping, after which the light bulb will change into a check mark. The check mark indicates that the mappings were saved and will be used during the next import.
Then, after the next import, the data is saved on ChannelEngine.
Map your attributes
ChannelEngine fields
Map your attributes to ChannelEngine fields. These include the most essential attributes required by a marketplace to create a viable product. E.g.: Name, Brand, GTIN, etc.
- From the left-side menu, click ChannelEngine fields.
- To map the field to one of your feed's attributes, select your attribute from the Products section in the dropdown.
- If you wish to set channel-specific values for this field, or this field is already mapped via another product feed file, select one of the Not mapped options. Check out the Not mapped fields section below for guidance.
- If you want to define dynamic values for the field, select Advanced rule to set up a set of conditions that build on top of your feed file's attributes. For guidance, check out the Advanced rules section below.
Stock locations
Make sure that your stock levels per product are included in your product feed. The values of your stock attribute must be positive integers, e.g.: '55'. Text and decimal values are not supported as stock values.
To map your product stock to a ChannelEngine stock location:
- From the left-side menu, click Stock locations.
- To map your stock to ChannelEngine, select the relevant stock attribute from the Products section in the dropdown.
- If you use the multiple warehouses and stock locations feature, map your stock attributes to the stock locations that you have set up on ChannelEngine. E.g.: map your "StockNL" attribute to the stock location Het warenhuis. For details on the multiple stock locations feature, check out ChannelEngine: advanced order management [add-on].
- If you have only one stock location, simply map the attribute that contains your stock levels to Default warehouse.
Custom fields
If you want to enrich your product content with attributes that are not available by default within the set of ChannelEngine fields, then create custom fields. For guidance, check out ChannelEngine: custom fields. Then, map your own custom attributes, such as "Package height" or "Collection" to your custom fields on ChannelEngine.
To map your custom attributes to custom fields:
- From the left-side menu, click Custom fields.
- The custom fields that are created on ChannelEngine appear in the center column.
- Next to each custom field, select your custom attribute from the Products section in the dropdown.
- Click Save.
Not mapped fields
There are two options for not mapping an attribute in a feed:
- Not mapped - clear value - useful when the attribute should have a different fixed value per channel. The fixed value can be mapped on each marketplace's Mappings page on ChannelEngine.
- Not mapped - keep value - useful when another product feed already maps this attribute.
In most situations, it is advised to use Not mapped - keep value as a value. Using Not mapped - clear value triggers data removal/data updates at every import of that feed. This can cause undesired results if the field is mapped in multiple product feeds. E.g.: if you have a product selection rule based on a field where feed 1 sets the value, but feed 2 clears it, the product is continuously added and removed to and from the channel.
Advanced rules
To adjust any attribute value before it is saved on ChannelEngine, you can apply advanced rules for product feeds.
An advanced rule is a configurable rule that modifies an attribute’s value based on a condition you set. E.g.: whenever a product’s name contains 'Nitro', use an advanced rule to map its value to 'Nitro Smartphone Ultra'.
Or if your feed contains empty price values, use an advanced rule to prevent mapping errors to the ChannelEngine Price field, using the below example.
To learn how to set up advanced rules, check out the article ChannelEngine: advanced rules for product feeds.
Generate parents and grandparents
Generally, you enrich your child products with a complete set of attributes. Therefore, it is likely that your leading feed does not contain specific data for (grand)parent products. If a leading feed does not contain parent or grandparent products, ChannelEngine can automatically create them.
To generate parent products on ChannelEngine, your child products in the product feed must share the same Parent SKU. Similarly, to generate grandparent products, your parent products must share the same Grandparent SKU to group them.
Settings for (grand)parents
To automatically generate parents and grandparents, toggle on the following settings in Settings:
- Generate parent products
- Generate grandparent products
All information shared among the individual child products with the same (grand)parent SKU is automatically added to the product data of the generated (grand)parent product.
Custom fields for (grand)parents
However, when it comes to custom fields, only those fields that have identical values across all child products are added to the grand(parent). E.g.: if one child product has a custom field Heel height of '1' and another has '2', the custom field Heel height is not added to the (grand)parent product.
To verify that a (grand)parent product is generated, go to Products, Products, and click on a product to view its Product details. The Type field shows Parent with a generated icon or Grandparent with a generated icon.
Generated product data for (grand)parents
For both generated parent and grandparent:
- Stock, Grandparent SKU, and GTIN are set to null (empty).
- Values, including those from custom fields, are copied from the first parent/child below it.
- The Name of the new product is the longest common prefix, minus punctuation marks at the end of the name.
New parents
- Size is set to null (empty).
New grandparents
- Size and Color are set to null (empty).
For a deeper explanation of managing (grand)parent-child relationships on ChannelEngine, check out ChannelEngine: parent-child relationships.
Validation reports
To view a product feed's Validation report, go to Product feeds and click Report. The Validation report page contains two sections:
- Import history
- Validation report
Import history
The Import history graph shows the number of products with the statuses Inactive, Unchanged, Updated, and New for that specific feed.
Product statuses are stacked on top of one another. By hovering over each node on the graph, you can see the exact number of products with a certain status. E.g.: Updated.
If you see spikes or plunges, it means that the number of products with a certain status has gone up or down correspondingly. E.g.: if you introduce updates to your product content, the number of products with the status Updated goes up to reflect this change, and the number of products with the status Unchanged goes down.
The Import history section also displays:
- When the most recent import was done. E.g.: 15 minutes ago.
- What the result of that import was (i.e.: the import status). E.g.: Success, Partial success, Fail.
Validation report
The Validation report shows how many and which products could not be imported and why, and lists warnings for products whose mapped fields have invalid data.
Use the dropdown to filter the list by error, e.g., 'Not a valid EAN number'.
You can export the most current feed import with the latest errors, as a CSV file, by clicking Download CSV, Yes. ChannelEngine sends a CSV file with the current feed import to your login email address. To download the CSV file, click download link in the email.
Edit the feed
Occasionally, you may need to delete an attribute from your product feed. When you directly delete an attribute from your feed file, ChannelEngine removes the value from its mapped field during the next feed import.
Any dynamic updates to the values in the feed are updated on ChannelEngine during the next feed import.
It is possible to remap your attributes from the feed at anytime by clicking on the edit icon next to the feed after it is created.
After mapping the product feed
After your product feed is uploaded and mapped, you are ready to start using your products on any of your connected channels. Additionally, you can continue to manage your data with the help of validation reports and continuous editing. To get you started on your next steps, check out:
- ChannelEngine: add a channel
- ChannelEngine: product selection
- ChannelEngine: content mappings
- ChannelEngine: custom feed builder [add-on]
Comments
0 comments
Article is closed for comments.