Chat on WhatsApp
Industry · Jewellery + watches + luxury

Magento for jewellery + watches: fraud prevention, customization, try-at-home

Jewellery e-commerce is a fraud target. AOV is $500–$50,000+. Returns are catastrophic if items don’t ship insured. Customers want personalization (engraving / ring sizing / made-to-order). Diamond + gemstone certifications matter. Try-at-home programs cut return rates 40%. Magento + Hyvä handles all of it. I’ve shipped 6+ jewellery + 2 watch stores including a $25M GMV diamond DTC.

  • High-AOV fraud prevention (Riskified / Signifyd / Sift) + 3-D Secure + manual review queue
  • Custom engraving + ring sizing + made-to-order workflow
  • GIA / IGI / HRD certifications + insurance docs + secure shipping (Brink’s / Malca-Amit)
Adobe-Certified Magento + Hyvä developer 6+ jewellery + 2 watch stores · $25M diamond DTC
Why Magento for jewellery

Four signals that matter on every jewellery store I ship

Fraud, customization, certification, and try-at-home. Get these four right and the rest of the jewellery-tech stack falls into place. Get them wrong and you spend the season firefighting chargebacks and panicked customer-support emails.

  • Fraud High-AOV protection

    At $500–$50k AOV, fraud is real. Riskified / Signifyd / Sift integrate via Magento extensions, score every order, auto-decline or queue manual review. 3-D Secure + AVS for high-risk orders. Cuts chargeback losses 75–90% in the brands I ship.

  • Custom Engraving + sizing

    30–50% of jewellery orders include personalization (engraving text, ring size). Magento Custom Options + made-to-order workflow + craftsperson queue + lead-time tracking on the PDP. Customer sees a live ETA, not a panicked support email.

  • Cert GIA / IGI / IGI verified

    Diamond + gemstone certifications drive trust. GIA / IGI / HRD report PDF + cert lookup linked from PDP. Insurance docs auto-generated for high-value orders. Buyers verify the stone before they hit pay; conversion lifts measurably.

  • Try At-home programs

    Try-at-home programs (Blue Nile / Brilliant Earth model) cut returns 40% by letting customers see the piece in person before deciding. Magento + appointment booking + secure delivery + return-label workflow on the same checkout. High-leverage for $5k+ rings.

What gets built

Six jewellery-specific capabilities, wired into the same Magento instance

Not a generic Magento build. These six are the load-bearing pieces every jewellery + watch store needs — fraud, customization, made-to-order, certs, secure shipping, try-at-home — with the integration patterns I use across 6+ shipped jewellery stores.

  • Fraud prevention for high-AOV orders

    Riskified / Signifyd / Sift integration scoring every order at checkout. Auto-decline confirmed-fraud, manual-review borderline, instant-approve clean orders. Layered with 3-D Secure 2.0 + AVS + IP geo + device fingerprinting. Whitelist override for verified trusted customers (returning $10k+ buyers). Chargeback guarantee from Riskified / Signifyd takes the financial loss off the brand on approved orders. The pattern that cuts chargeback rate from 1.2% to under 0.15% on the diamond DTC I ran for 3 years.

  • Custom engraving + ring sizing

    Magento Custom Options for engraving text (max 24 chars + font picker: serif / sans / script / cursive), ring sizing dropdown (US 3–13.5 + half sizes + EU equivalents), metal-type choice. Made-to-order workflow on the PDP shows a real lead-time (e.g. “ships in 7–10 days”) that’s tied to the craftsperson queue, not a static label. Customer gets per-stage email updates: engraved, polished, QC’d, shipped.

  • Made-to-order / bespoke workflow

    Multi-stage product flow: consultation → 3D render → quote → 30% deposit → fabrication → final-payment → secure ship. Each stage is a Magento order status (custom states + transitions) with admin-side workflow + customer-facing portal. Comms automated at every transition (SMS + email). Designer can upload progress photos to the order. The workflow that lets a 2-person bespoke ring brand handle 40+ active commissions without a spreadsheet.

  • Certifications + insurance + appraisal

    GIA / IGI / HRD / GCAL certificate report linked per stone — uploaded as a PDF attribute on the SKU, surfaced on PDP with a “View certificate” button + cert-number lookup deep-link to the issuing lab. Insurance docs (Lavalier / Jewelers Mutual / Chubb) auto-generated for orders above $5k threshold. Appraisal certificate per item, signed by a GIA-certified gemmologist on the brand’s side. Customer gets a folder of paperwork that justifies the price tag.

  • Secure white-glove shipping

    Brink’s Global Services / Malca-Amit / Loomis for high-value secure transit on orders above $10k. Insured up to $1M per shipment, signature-required, GPS-tracked, armoured-vehicle delivery in major metros. FedEx Priority Overnight with adult signature + signature-on-delivery for the $1k–$10k tier. Magento shipping-method module conditionally exposes the rail by order value + destination. Insurance is baked into the shipping line, not a separate process.

  • Try-at-home + store-pickup

    At-home program: ship 3 selections in a velvet-lined secure box (insured + signature), customer keeps one + pays, returns the other 2 with prepaid label. Reduces return rate ~40% by letting people see scale + colour in their own light. Magento + a custom “trial” order type + pre-auth-only payment until the kept piece is selected. Store-pickup as default for $5k+ orders — tied to appointment booking on the PDP, customer gets a private viewing room.

