CASE 01FTD CheckoutSHIPPED 2023–2025LIVE
01CASE
STUDY

Checkout Optimization Across a Multi-Brand E-commerce Ecosystem

A checkout flow that violated user expectations at every critical decision point, costing the business its most valuable transactions during its highest-revenue windows.

+30%CHECKOUT CONVERSION
−47%WASTED CARTS
−25%TIME TO PURCHASE
−20%SUPPORT TICKETS
ROLELead Product DesignerCheckout & Conversion
TIMELINE2 years5 release waves
TEAM1 Director of Product2 Product Owners · 8 Engineers · 4 QAs · 2 Stakeholders
SHIPPEDQ1–Q42023–2025

SECTION 01WHAT THIS CASE STUDY WON'T TELL YOU

    • Exact revenue impact is omitted under business confidentiality. The +30% conversion lift translates to a material number; I can discuss magnitude in conversation, not in writing.
    • Several A/B tests failed before the winning patterns surfaced. I'm showing you the patterns that shipped, not the ones we abandoned.
    • I did not run the quantitative analysis personally. The growth analytics team owned measurement; I owned the hypothesis and the design.
    • Multi-brand constraints meant some ideal solutions could not be implemented uniformly. The case study notes where compromises were made.
    • Some screenshots are reconstructed from production for presentation clarity. No customer data is real.

SECTION 02STAKES

I worked on FTD and its affiliated brands (ProFlowers, FromYouFlowers, SendFlowers), a gifting ecosystem serving customers across 125+ countries through a network of 30,000+ florists. Revenue was concentrated in seasonal peaks (Mother's Day, Valentine's Day) where any UX decision compounded across millions of sessions in a two-week window.

The checkout funnel was underperforming benchmark, and the gap was costing the business its highest-margin transactions at the worst possible time of year. Drop-off at the fee-reveal step was 34% higher during peak weeks than baseline, meaning the product's pricing model was actively adversarial to the windows the business most needed to capture.

The mandate was a checkout redesign. What the work became was something larger.

SECTION 02ROLE

I led design across the purchase journey, PDP, cart, checkout, and the design system that supported all four brands. I partnered with a director of product and two product owners (one for checkout, one for PDP/cart), worked day-to-day with eight engineers and four QAs across the release waves, and aligned weekly with two executive stakeholders on scope and sign-off. A growth analyst owned all A/B test instrumentation, and a UX research partner ran the qualitative interviews and session-replay analysis.

I owned the experience architecture, the decision framing, the design system standardization across brands, and all visible UI. I did not own A/B test methodology or statistical analysis, that was the growth analyst's domain, and I did not own the technical checkout infrastructure.

SECTION 03REFRAME

The project I was briefed on and the project I actually shipped.

The brief was a conversion problem.

I was handed a checkout with a 30-day trailing conversion rate below benchmark and a clear mandate: redesign the funnel, lift the number. The framing assumed the checkout was where the problem lived. Fix the checkout, recover the conversion. That's a tractable project. I could have shipped against it in a quarter.

I didn't ship against it.

What the session data showed was a different problem.

Three weeks into discovery, the pattern in the FullStory data stopped looking like a checkout problem. Users weren't failing at the checkout. They were arriving at the checkout already primed to fail, with wrong price expectations from the PDP, with delivery assumptions the system hadn't validated, with an emotional investment in a product that might not even be available to them. By the time a user hit step one of checkout, the damage had been done five minutes earlier, on a different page.

The rage-click signatures confirmed it. The highest-intensity frustration wasn't on the "Place Order" button. It was on the order summary, the moment the delivery fee rendered. Users weren't abandoning because the checkout was broken. They were abandoning because the promise the site had made them upstream was being revised at the last step.

Reframe

The checkout isn't the problem. The checkout is where the problem becomes visible.

Everything changed downstream of that sentence. The scope expanded past the original brief to include the PDP (where the price commitment starts), the product detail flow (where delivery eligibility should be resolved), the cart (where pricing has to hold its promise), and the design system (because whatever we built had to work identically across four brands). The original project, a checkout redesign, would have moved the number marginally. The redefined project, a trust-restoration exercise spanning the whole purchase journey, is what moved it by 30%.

