
// Receipts
// 01 · Context
Giraux Fine Jewelry is a 49-year-old San Francisco jeweler selling diamonds, engagement rings, and custom pieces. The store runs on Shopify Plus with 2,900+ SKUs and $13M+ in active catalog value. I came on as the sole operator for everything digital: storefront, analytics, email, media, and search. What I inherited: an aging theme, a paid third-party CDN, no analytics, and a booking process that lived entirely on the phone.
// 02 · Problems
Four problems compounded each other. The 360° spin pages weighed ~80 MB each, so mobile shoppers left before the diamonds loaded. There was no analytics stack, so nobody knew what was selling or from where. Appointments only happened by phone during business hours, while most traffic arrived after close. And the catalog carried no structured data, so Google had little to show searchers beyond a plain link.
// 03 · What I shipped
Everything below runs in production today.
- A custom Liquid theme I own end-to-end, so storefront changes ship the same day.
- A custom DAM and CDN I stood up on Cloudflare Workers and R2, migrating 243,000+ media files off the paid platform at cutover.
- A custom 360° spin viewer that took diamond pages from ~80 MB to ~2.5 MB.
- GA4 and GTM instrumented from scratch, so every product view, add to cart, and booking is attributed.
- A 5-step SimplyBook appointment flow with deposits through Shopify Checkout, so customers book without calling.
- Klaviyo welcome, abandoned-cart, and post-purchase flows, so follow-up revenue runs on its own.
- JewelryStore and LocalBusiness structured data, so Google shows the store in maps and rich product results.
// 04 · Results
Spin pages dropped from ~80 MB to ~2.5 MB, a 97% page-weight cut. The platform serves 476,000+ files (46 GB) today, and retiring the paid CDN saves ~$1,440 a year. The booking flow has driven 1,200+ appointments, with monthly volume up 58% year over year. GA4 tracks 11,000+ active users. Organic search roughly tripled over the trailing 16 months: 63,500 impressions, 2,240 clicks, and a 3.5% click-through rate in Search Console.
// 05 · What I'd do next
Next on the list: server-side event tracking for cleaner ad attribution, spin coverage across more of the diamond inventory, and collection pages aimed at long-tail searches to compound the organic growth.






// Stack
Want a build like this?
Same operator, same playbook, applied to your shop. 30-min discovery call walks through your current setup and what the build would look like.