The build process

Five steps from audit to optimised jewellery store

Audit → plan → build → deploy → stabilise. Tuned for jewellery’s seasonal cadence (Valentine’s + Mother’s Day + holiday + bridal) and high-AOV risk profile: every $5k+ pilot order is a tested go-live with a war-room playbook.

  1. 01

    Audit

    Fraud incidence baseline (chargeback rate, decline rate, false-positive rate), customization workflow audit (engraving SKUs, made-to-order share of revenue, current craftsperson queue), certification linkage state (cert PDFs in Magento or scattered in Drive?), shipping carrier mix + insurance posture, try-at-home program presence + return rate. 1 week.

    Baseline + risk map
  2. 02

    Plan

    Fraud rules matrix (auto-decline thresholds, manual-review queue triggers, whitelist criteria), customization product matrix (which SKUs get engraving / sizing / made-to-order), cert workflow (PDF upload → attribute → PDP render), shipping vendor pick (Brink’s vs Malca-Amit vs Loomis by region), try-at-home program design (selection limit, pre-auth amount, return SLA). Written spec + Gantt.

    Locked scope
  3. 03

    Build

    Riskified/Signifyd integration + 3-D Secure 2.0 + custom-options engraving + ring-sizing matrix + made-to-order workflow with multi-stage order states + cert PDF attribute + insurance-doc generator + secure-shipping module + try-at-home order type. Built in 6–12 weeks depending on scope. Test fixtures for $50, $5k, and $50k order tiers.

    Build + UAT
  4. 04

    Deploy

    Pilot with $5k+ AOV pilot orders behind a feature flag, monitor fraud-decline rate + false-positive rate + craftsperson queue ETA accuracy + shipping insurance claims (none, ideally) for 14 days. War-room for the first $25k+ order. Pre-warm Hyvä cache, set up Cloudflare in front. Roll to 100% only after the canary holds for 2 weeks.

    Live + verified
  5. 05

    Stabilise

    Optimize fraud thresholds quarterly (false-positives leave money on the table, false-negatives leak chargebacks), customization conversion rate by SKU, try-at-home program kept-rate per cohort, secure-shipping carrier reliability. Quarterly review with the gemmologist + ops lead. Optional retainer ($1.5k–$5k/mo) for ongoing through-season ops.

    Optimised + iterating
Decision shortcuts

Magento isn’t the right answer for every jewellery brand — here’s the honest cut

I do not push Magento on every brand. Below: when Magento clearly wins, when Shopify is enough, and the real hybrid case. Skim, find the one that fits, and skip the deep dive if you already know your answer.

  • Stick with Shopify if

    Stick with Shopify if…

    • AOV under $300 and stable
    • Simple SKU set, no engraving / sizing / made-to-order
    • No bespoke or commission-based product line
    • Simple D2C only, single-region
    • Ops team is 1–2 people, app-stack is acceptable
    • No B2B / trade-program requirement
    • No try-at-home or store-pickup ambition
  • Hybrid (real pattern)

    Hybrid setup…

    • Custom + bespoke commerce on Magento
    • Standard catalog on a Shopify-style separate site
    • Works for jewellery brands with both standard + bespoke lines
    • Shared inventory + customer data via middleware
    • Cert + insurance + secure-ship lives on the Magento side
    • Marketing site on Shopify for SEO + simple D2C
    • Operational complexity is real — only above ~$10M GMV
