Extending Demandware’s Catalog to Support Amazon
Ecommerce retailers are always looking to leverage their investment in their ecommerce storefront through other channels, and with $48 billion in sales in 2011, Amazon is an obvious choice for a second online channel. Demandware’s extensible data model puts Demandware customers in an excellent position to do this. lyonscg recently helped one of our clients do just this.
Demandware’s catalog is made up of two main objects: the product and the category. Products can be defined with a relationship among them – a master and a variation. The master product contains the basic data about the product (its name, description, SEO attributes etc). The variation contains limited data such as size and color. The category object is used for organization, navigation and merchandising. Almost every object in Demandware is extensible – and this is where the real power of the system lies. Custom attributes of any type (string, number, etc) can be added to both the product and category objects.
As vast and broad as Amazon’s product catalog is, you might imagine that selling successfully there is no trivial matter. You would be right! Understanding how to list your product on Amazon so that a customer can both browse to it as well as find it from a search is complicated. Starting at the top, you get a “category” like shoes or apparel to list your item. To place a product in the browsing structure, Amazon defines a “Browse Tree Guide” and gives you two data elements to control this: “item type” and “department.” You define these on your products from a list of possible values that they provide, and your product will show up in the specified category on Amazon. For search, you are given “search terms” fields, along with the product title to control when your product will show up in search results.
Once you understand Amazon’s requirements, you must decide where to put this data. Demandware allows some flexibility here with the category and product objects. You can save time for your merchandising team by creating some attributes on the category – thus only the category has to be maintained, not every product. The “item type” and “department” are good candidates. “Search terms” might also be a good candidate depending on your product line, but more likely those are better stored at the product master level. Furthermore, a single product in your catalog might be assigned to multiple categories – how will you decide what data to send to Amazon for that product? Demandware provides a “primary” flag for a product category assignment, luckily (or smartly!).
In our recent work we assigned “item-type” and “department” to the Demandware category, and “search-terms” to the Demandware product. We also used an existing custom attribute on the product level for Amazon’s “category”. There were some initially unforeseen attributes that had to be added. For example, the client did not want to send every product in their line to Amazon, so we added a “send to Amazon” attribute at the product level. This could have been managed with a category assignment as well (hidden category that is used to filter items to be sent).
The Demandware catalog search is powerful, and can really help with QA of the merchandising work necessary for this, but there is one spot where it is weak. For example, the query, “show me all the products that have search terms defined” is simple, or even, “show me the products in the handbags category that don’t have search terms defined” is possible. But “show me all the categories without amazon attributes” is not possible. QA is even easier using Xpath queries on the exported catalog data (see the next blog article!).
For the particular project we have mentioned here, we actually did the transformation of the Demandware catalog data to Amazon’s format outside of the Demandware system. While that is not trivial given the complexity of the data, it is a testament to both the rich XML formatted catalog export Demandware provides, and its internal flexibility to add these custom attributes to support Amazon integration.
For more information on the demandware + lyonscg solution, visit our demandware partner page.