• Shopify Collective:
    Shipping


  • Developing a solution to help merchants easily manage fulfilment in dropshipping partnerships for an early iteration of Shopify Collective

  • Digital Product Design, Product Management

  • Project Background

  • In late 2022, I was in one of several project teams working together on building Shopify Collective. Our team was challenged with developing a solution to help retailers and suppliers handle shipping in their dropshipping partnerships for a limited access product iteration, scheduled for release in February 2023. 


    Upon beginning this project, a very simple Extended Early Access version of Collective was already available to a small subset of users. In this first product iteration, the responsibility of dealing with shipping was left to merchants themselves to figure out. All that was included was a mention of discussing shipping rates in a few areas of the product, with links to a related help center article.


    With many possible avenues in a tentative stage of product development, from insights obtained it was clear a more robust shipping feature was needed for Collective to truly benefit merchants and have a meaningful impact.

  • Role & working setup

  • At Shopify, every active project has what’s known as a “Champion”, a member from the team who volunteers to be a temporary project manager, typically someone with the expertise to address the project’s greatest risk.

    Champions agree to keep an eye on deadlines and decisions, and ensure everyone stays aligned and headed in the right direction.

    Considering the technical nature of this initiative combined with the need for a great user experience, I decided to co-champion this initiative together with a senior backend developer. 


    We were working together within an immediate project team of 2 other UX designers, and 4 engineers with regular feedback loops from senior leadership, the wider UX team and other project teams on Collective. 

  • Understanding the 'shipping' in dropshipping

  • In a dropshipping partnership, retailers, or sellers - don’t hold any inventory. They purchase products from supplier partners at a margin and have them shipped directly to the customer once orders are received.


    The subsequent cost that a retailer wears for shipping each product is determined by the supplier, and can be accounted for and remitted in different ways, commonly:  

  • 01

    Free shipping

    Fulfilment costs are integrated into the product price by the supplier

  • 02

    Flat rate shipping

    Base prices for all shipping, irrespective of the weight of the product

  • 03

    Match suppliers' costs

    Docs are shared by suppliers detailing shipping costs for their products 

  • Partners must also align on the carrier they wish to use, how they charge (weight, quantity, etc.) and their estimated fulfillment times. It’s also not uncommon for many suppliers to ship their products from multiple inventory locations which adds an additional layer of complexity for retailers. 

  • Intended Outcome

  • This initiative aimed to create an easy way for suppliers to set their shipping preferences in Shopify Collective, which could be shared with retailer partners to help them ensure healthy margins.

  • Additionally, we aimed to connect this with the automatic payments feature. This way, any shipping costs related to orders would be included in the payment from retailer to supplier when the order is fulfilled. This would eliminate the need for merchants to handle extra administrative work to reimburse each other for shipping costs outside the platform.

  • Although we had gathered valuable insights through user research and interactions with merchants, the team recognized the complexity of preferences in dropshipping partnerships. With our general access release planned for mid-2023, we aimed to learn more from this iteration to guide us further.

  • Initial concept: Collective Shipping Profiles

    Every merchant who sells on Shopify must use shipping profiles to configure a set of shipping rules for specific products and inventory locations, along with the zones (countries) where customers are located that they wish to ship to. The initial thinking was that leveraging this existing infrastructure on the platform would be the most intuitive approach.


    Engineers investigated the possibilities of enabling suppliers to create a Collective-specific shipping profile to use with retailer partners. Shipping rates and rules which had been already established by supplier merchants could then be synced on the retailer side upon product import.


    Alternatively, suppliers could opt in to use a default set of shipping rates for Collective that would be derived from the Backup shipping rates.

  • Although promising in theory, the team quickly uncovered that syncing shipping profiles between suppliers and retailers through Collective for accurate product details was not as straightforward as initially perceived. 


    Instances such as updates to shipping profiles by suppliers after products had been imported by their retailer connections would be complex and increase project scope significantly.


    Many retailers would also want control over shipping costs to give buyers a consistent experience. For instance, if a retailer advertises "free shipping for orders over $X", but the supplier's shipping profile doesn't match that and the retailer is unable to modify it - it tarnishes their buyer experience. 


    Additionally, Shopify only allows 100 shipping profiles per store, and each Collective connection would need its own unique profile. This might not be be an issue in product infancy, but would likely cause trouble as Collective continued to scale.


    Because of the investment required, the ambiguity of the problem space and technical dependencies it was clear the team needed to go back to the drawing board.

  • Solution: Shipping built into Collective UX

    After the concept of syncing shipping profiles was parked, following discussions from other teams in the org with high context levels and product leadership, the team decided building a simplified shipping solution directly into the Collective would be the most suitable initial approach. This approach aimed to acquire additional insights before introducing a more comprehensive solution to a broader audience of merchants. The team aimed for increased confidence in the General access launch, scheduled for mid-2023.


    UX worked closely with product over the following weeks on stripping back the UX to a basic set of rules for suppliers to configure their desired shipping rates for Collective’s initial supported Geolocations, the US and Canada. As some buyers would also be located outside of these locations, a simple ‘Rest of world’ option was added to cover bases.

  • Within each available zone, suppliers could select from 3 options:

    01 - Enter a flat rate 

    A fixed $ value for shipping charged per order to retailer partners. This was coupled with the automatic payments feature so that eligible suppliers would be paid by retailers upon order fulfillment 

    02 - Handle outside Collective

    This option aimed to shed some light on the nuances when it came to fulfillment in dropshipping partnerships. An optional set of fields was included here for the team to capture and gage more insights, if merchants were willing to provide additional information, including: 

    • I want to set separate shipping rates for different Retailers
    • Shipping costs vary based on the type of product
    • Shipping costs vary based on the volume/weight of the order
    • Other - please specify

    03 - I don’t ship to this location

  • The team strongly favored the flat rate option because it offered great value through its integration with automatic payments. For supplier merchants new to Collective, the decision was made to have the flat rate option active upon install, with default flat rate values applied for each zone. 

    We partnered with data scientists, who conducted an investigation into the initial target vertical of Baby & Toddler mature supplier merchants in the US and Canada to try and establish relative confidence on base flat rate $ values for each zone that could be applied to our initial target user group.

    While the spread of shipping profile pricing was broad even within this small subset of merchants, we were able to land on a set of values that we were confident would be a happy medium and would likely cover the 80% percentile of shipping costs. This was implemented with additional signposting in app encouraging merchants to review predefined shipping settings before sharing price lists with retailers. 

    The solution was tested with several supplier merchants in the lead up to the limited access launch, and was received reasonably well considering the relatively basic functionality.