Free jewellery consultation

Book a free 30-min jewellery-Magento consultation

Tell me your AOV, customization share, and current fraud-prevention setup. I’ll send a written platform-fit recommendation within 24 hours and include a 30-min calendar link if a call would help. No upsell.

We will get back to you shortly.

Past jewellery clients say

Reviews from jewellery + watch brands I’ve shipped Magento for

Public reviews on Upwork — clickable on each card. Same person, same rate card, same playbook for every brand.

Kishan did great job - everything as expected!

Kishan did great job - everything as expected! I would definitely recommend

JM

Jan Mucic

CEO

Great experience working with Kishan Savaliya.

Great experience working with Kishan Savaliya. completed job very fast and provided me accurate results. I highly recommend him for Magento 2 and development work. Thank

AS

Ajay Singh

Consistently accessible with strong Magento expertise.

Consistently accessible with strong Magento expertise. I intend to collaborate with him on another

GY

Gina Yan

Kishan was very helpful in helping set up my magento site, theme, installing my extensions, and fix any errors.

Kishan was very helpful in helping set up my magento site, theme, installing my extensions, and fix any errors. He is very trustworthy and I highly recommend hiring

SE

Sarah Ehling

I hired Kishan for a small project.

I hired Kishan for a small project. He did it very well and fast. So, I hired him to do more things and he did it on time! Kishan is really an excellent developer. Very committed, cleaver and very nice

FH

Fadi Hamdan

Kishan was able to resolve an issue that many others could not solve.

Kishan was able to resolve an issue that many others could not solve. Great

MC

Mitch Chiba

10916234 Canada Inc.

Shipping jewellery + watch stores across

  • United States
  • United Kingdom
  • Canada
  • Australia
  • Germany
  • France
  • Netherlands
  • India
FAQ

Twelve questions jewellery ecom leaders actually ask

Fraud prevention — Riskified vs Signifyd vs Sift?

All three are good. They differ on pricing model, chargeback guarantee, and fit by AOV.

  • Riskified — chargeback guarantee on every approved order. If a guaranteed order charges back, Riskified pays. Pricing is a % of GMV (typically 0.6–1.2%) and you get a hard SLA. Best fit: $1k+ AOV jewellery + watches. The financial risk shifts off the brand entirely. I default to Riskified for diamond + bridal DTC at $5M+ GMV.
  • Signifyd — also chargeback-guarantee. Slightly cheaper for mid-AOV (typically 0.4–0.9% of GMV). Strong on item-not-received fraud which matters for jewellery. Best fit: $500–$5k AOV mainstream fine + fashion jewellery. Solid Magento integration via official extension.
  • Sift — risk-scoring + decision-engine, NOT chargeback-guarantee. You build your own decline + manual-review rules using Sift’s scores. Cheaper (~$0.05–$0.20 per order). Best fit: brands at <$2M GMV who want a cheap fraud layer + are comfortable owning the chargeback risk. Or as a layer in front of Riskified to filter obvious junk before paying for the guarantee.

The pattern I deploy at most $5M+ jewellery brands: Sift for first-pass scoring (free-tier filter on bot + obvious-fraud orders) → Riskified for guaranteed approval on the orders that pass Sift → 3-D Secure 2.0 for the borderline grey-zone. Layered, not either/or. Cuts net chargeback losses 75–90% in the books I’ve audited.

Custom engraving + ring sizing on Magento — how does it work?

Native Magento Custom Options handle 80% of jewellery customization without any extension.

Pattern I ship:

  • Engraving as a text-input custom option with a max-character limit (typically 24 chars), an optional font picker (Custom Options dropdown: Serif / Sans / Script / Cursive), and a +$X price modifier per character or flat fee. Customer types “Forever yours, Sarah” on the PDP, the order arrives in admin with the engraving text + font on the order line.
  • Ring sizing as a select custom option with US sizes 3–13.5 + half-sizes + EU equivalents (45 / 47 / 49 / etc.). Tied to the SKU’s metal-type via configurable product (gold / platinum / rose gold each as a configurable variant; size is a custom option on the simple).
  • Lead-time visibility — a custom block on the PDP that pulls the current craftsperson queue from a custom table and shows “ships in 7–10 days” dynamically. Not a static label, not a panicked support email after they buy.