What this meant practically:

I had to defend a scope expansion to a stakeholder group that had approved a checkout project, not a journey project. That conversation took longer than the initial discovery. I brought the session data, the rage-click density maps, and a specific counterfactual: if we ship the checkout-only version, here's the lift we'd expect, and here's why it ceilings out. The ceiling argument was what moved the room. Once the stakeholders could see that the in-scope work had a fixed upper bound, the scope expansion became the obvious choice.

The work I actually shipped was not the work I was briefed on. That delta is the project.

SECTION 04DECISIONS

Three calls that moved the number.

03 HERO DECISIONS · 04 SUPPORTING MOVES · TAP A CARD TO OPEN

SECTION 04.BSUPPORTING MOVES

Four decisions that didn't need a full story, but earned their place in the 30%.

MOVE 04 · 01 OF 04
MOVE 04

INPUT FRICTION

Address entry was a 9-field form with server-side validation firing on submit. Collapsed to 4 visible fields with inline autocomplete, US/Intl routing behind a single toggle.

SOURCE · HEATMAP + FORM ANALYTICS
−18sTIME-TO-COMPLETE MEDIAN
−22%VALIDATION ERRORS
MOVE 05

AI CARD MESSAGING

Users stalled longest on the card-message field, especially in sympathy and apology flows. Shipped a contextual suggestion layer: occasion-aware starter phrases, editable, never autofilled.

SOURCE · SESSION REPLAYS + FLOW ANALYTICS
−14%ABANDONMENT AT MESSAGE STEP
38%ADOPTION, FIRST-TIME USERS
MOVE 06

LOYALTY VISIBILITY

Loyalty benefits were surfaced inside the program's own landing page. Moved the two highest-value benefits (free delivery, peak-day waiver) to the cart summary, framed as unlockable value, not as a promotional ask.

SOURCE · PROGRAM ANALYTICS, CONTROLLED
+2.4×ENROLLMENT FROM CART
+9%REPEAT PURCHASE 60-DAY
MOVE 07

DESIGN SYSTEM SCALING

Checkout components were being forked per brand, with drift compounding each release. Consolidated into a shared token layer + brand-themed component set. Four brands, one source.

SOURCE · DELIVERY METRICS, 2 QUARTERS
−40%FEATURE SHIP TIME
−61%INCONSISTENCY TICKETS

Seven decisions. Three that moved the number. Four that compounded it.

+30% conversion · −25% abandonment · −20% errors

SECTION 05SOLUTION

Six surfaces where the decisions shipped.

SCROLL FOR ANNOTATED SURFACES

SURFACE 01 / 06· TIES TO DECISION 01 · DECISION 02

PDP, ELIGIBILITY STRIP

Validation lives at the moment of interest, not the moment of commitment.

PDP, ELIGIBILITY STRIP — surface
01
DELIVERY STRIP · PERSISTENTZip + date live above the buy button. Populated from session. Editable inline.
02
STATUS COPY · 'AVAILABLE MAY 12 FROM $8'Eligibility and fee estimate in one line. No modal, no second step to find out.
03
PEAK-DAY BADGE ON CALENDARSurcharge is tagged on the date itself, before selection. Not after.
04
BUY BUTTON · GATED IN PEAK WINDOWSDuring Mother's Day / Valentine's Day / holiday peaks, the button requires a valid zip. Non-peak: optional.
SURFACE 02 / 06· TIES TO DECISION 01 · MOVE 06

CART, PRICING TRANSPARENCY

The number the user sees on the PDP is the number the user pays at checkout. Nothing appears late.

CART, PRICING TRANSPARENCY — surface
01
FEE BREAKDOWN · FULLY ITEMIZEDEvery line that affects the total is named and sourced. No 'taxes and fees' aggregate.
02
DELIVERY LINE · LINKED TO PDPSame number the user saw on the PDP. If it changes, a small diff indicator explains why.
03
LOYALTY CALLOUT · VALUE-FRAMED'Members save $8 on this order', framed as unlocked value, not a promotional ask. Dismissible.
SURFACE 03 / 06· TIES TO DECISION 03

