Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam eu turpis molestie, dictum est a, mattis tellus. Sed dignissim, metus nec fringilla accumsan, risus sem sollicitudin lacus, ut interdum tellus elit sed risus. Maecenas eget condimentum velit, sit amet feugiat lectus.
Corem ipsum dolor sit amet, consectetur adipiscing elit. Etiam eu turpis molestie, dictum est a, mattis tellus. Sed dignissim, metus nec fringilla accumsan, risus sem sollicitudin lacus, ut interdum tellus elit sed risus. Maecenas eget condimentum velit, sit amet feugiat lectus.
Corem ipsum dolor sit amet, consectetur adipiscing elit. Etiam eu turpis molestie, dictum est a, mattis tellus. Sed dignissim, metus nec fringilla accumsan, risus sem sollicitudin lacus, ut interdum tellus elit sed risus. Maecenas eget condimentum velit, sit amet feugiat lectus.
Prior to the rebuild, ERP constraints required us to maintain individual Shopify products and SKU codes for each of our sales channels (retail, wholesale, stores, Amazon and custom). This meant that for a “single” colorway of a product (eg. “Standard Baggu” in the color “Lavender”), we could have as many as five individual Shopify products 😳.
At the very least, this meant doing the same product setup work twice: once for our retail storefront, and again for our wholesale storefront. And if a product sold out via one channel, we’d often reallocate stock from another channel or even storefront to satisfy demand — meaning we’d need to set up the “same” product once again 🤦♂️
To streamline this process, we used Sanity to replicate a parent/variant product architecture, then mapped multiple Shopify products/SKUs onto single variants within Sanity Studio. We’d set up the parent product first, (eg. “Standard Baggu”), then bulk upload information to populate the various colorway variants (eg. “Lavender”, etc).
From there, we’d import the associated SKUs from our Shopify storefronts and assign them to our retail and wholesale channels. By assigning multiple SKUs to a given channel, we’d provide an automatic inventory fallback if the initial SKU sold out.
Of course, going headless presented other challenges. One of the largest was that we now had to pay for additional hosting beyond Shopify Plus — and that cost was only going to grow with our site traffic.
In order to minimize this, we used Shopify’s CDN to serve as much content as possible — particularly image assets and video. Images and videos uploaded in Sanity were sync’d over to our Shopify storefronts, and the associated asset URLs were then sync’d back into Sanity and used to serve the images in the frontend build.
Once customers started adding items to their cart, that would create a unique cart session in the Shopify storefront