NEXSUM_LABS
  1. Home
  2. Work
  3. A beauty brand stopped losing international orders at customs confusion
Book a call

[ Case study ]

BeautyShopify MarketsCheckoutMarkets Pro dutiesGA4

A beauty brand stopped losing international orders at customs confusion

International buyers abandoned at checkout when duties and shipping appeared as surprises, and the support inbox filled with customs questions. Each region had quietly evolved its own pricing and shipping story.

CLIENT an indie beauty brand selling to three regions — FOCUS Split regions into Markets deliberately

Shopify DevelopmentEcommerceShopify DevelopmentBeautyRepresentative example
Client
an indie beauty brand selling to three regions
Industry
Beauty
Engagement
7 weeks — systems pod — engineer + commerce lead
Service
Ecommerce / Shopify Development
Headline outcome
International checkout completion rate, eight weeks after the last region launched versus eight weeks before: 41% → 63%, read from Checkout analytics by market

Representative examplesEvery case study in this library is an illustrative composite of the kind of engagement we deliver — written to show our method and standards, not to name clients.

Where they started

Skincare formulated in small batches, sold direct to three regions from one Shopify store: the domestic market, plus two export regions that grew by accident — a distributor contact here, a viral post there. Each region had quietly evolved its own pricing story through discount codes, separate shipping profiles, and handwritten notes on invoices. The team is two people: the founder and one operations hire who shares the support inbox. International demand was real; international checkout was where it went to die.

What it was costing

International buyers abandoned at checkout when duties and shipping appeared as surprises, and the support inbox filled with customs questions. Each region had quietly evolved its own pricing and shipping story.

What they could see

  • International buyers reached the payment step, saw duties and shipping stacked as surprises, and abandoned — completion lagged domestic by a wide margin.
  • The support inbox filled with customs questions: what will I pay, why now, can you mark it differently.
  • Three regions ran three improvised pricing stories — discount codes, overlapping shipping profiles, manual invoice notes — that contradicted each other seasonally.
  • Refunded international orders cost money twice: the failed delivery and the reshipped or refunded product, with margin gone in both directions.

The constraints we worked inside

  • Margins differed per region; a single global shipping story would have given money away.
  • The team was two people; Markets had to be operable without an agency on call.
  • Existing domestic conversion could not be risked as a test subject.

What had been tried before

A duties-calculator widget was installed on the cart, estimating charges from the buyer's address.
Estimates disagreed with carrier invoices often enough that customers trusted neither; support volume rose because the widget generated questions faster than it answered them.
The operations hire built a region matrix spreadsheet mapping shipping rates and code exceptions for each market.
The matrix documented the workarounds without powering them — every rate change had to be remembered twice, once in the sheet and once in the store.

What we proposed

We proposed restructuring the store around Shopify Markets: each region deliberately configured with its own pricing, currency, and duty-inclusive shipping story, replacing the improvised stack. Costs would be visible before checkout — duties and shipping expectations shown on product and cart pages per region, so payment holds no surprises. Domestic would launch last as the control, watched as a guardrail rather than risked as a test subject. Markets Pro would absorb duty collection where the region's margins made that cheaper than surprise charges were expensive.

Just as important is what we ruled out, and why:

  • A single global shipping rate with duties folded into one priceMargins differ sharply per region; one blended rate would have subsidized the expensive market out of the cheap one, which the founder rejected on principle and arithmetic.
  • Separate regional storefronts on cloned storesTwo people cannot operate three catalogs honestly; cloning would have tripled content work and split the analytics the team reads every Monday.

How the work ran

01Split regions into Markets deliberately

Each region got its own pricing, currency, and duty-inclusive shipping story configured in Shopify Markets, replacing three ad-hoc workarounds.

02Make the cost visible before checkout

Shipping and duty expectations moved onto product and cart pages per region, so the checkout holds no surprises.

03Prove it region by region

One region went live first as the control, with domestic metrics watched as the guardrail.

Delivered by the systems pod — engineer + commerce lead over 7 weeks, with working increments reviewed with the client every week.

The stack, and the reasoning

Shopify Markets
Region-level pricing, currency, and domain rules live in one operable surface, which fits a two-person team better than parallel stores or manual invoicing notes ever did.
Checkout
One-page checkout with localized payment methods per market removed the region-specific payment friction the improvised stack had accumulated.
Markets Pro duties
Where margins couldn't absorb duty-inclusive shipping, Markets Pro collects duties as the merchant of record, converting the inbox's favorite question into a line item the platform answers.
GA4
Completion rates segmented by market were the whole scoreboard: regional launches needed per-market funnels, and domestic metrics needed watching as the guardrail.

What went wrong

Obstacle

The first region's launch underperformed — duty messaging on cart pages only left buyers unaware until late, and completion barely moved.

Handled: We moved duty-inclusive messaging onto product pages per the revised plan and re-measured for two weeks before touching the next region.

Obstacle

Legacy discount codes ignored market boundaries — two region codes stacked during the first launch week, briefly selling one market below its margin floor.

Handled: Codes were rebuilt as market-scoped discount combinations with stacking rules tested per region, and the margin floor became a monitor the team reviews weekly.

How we worked together

Cadence
A Monday metrics review with the founder and operations hire, plus a short launch-prep call in the week before each regional cutover.
Client side
The founder owned margin decisions and pricing; the operations hire owned support themes, shipping profiles, and the regional test orders.
Decisions
Regional launches proceeded only when the previous region's completion rate held steady for two weeks — the guardrail, not the calendar, sequenced the rollout.
They provided
Per-region margin sheets, shipping-cost history, support ticket exports for the customs-question baseline, and test addresses in each market.

What changed

The headline: international checkout completion rate, eight weeks after the last region launched versus eight weeks before41% → 63%, read from Checkout analytics by market. A second check: customs-related support tickets at −58%.

The support inbox stopped being a customs helpdesk; the operations hire now spends those hours on packaging inserts and reorder reminders instead. International buyers complete checkout the way domestic buyers do — the founder's phrase was that overseas finally stopped feeling like a favor she was doing someone. Pricing is a table she reads rather than a memory she defends: each region's story lives in one place, and the Monday meeting is about growth levers now, not damage triage.

The result was read from Checkout analytics by market against the pre-engagement baseline over the stated window, with a guardrail check on customs-related support tickets. Where platform-reported numbers and business outcomes differ, this record says which layer it is quoting.

What they own now

  • The Markets configuration guide documenting each region's pricing, currency, and duty story.
  • Market-scoped discount combinations with stacking rules, replacing the legacy code pile.
  • GA4 market-segmented funnel views bookmarked for the Monday review.
  • A support macro library for the customs questions that remain, written from the ticket export.
  • The regional launch checklist, sequenced by the two-week guardrail rule.

What we would do differently

We would have shipped the duty-inclusive messaging on product pages first — cart-page-only messaging underperformed in the pilot region.

EcommerceShopify DevelopmentBeautyShopify Markets

Next case study

A 40-SKU home goods retailer replatformed to Shopify without a launch-week outage