CHECKOUT, STEP INDICATOR AND CTA CONTRACT

The flow's shape is visible from inside the flow. The button tells the user where it leads.

CHECKOUT, STEP INDICATOR AND CTA CONTRACT — surface
01
STEP INDICATOR · PERSISTENT, NAMEDFour named steps. Current step highlighted in amber. Completed steps check-marked. Upcoming steps dimmed but visible.
02
CTA CONTRACT · 'CONTINUE TO [NEXT STEP]'Every button names its destination. No generic 'Continue.' No 'Next.' No 'Confirm' ambiguity.
03
INTERSTITIALS · REMOVED FROM CRITICAL PATHLoyalty, substitution, delivery notes, all moved inline or post-purchase. No modal interrupts this flow.
SURFACE 04 / 06· TIES TO MOVE 04

ADDRESS ENTRY, INPUT REDUCTION

Every field justifies itself. The form asks only what the system can't infer.

ADDRESS ENTRY, INPUT REDUCTION — surface
01
FIELD COUNT · 9 → 4 VISIBLECountry, apartment, phone-type, and three others moved behind progressive disclosure. Filled only when needed.
02
AUTOCOMPLETE · INLINE, NOT MODALAddress suggestions appear below the street-line input. Keyboard-navigable. Never blocks the form.
03
VALIDATION · CLIENT-SIDE, REAL-TIMEErrors surface as the user types, not on submit. Zip and country cross-validated without a server round-trip.
SURFACE 05 / 06· TIES TO MOVE 05

CARD MESSAGE, CONTEXTUAL SUGGESTIONS

Suggest, don't autofill. Reduce hesitation without removing authorship.

CARD MESSAGE, CONTEXTUAL SUGGESTIONS — surface
01
SUGGESTIONS · OCCASION-AWAREChips adapt to the occasion selected on PDP. Sympathy gets different starters than birthday. No generic defaults.
02
NEVER AUTOFILLEDTapping a chip inserts it into the field, cursor placed at the end. User can edit, extend, or delete. No surprise population.
03
EMPTY-STATE GUIDANCEFor users who freeze, a small line below the field: 'Not sure what to say? Start with a suggestion above.' Seen 2.1× more in sympathy flows.
SURFACE 06 / 06· TIES TO MOVE 07

DESIGN SYSTEM, MULTI-BRAND TOKENS

Four brands, one checkout. Consistency under the surface; brand voice above it.

DESIGN SYSTEM, MULTI-BRAND TOKENS — surface
01
PRIMITIVE TOKENS · BRAND-AGNOSTICSpacing, type scale, and radius defined once. Inherited by all brands. Not overridable at the brand layer.
02
SEMANTIC TOKENS · INTENT-BASED'Surface / primary action / critical' rather than 'red / blue / grey.' Brands remap semantics without touching logic.
03
BRAND LAYER · VOICE + COLOR ONLYEach brand controls accent, typography weight, and tone-of-voice copy. Structure, spacing, and flow are locked.
04
SHIP TIME · 40% FASTER ACROSS BRANDSOne checkout feature, built once, themed four ways. Previously: four forks, four bug surfaces, four QA cycles.
THE SYSTEM · 6 SURFACESONE EXPERIENCE · 4 BRANDS
PDP · ELIGIBILITY
01PDP · ELIGIBILITY
CART · PRICING
02CART · PRICING
CHECKOUT · LEGIBILITY
03CHECKOUT · LEGIBILITY
ADDRESS · FRICTION
04ADDRESS · FRICTION
CARD · SUGGESTIONS
05CARD · SUGGESTIONS
BRAND SYSTEM
06BRAND SYSTEM
SURFACES WRITE TO A SHARED TOKEN LAYER
THE SYSTEM · END-TO-END. Six surfaces. Three decisions. Four moves. One checkout experience across four brands.

