One [Shopify] Store to Rule Them All

Mark Feigen
Broadlume Product Development
5 min readFeb 17, 2021

--

Last year, the Broadlume Product and Engineering teams were presented with an interesting problem: how can we let consumers shopping for floors online order samples of flooring products to be shipped to their homes? We needed a solution that we could deploy across our existing network of dealer websites, scale easily (we work with 1400+ flooring dealers), and flow into one centralized backend that we could control.

After some investigation and discussion, we ended up landing on Shopify’s Buy Button, since it gave us plenty of flexibility and Shopify has countless apps and integrations that we are able to take advantage of. The implementation itself was a bit tricky (for reasons I’ll go into below), but ultimately it allowed us to deliver a great solution to the problem.

Hundreds of Storefronts, One Unified Inventory

A key requirement for this project was that it had to be scalable and work across hundreds (and potentially thousands) of different websites. This meant that the standard setup of one storefront to one backend system was completely untenable from both a management and a cost perspective. There was just no way we wanted to spin up a new store for every customer that we worked with.

Another unique challenge was that dealers were not actually going to be the ones fulfilling sample orders; the actual swatches needed to be shipped from the manufacturers directly to the consumers. At the same time, we needed to be able to track where an order was placed, so that we could alert dealers when a consumer had ordered samples from their website.

Ultimately, it was clear that we only wanted to manage a single “store” and have all the orders flow through there. Inventory management wasn’t much of a concern since the products were coming directly from the manufacturers. Products would only ever really be out of stock if they were completely discontinued (at which point we would no longer list them on a dealer’s website).

Basic overview of how order data moves through the system

Buy, Buy, Buy… Button

The Shopify Buy Button lets you generate an embeddable checkout button and add it to any website. It’s designed to unlock basic eCommerce functionality on websites that don’t have those capabilities built in.

We took the Buy Button and wrapped it in a conditional to only show for a product if the product ID matches the ID of a product in our Shopify store inventory. This allowed us to deploy the Buy Button to our dealers’ sites and have it only show for products where a sample was actually available. To start offering samples of additional products, all we had to do was add them to the single Shopify Store and make them available on the Buy Button channel.

Embedded Buy Button (“Order Free Samples”) and shopping cart on the product details page of a dealer’s website

The only remaining problem was how to tie sample orders back to the website and dealer that they came from. This was solved by passing an encoded dealer ID through in the order notes field during the checkout process, then hiding that field from the user.

As orders come in, we have a job run that decodes the notes field and then tags each order with the dealer name, domain and ID. In this manner, we are able to have sample orders from hundreds of different websites flow into a single backend and we are always able to identify where they came from and how they should be attributed.

Once orders are tagged, we are able to do a bunch of things that would have been otherwise impossible to do without proper attribution, such as:

  • Trigger customized emails to consumers letting them know which local flooring dealer they should reach out to once they receive their samples
  • Alert dealers when a consumer orders product samples from their website, both via an email notification and within our DealerHQ Leads Index
  • Provide detailed reporting to dealers about how many samples are being ordered from their sites and what products and categories are most popular
Lead Summary Card in DealerHQ for a consumer who ordered product samples

Benefits

There were plenty of benefits to the approach we took, the biggest ones being:

  • Setup time and speed — Not having to set up a new Shopify account and store for each new dealer that we want to onboard makes it way faster to expand the program to more of our customers.
  • Maintenance — Only having to maintain a single store cuts down on repetitive tasks and lowers the risk of data issues around duplicating stores and product catalogs.
  • Cost — Believe it or not, it’s significantly cheaper to run one store versus hundreds or thousands!

Drawbacks

As tends to be the case with any solution, there are some drawbacks to the approach we took:

  • Tracking can be fickle — Accurate tracking and attribution is almost always a challenge, but it’s amplified when you have orders from hundreds of sources flowing through a single store. We’ve built in some redundancy, but there is still always some risk that tracking gets stripped, at which point we may not be able to associate specific sample orders with the websites that they came from.
  • More code and systems to maintain — We need to monitor and maintain all the systems that allow this implementation to work, like the script that encodes and passes the dealer ID through with an order, and the job that decodes that field and tags orders with a dealer’s details.
  • Bugs and issues affect everyone — Because everything is run out of the same store, any bugs or outages can affect functionality for all our dealers, as opposed to just one or two websites.

That’s It

Overall, we felt the pros far outweighed the cons. It’s still early, but the results have been really promising so far. We are excited about the functionality and potential that this sample ordering program opens up for our customers and their ability to sell floors!

--

--