[ Case study ]
Variants priced wrong at checkout intermittently — a size-XL sometimes carried a different product's price. The catalog had been imported twice by two tools, and nobody could say which record was authoritative.
CLIENT a workwear apparel brand — FOCUS Establish one source of truth
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.
The brand makes workwear that sells year-round to trade customers and weekend buyers alike, with daily paid traffic feeding a catalog of roughly 300 size-and-color variants. Catalog management sat with one part-time merchandiser, who also handled imagery and copy. Stock levels lived in a warehouse spreadsheet that synced into the store on its own schedule. The store had grown by accretion — two catalog imports from two different tools over the years — and pricing truth had quietly become a matter of guesswork.
Variants priced wrong at checkout intermittently — a size-XL sometimes carried a different product's price. The catalog had been imported twice by two tools, and nobody could say which record was authoritative.
We proposed consolidating both imports into a single Catalog V3 structure before touching anything else: reconcile the two record sets, designate one authoritative source per product, encode variant pricing rules once, and retire the orphaned import. Only then would product templates be rebuilt on the clean model, so checkout pricing had one path to follow instead of two competing ones. Because paid traffic ran daily, the whole job would happen behind the live store with a priced test matrix per product class — no phase where shoppers could see a price move.
Just as important is what we ruled out, and why:
The duplicated catalog was reconciled into a single Catalog V3 structure with variant rules encoded once, and the orphaned import was retired.
Product pages moved onto one template driven by the cleaned structure, so pricing logic had one path instead of two.
Every size-color combination class went through a priced test order before relaunch — the intermittent mispricing was reproduced, fixed, and re-tested.
Delivered by the commerce lead + engineer over 5 weeks, with working increments reviewed with the client every week.
Obstacle
Roughly forty records from the orphaned import had already been purchased — order history and accounting pointed at records we planned to delete.
Handled: Those records were kept as read-only archive entries with redirects to their canonical replacements, so invoices and analytics stayed coherent while the storefront showed one product.
Obstacle
The intermittent mispricing resisted reproduction for ten days; it finally appeared when a test order followed a stock sync that raced an edit.
Handled: We reproduced it deliberately by scripting a sync-edit-checkout sequence, confirmed the fix killed it, and added that exact sequence to the standing test matrix.
The headline: mispriced-checkout incidents per month, three months post-fix versus three months before — 14 → 0, read from Order audit against the rate card. A second check: price-related refund requests since the fix at 0.
The merchandiser's relationship with the catalog changed first: she edits variants now, because the model makes wrong entries hard rather than consequences mysterious. Monday spot-checks are gone, replaced by an audit report she reads in two minutes. Refund correspondence stopped carrying the phrase nobody could answer — where did this price come from — because every charge now traces to one record and one rule. Paid traffic feels safer to scale, since a mispriced checkout can no longer quietly tax the spend.
The result was read from Order audit against the rate card against the pre-engagement baseline over the stated window, with a guardrail check on price-related refund requests since the fix. Where platform-reported numbers and business outcomes differ, this record says which layer it is quoting.
What we would do differently
We would have diffed the two catalog imports with a script on day one — the manual spot-checks took longer than the script would have.
[ Related service ]
[ Related builds ]
3.1% 4.6%Checkout conversion rate, the two months after cutover versus the two months before, like-for-like traffic
−87% 0Gift-checkout failure reports, in the two gift seasons after launch versus the two before
[ Next step ]
Next case study