Implementing an e-commerce store in OrderCloud may seem complex at first, but with a clear plan and a good understanding of each entity, the process becomes structured, reusable, and scalable. In this post, I’ll walk you through the steps I followed to build a store for bags using best practices, while highlighting key decisions and common pitfalls to avoid.
1. Catalog: The Starting Point
Before thinking about products or categories, you must create a catalog, as all categories, products, and their assignments depend on it.
Recommendations:
- Name your catalog clearly and generically if you plan to include multiple product lines (e.g., main-catalog).
- You can create multiple catalogs if you sell by channel (retail, wholesale, outlet), but one is enough to start.
2. Categories: A Thoughtful Hierarchical Structure
An organized store needs logical and hierarchical categories. I used a structure with depth (Depth) that reflects site navigation:
Depth 0: Bags
Depth 1: Purses, Clutches, Totes (under Bags)
Depth 2: Shigra, Cobra, Maxi, etc.
Recommendations:
- Use Depth 0 for product lines.
- Avoid more than 3 levels deep to keep navigation clear.
- Set ParentID correctly so OrderCloud auto-calculates Depth.
- If your site is a small one like this will be fine to set ids by your own.
3. Products: Base Entities and Variants
Each product was created as a base entity (e.g., shigra-purse, cobra-clutch) with variants (SKUs) linked to color or other features.
Recommendations:
- Use xp to enrich products with custom attributes like material, size, or localized labels.
- Keep product ID and Name in English, and handle multilingual naming with xp.label.
4. Specs and SpecOptions: Dynamic Attributes
Once products were created, I defined specs to support customization and variants:
- strap_material: «Leather», «Metal»
- strap_length: «90cm», «120cm», «150cm»
Recommendations:
- Set DefinesVariant = true if the spec should generate variant combinations.
- Use multilingual Label fields to support international frontends.
- Don’t create one spec with subfields — split them as separate specs (e.g., strap_material, strap_length).
5. Assigning Specs to Products
To enable products to use those specs, I assigned them using:
POST /v1/products/{productID}/specs
Then I generated the variants automatically via:
POST /v1/products/{productID}/variants/generate
This created SKUs combining all valid spec options, like shigra-purse-Leather-90cm.
Recomendations:
- Forgetting to generate variants after assigning specs — this results in products without SKUs.
- Assigning unnecessary specs that define unused variants, leading to clutter.
Conclusion & Next Steps
With your catalog, categories, products, specs, and variants ready, you can move on to:
- Price assignment (PriceSchedules)
- Inventory tracking (InventoryRecords)
- Product-to-category assignments
- Frontend visualization based on specs and xp
OrderCloud is truly scalable and dynamic. You can even update the IDs as many times as you need.
Are you building a store with OrderCloud or migrating from another platform?
Let’s connect, I’d love to hear about your experience or help you improve your setup. 🚀