Inclusive Pricing

Designing a pricing configuration experience that served both high-volume merchants with complex needs and merchants who needed a fast, low-lift setup.

Problem

International shoppers hit surprise fees at checkout → abandoned carts & frustrated merchants.

Solution

Built a flexible Inclusive Pricing feature that lets merchants show prices with taxes, duties, and fees baked in, tailored by country.

Design Requirements

New Dashboard Page

  • Upload order history (domestic & international).
  • Display averages: items/order, discount/order, shipping cost/order (blank until uploaded).

Country Management

  • List all countries; recommended at top: UK, AU, NZ, EU (EU grouped, selectable individually).
  • Enable inclusive pricing per country (bulk or individual).
  • Choose components included in product price — MVP: combined duties, taxes, fees; future: granular options incl. shipping.

Pricing Calculation

  • Button to calculate inclusive pricing.
  • Catalog fields: Calculated Inclusive Price & Preferred Inclusive Price.
  • Global buffer for duties/taxes/fees (future: per-component).

Order Page Integration

  • Tag to indicate when inclusive pricing was applied; values match calculated amounts.
  • Supports multiple items and quantities per order.

Charm Pricing

  • Separate feature applied to Preferred Inclusive Price.
  • Global setting with per-item override.

Research

  • Whiteboard sessions with PM, Engineers, and other internal stakeholders.
  • Set up a place in Notion to keep track of all questions and answers.

Similar products / competitors

Borderfree example screenshot
Borderfree — example
Shopify Markets example (GIF)
Shopify Markets — example

Iterations

Initial Concepts:

  • Table with list of countries and their settings
  • Backend planning and development began:
  • Discovered a growing list of technical limitations
  • We could not automatically pull order history data. It would need to be uploaded or we could pull from Shopify but the user had to initiate it.
  • Same problem with catalog. Users would need to specify where we were pulling the products from.

V1:

  • Address technical limitations with a wizard setup flow
  • Setup was complex so a summary/preview was added for transparency
  • New limitations:
    • Couldn’t save setup progress
    • Users needed shipping setup already configured in dashboard

V2:

  • Because progress couldn’t be saved I didn’t want users to get halfway through this long wizard setup and realize they are missing some information and will have to come back.
  • Added a pre-setup checklist
  • We could actively check users shipping settings
  • Front load as much as possible so that actual setup takes less effort
  • After showing the second version to Clint, PMs, Engineers, CS the feedback was that it was too complex, too many clicks
  • No one was willing to sacrifice any of the features though….
  • How do we make an inclusive pricing tool that is usable for everyone from small merchants just trying to get started, to enterprise users with highly customized pricing strategies?

V3 - V8:

  • Dual path setup (Express and Custom)
  • Express would be a one click setup using our recommendations
  • Custom kept all of the options seen in the initial setup
  • Added setup summary
  • Order history charts were removed (we would not be automatically collecting this data so the graphs would not be able to update in real time making them pointless)
  • Went back and forth on how granular adjustments and country selection should be

Released Version

  • Express & Custom paths cover quick starts and advanced strategies.
  • Clear loading states for long calculation times.
  • Tutorial dialogs post-setup.
  • Settings can be updated at any time.
  • Merchants control when prices are pushed to the website.

Outcome

30%
Conversion lift (beta)
Apparel merchants; self-reported during beta.
2
Setup paths
Express for speed; Custom for control.
Flexible
Merchants can update configuration any time.