ChannelEngine: parent-child relationships
About this article
This article describes the setup of parent-child relationships on ChannelEngine.
Table of contents
How to set up relationships via a product feed
How to set up relationships via an API connection
Introduction
Multiple variants of the same product should be considered before selling products via marketplaces. T-shirts, for instance, can be offered in several different sizes and colors.
To connect sizes and variations (i.e.: children) to the same product (i.e.: parent), the children need to include the parent's unique identifiers, either in your product feed or in your API request to ChannelEngine.
Child products
A child product (sometimes referred to as a simple product) is the sellable product on a marketplace. This product has specific, unique product attributes, such as its GTIN, Merchant product number (SKU), size, and color, to differentiate it from other products. Most marketplaces use the SKU or EAN as the unique identifier for products.
Parent products
(Grand)parents are not purchasable, but their child products are. However, parents are listed on marketplaces when their child products are successfully listed. Therefore, parent products must always be set up correctly on ChannelEngine. Parents are needed to correctly set up parent-child relationships on marketplaces that support parent-child relationships. Some marketplaces need the parent's product data to create a listing, such as the description from the parent product. Amazon is an example, as noted on Seller Central:
"The Clothing, Accessories and Luggage, Sports and Outdoors, and Beauty categories display best-selling parent products in search results and on product detail pages. This means that display elements such as product title and description appear from the data associated with the parent product."
While some CMS, PIM, and ERP systems allow you to document sizes or colors with the parent product data (and this may work within your own webshop), it is difficult to create sellable listings for individual products (i.e.: children) on the final marketplaces. It is a best practice to document your product variations (e.g.: size, color) with each child product.
Example product feed with parent and children (XML)
In the example below, the children's product data includes the ParentId within its object:
<Products>
<Product>
<Id>25320</Id>
<MerchantProductNo>001201-blue</MerchantProductNo>
<Name>T-shirt with short sleeves BASIC</Name>
<Description>
<br><br> Basic t-shirt with short sleeves. The model has a tight fit and is available in 2 colors.
<br><br>Material:</br> 92% cotton 8% elastane.
</Description>
<Price>15.00</Price>
<MSRP>24.99</MSRP>
<PurchasePrice>10.00</PurchasePrice>
<Stock>0</Stock>
<ShippingCost>3.95</ShippingCost>
<ShippingTime>
Ordered on working days before 17:00, delivered the next day.
</ShippingTime>
<Brand>MyBrand</Brand>
<Url>http://www.myshop.com/shirt-basic-blue</Url>
<ParentMerchantProductNo/>
<ParentId/>
<ImageUrl>http://www.myshop.com/images/shirt.jpg</ImageUrl>
<Category>Women > Tops > T-shirts > Shortsleeve > Basic</Category>
<VendorProductNo>120675B</VendorProductNo>
<Color>Blue</Color>
<Size/>
<EAN/>
<Type>parent</Type>
</Product>
<Product>
<Id>25321</Id>
<MerchantProductNo>001201-blue-S</MerchantProductNo>
<Name>T-shirt with short sleeves BASIC Blue: S</Name>
<Description>
<br><br> Basic t-shirt with short sleeve. The model has a tight fit and is available in 2 colors.
<br><br>Material:</br> 92% cotton 8% elastane.
</Description>
<Price>15.00</Price>
<MSRP>24.99</MSRP>
<PurchasePrice>10.00</PurchasePrice>
<Stock>0</Stock>
<ShippingCost>3.95</ShippingCost>
<ShippingTime>This product is currently out of stock</ShippingTime>
<Brand>MyBrand</Brand>
<Url>http://www.myshop.com/shirt-basic-blue</Url>
<ParentMerchantProductNo>001201-blue</ParentMerchantProductNo>
<ParentId>25320</ParentId>
<ImageUrl>http://www.myshop.com/images/shirt.jpg</ImageUrl>
<Category>Women > Tops > T-shirts > Shortsleeve > Basic</Category>
<VendorProductNo>120675BS</VendorProductNo>
<Color>Blue</Color>
<Size>S</Size>
<EAN>8719351029609</EAN>
<Type>child</Type>
</Product>
<Product>
<Id>25322</Id>
<MerchantProductNo>001201-blue-M</MerchantProductNo>
<Name>T-shirt with short sleeves BASIC Blue: M</Name>
<Description>
<br><br> Basic t-shirt with short sleeve. The model has a tight fit and is available in 2 colors.
<br><br>Material:</br> 92% cotton 8% elastane.
</Description>
<Price>15.00</Price>
<MSRP>24.99</MSRP>
<PurchasePrice>10.00</PurchasePrice>
<Stock>3</Stock>
<ShippingCost>3.95</ShippingCost>
<ShippingTime>Ordered on working days before 17:00, delivered the next day.</ShippingTime>
<Brand>MyBrand</Brand>
<Url>http://www.myshop.com/shirt-basic-blue</Url>
<ParentMerchantProductNo>001201-blue</ParentMerchantProductNo>
<ParentId>25320</ParentId>
<ImageUrl>http://www.myshop.com/images/shirt.jpg</ImageUrl>
<Category>Women > Tops > T-shirts > Shortsleeve > Basic</Category>
<VendorProductNo>120675BM</VendorProductNo>
<Color>Blue</Color>
<Size>M</Size>
<EAN>8719351029610</EAN>
<Type>child</Type>
</Product>
<Product>
<Id>25323</Id>
<MerchantProductNo>001201-blue-L</MerchantProductNo>
<Name>T-shirt with short sleeves BASIC Blue: L</Name>
<Description>
<br><br> Basic t-shirt with short sleeve. The model has a tight fit and is available in 2 colors.
<br><br>Material:</br> 92% cotton 8% elastane.
</Description>
<Price>15.00</Price>
<MSRP>24.99</MSRP>
<PurchasePrice>10.00</PurchasePrice>
<Stock>11</Stock>
<ShippingCost>3.95</ShippingCost>
<ShippingTime>Ordered on working days before 17:00, delivered the next day.</ShippingTime>
<Brand>MyBrand</Brand>
<Url>http://www.myshop.com/shirt-basic-blue</Url>
<ParentMerchantProductNo>001201-blue</ParentMerchantProductNo>
<ParentId>25320</ParentId>
<ImageUrl>http://www.myshop.com/images/shirt.jpg</ImageUrl>
<Category>Women > Tops > T-shirts > Shortsleeve > Basic</Category>
<VendorProductNo>120675BL</VendorProductNo>
<Color>Blue</Color>
<Size>L</Size>
<EAN>8719351029611</EAN>
<Type>child</Type>
</Product>
</Products>
The XML file contains one parent with the Merchant product number (SKU) of '001201-blue' and three children in three different sizes. If there were a yellow variant of the same item, a similar tree could be created with '001201-yellow' as the parent SKU.
Grandparent products
It is also possible to add grandparent products as an extra level of hierarchy to a product family, but not many marketplaces support grandparent products. Check the respective marketplace guide to verify whether the marketplace supports grandparents. Grandparents are the common parent of a particular type (i.e.: parent), and can also be applied to the previous XML example.
Example XML product feed syntax with grandparent product
<MerchantProductNo>001201</MerchantProductNo>
<MerchantProductNo>001201-yellow</MerchantProductNo>
<MerchantProductNo>001201-yellow-S</MerchantProductNo>
<MerchantProductNo>001201-yellow-M</MerchantProductNo>
<MerchantProductNo>001201-yellow-L</MerchantProductNo>
<MerchantProductNo>001201-blue</MerchantProductNo>
<MerchantProductNo>001201-blue-S</MerchantProductNo>
<MerchantProductNo>001201-blue-M</MerchantProductNo>
<MerchantProductNo>001201-blue-L</MerchantProductNo>
In the above example, the grandparent product is indicated with the Merchant product number '001201'. The grandparent is optional and is usually only relevant in the case of fashion products.
How to set up relationships via a product feed
Set up your (grand)parent-child relationships with your product feed. For guidance, check out ChannelEngine: product feeds.
Once your product feed is loaded into ChannelEngine, verify that your (grandparent)-parent-child relationships are correctly set up in Products, Product feeds. Click on the edit button of the feed that contains parent-child relationships. In Product feed details, Mappings, the relationship is set up so that each level refers to its immediate parent via the (Grand)Parent SKU field.
-
Child product - refers to its parent by placing the Merchant product number of its parent in the Parent SKU field. Bear in mind that children do not have their own reference to a Grandparent SKU, as this would confuse the relationship.
-
Parent product - refers to its parent (i.e.: the grandparent) by placing the Merchant product number of its parent in the Grandparent SKU field.
- Grandparent product - does not need any references to its children or grandchildren
Note that parent and grandparent products have to exist on ChannelEngine to be used on marketplaces. Therefore, they must be included as individual products in your product feed. If this is not possible, allow them to be generated automatically.
Automatically generating parents and grandparents
It is possible to let ChannelEngine automatically generate parent and grandparent products if you cannot provide them in your feed as separate products. To do so:
- In product feed mapping, make sure that the Additional toggle is switched off.
- Enable the Generate parent products or Generate grandparent products settings.
- 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.
However, when it comes to custom attributes, note that only those that have identical values across all child products are added to the grand(parent). E.g.: if one child product has a Heel height of '1' and another has '2', the attribute is not added to the (grand)parent product.
There is one requirement to use this feature – a shared unique identifier for that parent must be available on the products. That is, there needs to be an existing shared reference to an attribute that can be used as the Merchant product number for the (grand)parent.
How to set up relationships via an API connection
Setting up relationships via the API works in the same way as for product feeds; however, you must know when to use what attribute to identify the level above. The relationship is set up so each level refers to its immediate parent via a specific Parent merchant product number field:
- Child product - refers to its parent by placing the Merchant product number of its parent in the Parent merchant product number field.
- Parent product - refers to its parent (i.e.: the grandparent) by placing the Merchant product number of its parent in the Parent merchant product number 2 field.
- Grandparent product - does not need any references to its children or grandchildren.
Check out the example below.
Example API request with parent-child relationships
[
{
"Ean": null,
"Description": "Grandparent product of awesome product",
"MerchantProductNo": "GP-AwesomeProduct",
"Name": "Awesome Product",
"ParentMerchantProductNo": null,
"ParentMerchantProductNo2": null
},
{
"Ean": null,
"Description": "Parent product of awesome product",
"MerchantProductNo": "P-AwesomeProduct",
"Name": "Awesome Product - Yellow",
"ParentMerchantProductNo": null,
"ParentMerchantProductNo2": "GP-AwesomeProduct"
},
{
"Ean": "8712345678941",
"Description": "Awesome product itself, which can be sold on marketplaces",
"MerchantProductNo": "AwesomeProduct",
"Name": "Awesome Product - Yellow - Size L",
"ParentMerchantProductNo": "P-AwesomeProduct",
"ParentMerchantProductNo2": null
}
]
View product families
Once you load your product feed with your (grand)parent-child relationships, you can create product selections for each of your connected channels. Once you have created a product selection on a given channel, you can view each product family in the Mappings step in the channel plugin.
Enhanced tooltips
When you hover over a product name in Content mappings or Offer mappings, an enhanced tooltip appears, which provides you with quick access to key data about the product:
- Product type - a G, P, C, or S icon in the upper right corner of the tooltip indicates whether the product is a (grand)parent, child, or standalone product.
- Family selector - a target icon appears next to (grand)parent and child products. Click on the target icon to restrict the mappings view to only those products that have the same (grand)parent-child relationship, i.e.: products within the same family (color, size, etc.). For guidance on (grand)parent-child relationships, check out ChannelEngine: parent-child relationships.
- Unique product identifiers - the Merchant product number, GTIN, and Vendor product number. Easily copy these identifiers to your clipboard by clicking on a given number. Reuse the copied number to search on this product elsewhere on ChannelEngine or in your own systems.
Check out the animation below to learn how to visualize your products of the same family when listing them on a given channel.
Comments
0 comments
Article is closed for comments.