For deep customization (3D ring designer with a slider for diamond carat + cut + clarity → live-rendered preview → quote), the pattern is a JS frontend (Three.js) on the PDP feeding into a Magento custom-options API endpoint that writes the spec onto the order. Built one for a NY engagement-ring DTC; cost ~$15k of dev work and converted at 3.2x the standard PDP.

Shopify ceiling: Shopify line-item-properties handle simple engraving but choke on the multi-stage made-to-order flow, deposit-then-final-payment, or craftsperson queue. Most $2M+ jewellery brands hit that wall and switch to Magento.

Made-to-order / bespoke workflow — how complex?

Genuinely complex on the data model, simple on the UI. Worth the engineering investment if bespoke is >15% of revenue.

Architecture: seven custom Magento order states, each a stage in the bespoke commission flow:

  1. Consultation requested — customer fills a brief on the PDP (stone preferences, budget, ring/necklace, deadline). Order created with $0 placeholder. Auto-routed to a designer.
  2. 3D render in progress — designer uploads CAD + render images to the order. Customer sees the renders in their account portal. Email + SMS notification.
  3. Quote sent — designer adds a quoted line item ($X for the metal, $Y for the stone, $Z labor). Customer approves on the portal.
  4. Deposit paid — 30% upfront via Magento partial-payment. Stripe / Adyen tokenizes the card, charges 30%, holds the rest. Order moves to fabrication.
  5. In fabrication — jeweller marks per-stage progress (cast → set → polish → QC). Customer sees photos at each stage. Lead-time tracker on the portal.
  6. Final payment — remaining 70% charged to the saved token. Cert + insurance docs auto-generated.
  7. Secure shipped — Brink’s / FedEx-Priority / Malca-Amit dispatch. Customer gets tracking + insurance certificate.

The workflow is built as a Magento module with custom order states + state-transition validators + a designer-side admin UI + a customer-portal phtml block. ~$18k–$30k of dev work. Pays back fast: the 2-person bespoke ring brand I shipped for handles 40+ active commissions on this without a spreadsheet, vs. the email-and-Trello chaos most bespoke brands run.

GIA / IGI cert PDF linking from PDP — how?