Solution walkthrough

  • Plot twist

    As mentioned in the above walkthrough video, the team encountered an additional headwind after uncovering a previously undetected issue resulting in some retailers who were already using the extended early access version of Collective from being unable to sell imported products from supplier partners on their storefronts. 

    As Shopify Collective is a first party app, by default - an app created inventory location for each supplier connection is generated. However, if a new location is added after a shipping profile has already been created, then it is automatically added to all shipping profiles in a 'Not shipping from' section.

    This behaviour resulted in a sizable portion of retailers, unbeknownst to them - having products they imported via supplier partners on Shopify Collective in an unshippable state. Customers would be able to see those products and add them to their carts, but would be blocked from purchasing them during the checkout flow. 

  • After looking into it internally, we discovered that this behaviour was part of a much larger problem. Merchants weren't being alerted about errors in their shipping profiles in the Shopify admin. In the 2 weeks prior to identifying the issue, about 0.6% of checkouts were stopped because there were no shipping choices available.

    This may not seem significant, but considering Shopify merchants made a whopping $49.6 billion in sales in the first quarter of 2023 alone, this percentage can be attributed to a loss of around $5 million in sales collectively for the same time period.

    Another team in our organization was already working on resolving this by surfacing error messages to merchants in high-visibility areas of the Shopify admin. We got in touch with them and shared our use case, which proved to be an important contextual example for their investigations.

    Shortly after, updated error messaging was shipped to merchants in the admin notifying them in the case that they had shipping profile errors. This is a good example of the overlap that often exists when working on projects in large software organisations.

  • Applied Methods

    User research

    Sketching

    Visual design

    Digital product design

    Prototyping

  • Partners

    UX

    Jakob Lotspeich
    Jacqui Klugman
    Benas Veselis


    Engineering

    Alan Larceda
    Adriana Silva
    Francesco Sardo
    Acidio Alan de Rosa
    Mykola Harmash
    Bosun Egberinde

    Product

    Joe Rinaldi-Johnson

    Vita Valeikaitė

  • Next case study: