NEXSUM_LABS
  1. Home
  2. Work
  3. An artisan food producer moved its WooCommerce checkout to blocks and stopped losing gift orders
Book a call

[ Case study ]

Food & beverageWordPressWooCommerce block checkoutStore APIGA4 ecommerce

An artisan food producer moved its WooCommerce checkout to blocks and stopped losing gift orders

Gift orders — the highest-margin line — failed at checkout: the legacy shortcode checkout lost shipping-method selections when buyers mixed per-address gifts with a normal order, and the owner only found out when customers called.

CLIENT an artisan food producer with a growing gift-corporate line — FOCUS Model the gift flow in the block checkout

WooCommerce DevelopmentEcommerceWooCommerce DevelopmentFood & beverageRepresentative example
Client
an artisan food producer with a growing gift-corporate line
Industry
Food & beverage
Engagement
6 weeks — systems pod — engineer
Service
Ecommerce / WooCommerce Development
Headline outcome
Gift-checkout failure reports, in the two gift seasons after launch versus the two before: −87% → 0, read from Support inbox plus order reconciliation

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

Family-run and shipping perishables nationwide, the producer built its reputation on gift boxes: curated hampers for corporate clients alongside retail orders from the same store. The kitchen runs production; a small office side handles orders, and the owner personally processes every shipment during gift season. Corporate gift buyers place multi-address orders with individual notes, which made the gift line both the margin engine and the most operationally delicate thing the site does. WooCommerce had served them for years; checkout was the part that had aged.

What it was costing

Gift orders — the highest-margin line — failed at checkout: the legacy shortcode checkout lost shipping-method selections when buyers mixed per-address gifts with a normal order, and the owner only found out when customers called.

What they could see

  • Corporate buyers mixing per-address gifts with a normal order lost their shipping selections between cart and payment, and the order arrived with the wrong delivery method.
  • The failure never surfaced on the site — the owner learned about it from customers calling to ask where their hamper was.
  • Peak-season mornings started with damage control: refunding, re-shipping, and apologizing before production work began.
  • Checkout abandonment spiked precisely on multi-item gift orders, the most valuable traffic the store received.

The constraints we worked inside

  • Peak season was gift-driven; the checkout could not be rebuilt in December.
  • The store ran on a shared hosting plan — no infrastructure upgrades were in scope.
  • The owner processed orders alone; fulfillment routines had to stay one-screen simple.

What had been tried before

A plugin was added to force shipping-method persistence at checkout, chosen after a weekend of forum reading.
It patched the symptom for single-destination carts only; the shortcode checkout's session handling still dropped per-item data the moment two addresses entered the mix.
The office wrote a manual checklist for spotting broken gift orders and reconciling them by email with the buyer.
The checklist caught failures after money was taken, so every save still meant a refund or a second shipment — it managed the damage, not the cause.

What we proposed

We proposed moving checkout to WooCommerce's block-based implementation, configured with per-item shipping so mixed carts behave deterministically, on a spring timeline well clear of the gift peak. The reasoning: the shortcode checkout's data handling was the defect, and the block checkout replaces that flow wholesale rather than layering another patch on it. Shared hosting stayed as-is — the block checkout is a theme-level change, not an infrastructure one. Every gateway and every cart combination would be verified with live-money test orders, and the owner's fulfillment routine would be rebuilt to stay one screen.

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

  • Replacing the store with a hosted commerce platformTheir catalog, email list, and order history all lived in WooCommerce, and the owner's one-screen fulfillment routine would have to be rebuilt and relearned from zero.
  • Writing a custom checkout hook to preserve shipping selections in the existing flowIt would have kept the shortcode checkout's opaque session behavior as the foundation; we could fix the symptom we could reproduce, not the ones customers hit alone.

How the work ran

01Model the gift flow in the block checkout

The block-based checkout was configured with per-item shipping so mixed carts behave deterministically, and the failure state that ate gift orders was tested explicitly.

02Verify every gateway with real money

Each payment gateway went through live-mode test orders — including declines, refunds, and the mixed-cart case — before anything shipped.

03Hand over a runbook, not a lecture

Order processing, refunds, and the gift cutoff calendar went into a one-page runbook the owner still uses.

Delivered by the systems pod — engineer over 6 weeks, with working increments reviewed with the client every week.

The stack, and the reasoning

WordPress
It was already the content home and the owner's familiar admin; keeping it avoided retraining during a change confined to the buying flow.
WooCommerce block checkout
Per-item shipping is a first-class setting, which makes the mixed-cart case deterministic by configuration instead of preserved by fragile session code.
Store API
It let us script the failure-state tests — mixed addresses, gateway declines, refunds — against the same endpoints customers hit, without touching the theme.
GA4 ecommerce
Funnel steps per cart type now show where gift orders stall, so the owner sees checkout health rather than waiting for a phone call.

What went wrong

Obstacle

Our first synthetic test cart passed cleanly while real customer orders still failed — the combination that broke was three gift addresses plus a retail item with a discount code.

Handled: We rebuilt the test matrix from the prior season's real order export and re-tested every observed combination in live mode before declaring the fix done.

Obstacle

The block checkout's default styling clashed with the store's established look, and the owner worried regulars would think the site had changed under them.

Handled: We matched the theme's existing fonts, buttons, and spacing through the block editor's styling hooks, then reviewed side-by-side screenshots with the owner before launch.

How we worked together

Cadence
A 20-minute call each Friday with the owner, plus the shared test log; the six-week engagement had no room for longer meetings.
Client side
The owner was the entire client team — she reviewed every staging build between production runs and made all the calls herself.
Decisions
We proposed, she chose: options came as two-line summaries with screenshots, answered the same day by email or a voice note.
They provided
Live gateway credentials for test orders, the prior season's order export for the test matrix, and her fulfillment checklist as the design brief.

What changed

The headline: gift-checkout failure reports, in the two gift seasons after launch versus the two before−87% → 0, read from Support inbox plus order reconciliation. A second check: gift-line revenue, same-period comparison at +19%.

Gift season used to begin with dread; the first December after launch, the owner describes the checkout as furniture — present, functional, unremarkable. Customer calls about wrong deliveries stopped, which returned her mornings to actual fulfillment work. The runbook made refunding and re-shipping a two-minute task instead of an investigation, and the gift cutoff calendar ended the eleventh-hour negotiation emails. With checkout no longer the riskiest part of the highest-margin line, the corporate gift push became something she markets harder instead of braces for.

The result was read from Support inbox plus order reconciliation against the pre-engagement baseline over the stated window, with a guardrail check on gift-line revenue, same-period comparison. Where platform-reported numbers and business outcomes differ, this record says which layer it is quoting.

What they own now

  • A one-page runbook covering order processing, refunds, and the gift cutoff calendar.
  • The live-mode test matrix, kept so future gateway or plugin changes can be re-verified.
  • GA4 checkout funnel views segmented by cart type, bookmarked for the owner's weekly glance.
  • WordPress admin credentials with the block checkout's configuration documented where she works.

What we would do differently

We would have run the mixed-cart test on real product combinations from day one — our first synthetic cart missed the case customers actually hit.

EcommerceWooCommerce DevelopmentFood & beverageWordPress

Next case study

A wholesale bakery automated its standing orders and recovered its Monday mornings