Cleanest pattern: cert PDF as a custom product attribute.

  • EAV attribute — create certificate_pdf (file type) and certificate_number (text) and certificate_authority (select: GIA / IGI / HRD / GCAL / EGL) on the diamond / gemstone product type.
  • PDP render — Hyvä template on the PDP shows a “View GIA Report” button if certificate_pdf is populated. Click downloads the PDF + opens a deep-link to the lab’s public lookup (https://www.gia.edu/report-check?reportno=<cert_number> for GIA, similar for IGI / HRD).
  • Lookup verification — bonus: hit the GIA Report Check API at order placement and store the verified-at timestamp. Buyers know the cert was verified live, not faked.

For watches, brand authenticity equivalent: serial-number + box-and-papers + brand-warranty-card all as separate attributes, surfaced on PDP. Authentication services like Entrupy / Authenticate First can be wired in for high-value pre-owned watches.

For lab-grown diamonds: same pattern with IGI as the dominant lab. Differentiate from natural via a category attribute + faceted filter.

UX detail: surface the cert above the size selector on the PDP, not buried in a tab. Buyers verify the stone before they choose a size; flipping the order kills conversion ~12% in my A/B data.

Insurance + appraisal docs — can it be automated?

Mostly yes, with a hybrid manual + automated flow.

  • Appraisal certificate — auto-generated PDF per item (template + Magento order data: SKU, metal type, carat, cert number, retail value, signed by GIA-certified gemmologist on the brand’s side). Generated at order-confirmation, attached to the order, emailed to the customer + their insurer.
  • Insurance docs — integrate with Lavalier (jewellery-specific, owned by Berkshire Hathaway), Jewelers Mutual, or Chubb at checkout. Optional add-on at PDP / cart for a 1.5–2.5% / yr policy. The insurer’s API takes the appraisal + cert + customer details and issues a binder within minutes.
  • Trigger threshold — auto-generate appraisal + offer insurance only above a config threshold (typically $2k or $5k AOV). Below that, the cost of generating + storing the paperwork outweighs the trust benefit.

Data flow: order placed → Magento triggers an event → custom module pulls SKU + cert + customer data → renders the appraisal PDF (TCPDF / Dompdf library) → uploads to Magento media → emails customer. Insurance offer is a separate API call to Lavalier / Jewelers Mutual SDK at the cart stage.

Engineering scope: ~$8k–$15k for the appraisal generator + insurance offer integration. ROI: insurance attach-rate of 18–28% in the brands I’ve shipped, with a referral fee from the insurer (~10% of the premium for the first year). Roughly pays for itself in 6 months.

Secure shipping — Brink’s vs Malca-Amit vs Loomis vs FedEx?

Pick by order value + destination + speed.

  • FedEx Priority Overnight + adult signature — for orders $500–$10k. Insured up to $50k via FedEx Declared Value (with a per-shipment fee). Same-day delivery in most US metros next morning. Cheapest, fastest, scales. Default for the bulk of jewellery shipments.
  • Brink’s Global Services — for orders $10k–$1M. Armoured-vehicle pickup + interlocked secure transit + GPS-tracked + signature-required. Pricing is per-shipment + insurance. Best fit: high-end engagement rings, watches, mid-luxury. Coverage in 100+ countries with white-glove handoff.
  • Malca-Amit — competing with Brink’s, often cheaper for international (especially APAC + Middle East routes). Strong in the diamond-trade corridor (Antwerp / Mumbai / Tel Aviv / NY). Best fit: international jewellery + diamond inventory transfers.
  • Loomis — primarily armored-cash transport but expanding into high-value jewellery. Best fit: domestic US, especially around financial-district pickups.
  • UPS Next Day Air with declared value + signature — fallback option, slightly cheaper than FedEx but with fewer jewellery-specific procedures.

Magento integration: build a custom shipping-rates module that conditionally exposes carriers by order value + destination country. Order under $10k → FedEx + UPS only. $10k–$100k → Brink’s + Malca-Amit + FedEx. $100k+ → Brink’s only with mandatory signature + GPS-track. Insurance is rolled into the shipping line, not a separate process.

One operational rule: never ship to a billing address mismatch for orders over $5k. Magento billing-vs-shipping validation rule auto-flags the order to manual-review queue. Most jewellery fraud comes through ship-to-different-address attacks.

Try-at-home program — implementation pattern?

The Blue Nile / Brilliant Earth / Aurate model. Cuts return rate ~40% by letting customers see scale + colour in their own light before committing.

Pattern:

  1. Customer selects up to 3 pieces on the PDP / category page (custom “Add to try-box” button alongside “Add to cart”).
  2. Pre-authorisation, not charge — Stripe / Adyen pre-auths the full retail value of all 3 pieces (typically $15k–$50k for engagement rings). No charge until the customer chooses what to keep.
  3. Velvet-lined secure box ships via FedEx Priority Overnight with adult signature + insurance. Magento generates a custom “trial” order type with all 3 SKUs + a pre-paid return label.
  4. 7-day window. Customer keeps one (or none), returns the rest. Magento detects the return scan via carrier webhook → adjusts the order → captures payment for the kept piece + voids the pre-auth on the rest.
  5. Kept-rate is 60–75% in the data I see. Return loss is offset by the conversion lift on the original try-decision (most customers wouldn’t have bought a $25k ring sight-unseen).

Engineering scope: custom Magento order type + pre-auth payment flow + carrier webhook listener + 7-day cron timer + admin-side trial-management UI. ~$25k–$40k of dev work. Risk-management cost: program shrinkage runs 1–3% (lost / damaged / stolen), priced into the AOV.

Operational rules: limit to verified customers (Plaid + ID verification + first-purchase floor of $1k or 6+ months on file). Without verification, fraud rate spikes to 8%+ and the program kills margin. Brilliant Earth requires a $100 deposit; Blue Nile requires a credit-card pre-auth and ID match.

Lab-grown vs natural diamond filters — how do you handle in Magento?

The buyer cohorts are different and the SKU model has to reflect that.

  • Distinct category trees/diamonds/natural/ and /diamonds/lab-grown/ as parallel category branches. Don’t merge them; SEO + faceted-search clarity matters and natural-diamond buyers are a different cohort than lab-grown buyers.
  • Origin attribute — EAV select attribute diamond_origin (values: natural, lab-grown). Used as a faceted filter on category pages alongside carat / cut / colour / clarity / shape.
  • Dual cert authority handling — natural diamonds typically GIA-certified, lab-grown typically IGI-certified. Both surfaced via the same certificate_pdf attribute pattern with the authority shown on the cert button.
  • Pricing transparency — show both natural + lab-grown variants of similar specs on a single PDP (cross-link between them) so customers can compare. Lab-grown is typically 60–80% cheaper for equivalent specs and customers want the comparison explicit.
  • Disclosure compliance — FTC requires lab-grown to be clearly labelled (not just “diamond”). Build the disclosure into the PDP template + cart line + invoice.

Buyer cohort split in the data: lab-grown skews younger (25–38), price-sensitive, sustainability-conscious. Natural skews 35–55, traditional, gift-buyer (engagement / anniversary). Email segmentation + paid-search attribution should respect the split. Same Magento store, different audiences, different LTV.

Multi-region pricing (USD / EUR / INR / GBP) — how?

Native Magento store views + Multi-Source Inventory handle this cleanly.

  • One store per regionus (USD), eu (EUR), uk (GBP), in (INR), au (AUD). Same product catalog, separate price scopes (configure prices per website in Magento).
  • Tax / VAT handling — tax-inclusive prices in EU + UK + AU (consumers see the final price), tax-exclusive in US (sales tax added at checkout). Configured per store at the tax-class level.
  • Currency conversion — either fixed price per region (better for predictable margin), or a daily exchange-rate auto-update with a markup buffer (better if the brand sells few SKUs in many regions). I default to fixed-prices per region with quarterly review.
  • Geo-routing — Cloudflare Workers detect country at edge → 302-redirect to the appropriate store view. Customer can still manually switch via the language picker. Detect → suggest, never force.
  • Region-specific shipping — secure-shipping carriers vary by region. US: FedEx + Brink’s. EU: DPD secure + Malca-Amit. India: Sequel + BVC Logistics. Configure per store.

Watch for: India-specific GST + bullion-import duty. India levies 3% GST on jewellery + 12.5% import duty on gold. Build the duty into the INR price scope as a separate line item; transparency wins customer trust + avoids the “why did the price jump 15% at checkout” complaint.

For the Middle East: SAR + AED in their own store views + Tabby / Tamara BNPL + Arabic RTL theme switch. Multi-region jewellery is a real engineering investment ($25k–$60k for a 4-region rollout) but Magento handles it natively, where Shopify needs Markets-Pro + custom workarounds.

B2B / trade reseller program — how does it work for jewellery?

Three layers depending on scale.

  • Customer-segment-based pricing — native Magento. Trade customers register with a verified jewellery-trade ID (JBT card / business license / GIA pro membership). Magento customer group = trade sees a discounted price tier (typically 30–50% off retail). DTC customers never see the trade pricing.
  • Hidden trade catalogs — a separate “Trade only” category visible only to logged-in trade customers. Houses bulk SKUs, loose stones, findings, settings that don’t belong on the public store.
  • Net-30 invoicing — integrate Apruve, Resolve, or TreviPay. They underwrite the credit + pay the brand on day 1, the trade buyer pays them on day 30. Magento payment-method module per customer group.
  • Bulk reorder — trade customers get a CSV-upload reorder UI + saved order templates. Cuts friction for the wedding-band wholesaler reordering the same 60 SKUs every quarter.
  • Adobe Commerce B2B Companies module — if the trade share is >30% of revenue or you have multi-buyer accounts (jeweller + their assistant + accounts payable), this is worth the $30k+/yr. Multi-step approval workflows + requisition lists + line-sheet PDF export.

Verification flow: trade signup form requires JBT / business-license upload → manual admin approval → customer-group flip → trade pricing visible. Don’t auto-approve; trade-fraud (consumers pretending to be trade for the discount) is real. Manual approval takes 5 minutes per signup and the conversion-quality is much higher.

Magento vs Shopify for jewellery specifically — when does each win?

Honest cut, jewellery-specific:

Shopify wins for jewellery if: AOV under $300, simple SKU set (rings + necklaces + earrings without size matrix), no customization (no engraving / sizing / made-to-order), no bespoke commission line, simple D2C only, single-region. Shopify is fine here. Apps cover most basic fraud (Riskified has Shopify support), simple custom-options (Bold / Infinite Options apps), basic returns. Below $1M GMV, the Shopify app stack costs <$500/mo and is operationally light.

Magento wins for jewellery if: AOV above $500, custom engraving / ring sizing / bespoke is a product line, multi-region (US + EU + UK + IN + AU), B2B / trade share >15%, GIA / IGI cert workflow is a buying-decision factor, secure-shipping rails (Brink’s / Malca-Amit) are needed, try-at-home or store-pickup is a competitive differentiator, full data ownership matters (custom fraud rules, custom appraisal templates, custom-built craftsperson queue).

Specific jewellery ceilings on Shopify:

  • 100 variants per product (Plus: 2,000) — jewellery configurable matrices (size × metal × stone) hit this ceiling fast.
  • Made-to-order multi-stage workflow — Shopify line-item-properties handle simple engraving but choke on a 7-stage commission flow with deposit-then-final-payment.
  • Custom shipping by order value — conditional Brink’s / FedEx routing by AOV needs custom logic Shopify Functions can do but awkwardly.
  • B2B trade pricing visibility — native customer-group pricing on Magento; Shopify needs B2B-on-Plus or third-party apps.

Migration trigger: most $2M+ jewellery brands hit the variant ceiling or the made-to-order workflow gap and switch within ~6 months of crossing $5M GMV. The brands that stay on Shopify past $10M are the ones with simple SKU sets and pure-D2C models — rare in fine jewellery.

Cost + timeline for a jewellery Magento build (or migration)?

Realistic ranges for a jewellery brand at $2M–$10M GMV migrating to Magento:

  • Magento + Hyvä rebuild (jewellery-specific scope): $35k–$95k. Adds on top of the standard build: fraud integration ($5k–$10k), custom engraving + sizing options ($3k–$8k), made-to-order workflow ($18k–$30k if needed), GIA/IGI cert linkage + appraisal generator ($8k–$15k), secure-shipping module ($5k–$10k), try-at-home program (+$25k–$40k if needed), B2B trade layer (+$8k–$25k if needed).
  • Timeline: 10–18 weeks for a typical mid-market jewellery store. Faster (8 weeks) if no bespoke / no try-at-home / no B2B. Longer (20–30 weeks) for full-stack with bespoke + multi-region + try-at-home in scope.
  • Hosting: $400–$1,500/mo on Cloudways / Adobe Commerce Cloud / dedicated. Jewellery doesn’t spike like fashion drops, but secure-shipping integrations + fraud-tooling latency demand low TTFB. CDN (Cloudflare) + Hyvä for performance.
  • Ongoing: $1.5k–$5k/mo retainer for through-season ops (fraud-rule tuning, made-to-order queue ops, holiday + Valentine’s + Mother’s-Day prep).

Risks specific to jewellery migration:

  • Cert PDFs must migrate cleanly — thousands of GIA / IGI PDFs in the old store, each tied to a specific stone SKU. Migration script needs to map cert-number → SKU one-by-one with QA.
  • Customer trust + brand authority in jewellery is high-stakes. The new site must look + feel premium from day one. Hyvä-themed Magento + a good designer hit this; default Luma does not.
  • Order history + insurance docs must migrate — customers expect to access their past appraisals + insurance binders. Lose that, lose the high-LTV repeat buyer.
  • SEO redirects — jewellery brands often have product URLs with cert-number suffixes (/diamond-1ct-vs1-D-color-GIA12345.html). Map every old URL → new URL or you drop 25–40% of organic for ~8 weeks.

Run both stores parallel for 30–60 days behind a feature flag. Flip DNS only after redirects map ≥98% of traffic + 30 successful test orders + 1 dry-run made-to-order commission + 1 secure-shipping pilot to a real customer. Jewellery migrations done well don’t lose ranking; done badly they take a season + Valentine’s + Mother’s-Day to recover.