SECTION 06IMPACT

Measured over two quarters. What moved.

ALL FIGURES: CONTROLLED A/B · PRIMARY ANALYST: GROWTH TEAM · METHODOLOGY NOTED PER METRIC

CHECKOUT CONVERSION+30%VS. BASELINE · Q2–Q3. N = 1.2M SESSIONS. A/B CONTROLLED.
Primary funnel only. Excludes subscription and B2B flows.
CART ABANDONMENT−20 to −30%STAGE-LEVEL · Q2–Q3. N = 840K SESSIONS. A/B CONTROLLED.
Range reflects variance across brands. Largest gain: FromYouFlowers.
USER-VISIBLE ERRORS−15 to −25%FORM + VALIDATION. N = 620K SESSIONS. FRONT-END INSTRUMENTED.
Does not include silent server errors; those measured separately.
OPERATIONAL EFFICIENCY+20 to +25%SHIP TIME + SUPPORT. 2-QUARTER ROLLING. INTERNAL METRICS.
Combines checkout feature ship time and support-ticket volume reduction.
WHAT COMPOUNDED

Secondary signals

SignalLift
Repeat purchase (60-day)+9%
Loyalty enrollment from cart+2.4×
Support tickets re: pricing−41%
Substitution acceptance rate2.1× (among validation-failed users)
Time on checkout steps 2–3−30% median
Cross-brand feature ship time−40%

METHODOLOGY · WHAT THE NUMBERS ARE AND AREN'T

Primary conversion and abandonment figures were measured via controlled A/B tests run by the growth analytics team, not self-reported. Each test ran for a minimum 14-day window to absorb weekly cyclicality. Peak windows (Mother's Day, Valentine's Day) were excluded from the primary reads and measured separately, because user behavior during those windows is sufficiently distinct to require its own baseline.

Ranges (e.g., "−20 to −30%") reflect variance across the four brands. I've reported the range honestly rather than averaging to a single number; the average would have overstated the weakest brand's result and understated the strongest.

Efficiency metrics are internal, not externally audited. Ship time was measured against a pre-consolidation baseline from the two quarters prior to the design system work. Support-ticket volume is pulled from the internal CS dashboard and filtered to checkout-related categories only.

The +30% headline figure represents sustained performance across two full quarters, not a single-week peak.

WHAT THIS SECTION DOESN'T SHOW

    • Revenue figures are withheld under NDA. The conversion lift translates to a material number; I can discuss magnitude in a conversation, not in writing.
    • Two of the four brands have since been restructured or sunset for reasons unrelated to the checkout work. The design system artifacts remain in use by the surviving brands.
    • I did not run the A/B tests myself. The growth analytics team owned measurement; I owned the hypothesis and the design. I've noted this because hiring managers sometimes ask, and I'd rather be clear about it than overclaim.
    • The loyalty enrollment gain (+2.4×) applies to the cart-surface placement specifically. Program-wide enrollment moved by a smaller margin; I'd cite the smaller number if asked which matters more.

SECTION 07POSTMORTEM

CLOSING NOTE

The most durable lesson from this project is that the biggest gains came from structural clarity, not new UI. A pricing strip, a validation posture, a step-labeling contract. None of it would win a Dribbble shot, and all of it moved the business number by compounding. The discipline was reading the system as one surface across four brands and designing the coherence, not the decoration.

The reframe, that the checkout was a symptom and not the problem, is the move I'd repeat on any similar engagement. Expanding scope against stakeholder expectation is a different kind of design work than shipping pixels, and it turned out to be the work that mattered most here.

Looking forward, there are two things I'd push on earlier next time: tying peak-mode escalation to real network capacity rather than calendar dates, and designing subscription and multi-recipient flows into the foundation rather than bolting them on later. Both were visible in spec. Both got descoped under pressure. Holding a scope boundary under that kind of pressure is a skill I left this project better at than I started with.

I'm proud of the +30% lift. I'm prouder of the judgment calls underneath it.

ManiyarasiFTD Checkout · 2023–2025
CASE 01 · END