Klaviyo Abandoned Fitting Room Flows: Convert High-Intent Try-Ons Into Revenue
For Shopify brands on Style Swap AI, every 'Tried On Product' event is a high-intent fitting room session with purchase intent. This playbook wires that signal into Klaviyo 1-hour, 24-hour, and 72-hour flows that recover abandoned try-ons—without storing a single shopper selfie.
Customize `StyleSwapTryOn.tsx` Property Controls & Preview Live on a Framer Canvas
From Casual Mirror Selfies to 10-Second Dubai Luxury Lookbook Reels
Cast across a cosmopolitan UAE lineup (Emirati/Arab, Afro-Arab, South Asian, Mediterranean & East Asian models) with automatic modest-luxury restyling, 100mm macro fabric close-ups, and Sweet Pants SS25–inspired 3×3 Editorial Bento Lookbook Grids.
Dusty Slate-Blue Brushed Mohair Cardigan & Ivory Palazzo Trousers
Restyled from a cropped mirror selfie into a full-length Dubai modest-luxury studio look with mother-of-pearl buttons & lettuce-edge cuffs.



Executive Summary: From Fitting Room Sessions to Recovered Revenue
Style Swap AI's server-side 'Tried On Product' event gives Klaviyo a privacy-safe, high-intent trigger that legacy try-on widgets cannot match. This playbook covers event capture, identity resolution, 1h/24h/72h flow architecture, and orders/paid webhook attribution—so every fitting room session becomes measurable, recoverable revenue.
- Fire 'Tried On Product' server-side with privacyZeroPhotoStorage on by default: EXIF-stripped, max-1400px images processed in volatile TLS 1.3 RAM—safe for GDPR, UAE PDPL, and Saudi PDPL.
- Resolve identity first: Klaviyo only emails identified profiles, so pair the event with onsite signup forms, account login, or checkout email capture before the 1-hour window closes.
- Build the 1-hour email directly from the event payload—product_handle, atmosphere, model_preset, complete_look—with a 1-click multi-SKU /cart/add.js bundle CTA.
- Close the loop with the Shopify orders/paid webhook for revenue and AOV attribution; Klaviyo sync requires the Runway plan ($49.99/mo, 350 try-ons included, $0.14 overage).
Style Swap AI vs. Legacy Try-On Widgets & Static Lookbooks for Klaviyo Retention
| Requirement | Style Swap AI (`seed-try-on`) | Legacy virtual try-on apps (selfie storage, no Klaviyo event) | Static lookbook / manual PDP imagery |
|---|---|---|---|
| Server-side 'Tried On Product' Klaviyo event with product/variant context | ✓ Fires on every try-on with product_handle, variant_id, atmosphere, model_preset, and complete_look | ✕ Pixel-only pageviews; no server-side behavioral event to trigger flows | ✕ No event or session signal—static PDP imagery only |
| Zero-photo storage privacy for GDPR/UAE PDPL/Saudi PDPL | ✓ Client-side EXIF stripping, 1400px compression, TLS 1.3 volatile RAM only—nothing in Shopify Admin | ✕ Stores selfies in merchant DB or admin-visible media | No selfie processing, but no personalization either |
| 3-piece Complete the Look multi-SKU bundle checkout | ✓ Layers top+bottom+outerwear via custom.pair_with metafields into a 1-click /cart/add.js bundle | ✕ Single-garment try-on only; no outfit cross-sell | Static cross-sell grids with no try-on context |
| Modest Studio Models & Arabic RTL UI | ✓ Built-in modest presets + dir="rtl" localization validated on UAE/GCC catalogs | ✕ Western-only models; no RTL localization | Generic lookbook photography; no model personalization |
| 5 Atmosphere & Lighting Remixes for email creative | ✓ Studio Editorial, Golden Hour, Evening Lounge, Parisian Street, Desert Resort for dynamic content blocks | ✕ Single background or none | Fixed studio shots only |
| Klaviyo Lead Sync & Closed-Loop ROI Attribution | ✓ Runway plan ($49.99/mo) unlocks the Klaviyo event + orders/paid webhook revenue & AOV attribution | ✕ No native Klaviyo integration; manual CSV export | No attribution or lead sync |
Capture High-Intent 'Tried On Product' Events in Klaviyo
Style Swap AI emits a server-side 'Tried On Product' Klaviyo event on every completed try-on—no selfie ever persisted. On Shopify Online Store 2.0 the Theme App Extension fires it automatically; on Hydrogen/Next.js headless builds, the signed App Proxy route /apps/try-on/* forwards the same payload, and custom DOM events (seed-try-on:open, seed-try-on:add-to-cart, seed-try-on:complete-look-add) let you enrich it with multi-garment context.
- Upgrade to Runway ($49.99/mo, 350 included try-ons, $0.14 overage) to unlock Klaviyo sync, full embed, and dev events; verify the metric under Klaviyo → Analytics → Metrics as 'Tried On Product'. The 7-day trial (up to 50 credits) is enough to validate end-to-end.
- Event properties include product_handle, variant_id, try_on_mode (Quick 1K / Studio 2K), atmosphere, model_preset, complete_look array, and session_ts—use them for flow filters, conditional splits, and dynamic template variables like {{ event.product_handle }}.
- Identity resolution is mandatory: Klaviyo emails only identified profiles. Capture email via a Klaviyo form, account login, or checkout at or before try-on; anonymous events still attach to the profile once the shopper is identified.
- Headless: listen for seed-try-on:complete-look-add and POST the payload to Klaviyo's server-side Events API; keep privacyZeroPhotoStorage: true so images stay in volatile RAM with client-side EXIF stripping and max 1400px compression.
- Preview the shopper experience in the zero-install sandbox at https://seed-try-on.fly.dev/demo (~8–12s per try-on) before wiring the flow to production.
{
"event": "Tried On Product",
"customer_properties": { "$email": "shopper@example.com" },
"properties": {
"product_handle": "bouguessa-inspired-abaya",
"variant_id": 44223355601178,
"try_on_mode": "Studio",
"atmosphere": "Desert Resort",
"model_preset": "modest-hijab",
"complete_look": ["abaya", "wide-leg-trousers", "silk-hijab"],
"source": "style-swap-ai",
"session_ts": "2026-11-04T14:23:00Z"
}
}Automate the 1-Hour Personalized Fitting Room Follow-Up
The first hour is the highest-converting window—the shopper still remembers the try-on image. Build a metric-triggered flow on 'Tried On Product' with a 1-hour delay, suppress recent purchasers, and rebuild the fitting room in the inbox using the event payload.
- Trigger: metric 'Tried On Product' → 1-hour time delay. Flow filter: skip profiles with a Placed Order event since triggering the flow; disable Smart Sending on this touchpoint so it is never suppressed.
- Subject line from payload: 'Your {{ event.atmosphere }} try-on is waiting' or 'Still thinking it over, {{ first_name|default:'there' }}?'—preview text references the product title and try-on mode.
- Hero image: reuse the try-on output or a modest studio model preset render—zero-photo storage means model_preset imagery is safe to feature in email creative.
- Merchandising: pull custom.pair_with metafields (or the Shopify Product Recommendations API) to assemble the 3-piece Complete the Look; the CTA is a 1-click bundle—POST an items[] array to /cart/add.js or use a cart permalink like /cart/44223355601178:1,44223355601179:1.
- Tag every link with UTM parameters (utm_source=klaviyo&utm_medium=email&utm_campaign=abandoned_fitting_room_1h) so orders/paid attribution ties back to this exact flow step.

Layer 24-Hour Social Proof and 72-Hour Urgency Flows
If the 1-hour email does not convert, two more touchpoints keep the session alive without asking for a new selfie—each references the original try-on context already stored on the Klaviyo profile.
- 24h 'Complete the Look' email: feature the 9:16 Social Story Card (1080×1920, client-side HTML5 canvas) with WhatsApp/Instagram share buttons via the Web Share API—turning the shopper into a distribution channel.
- 24h social proof block: pair the tried-on garment with reviews, UGC, or 'styled with' recommendations drawn from the complete_look array; for GCC catalogs render in Arabic with dir="rtl" and the modest-hijab preset.
- 72h urgency with conditional splits: if atmosphere is 'Golden Hour' or the category is outerwear/abaya, show low-stock or price-drop messaging; otherwise send a styling-tips angle ('5 ways to wear it') to avoid discount fatigue.
- Cadence guardrails: exit the flow on Placed Order at any step, cap the series at 3 touches, and suppress profiles already inside an active cart-abandonment flow to prevent double messaging.
- Persist the event on the profile for lifetime segmentation—build segments like '3+ try-ons, no order in 30 days' for win-back and VIP early-access campaigns.
Measure Closed-Loop ROI and Optimize Flow Cadence
Style Swap AI's Shopify orders/paid webhook closes the loop between try-on sessions and revenue. Map order events back to the original 'Tried On Product' payload to prove AOV uplift, conversion lift, and revenue per recipient for every flow step.
- Send a Klaviyo order event from the orders/paid webhook with $value, tried_on_product_handle, and try_on_session_ts so revenue attributes to the exact fitting room session.
- Compare try-on vs. non-try-on cohorts: track AOV uplift (benchmark Complete the Look bundles against a +18–30% target), conversion rate, and time-to-purchase from event to order.
- Flow health targets: open rate >55%, click rate >8%, revenue per recipient >$0.50; if the 1-hour email underperforms, A/B test subject lines that lead with atmosphere vs. product name.
- Real-time lever: listen for seed-try-on:add-to-cart—if the shopper adds from the try-on but abandons checkout, branch them into your standard cart-abandonment flow and suppress the 24h/72h fitting room touches.
- Scale the plan with volume: Trend $19.99/mo (100 try-ons, $0.16 overage) → Runway $49.99/mo (350, $0.14, Klaviyo sync) → Unlimited Fashion $199.99/mo (2,000, $0.10, Priority 2K generation + dedicated CSM).
Common Founder & Technical Questions: Klaviyo Fitting Room Flows
Does the 'Tried On Product' event require storing customer selfies?
No. Style Swap AI runs with privacyZeroPhotoStorage: true by default, which strips EXIF data client-side, compresses images to max 1400px, and processes entirely in volatile RAM over TLS 1.3. No shopper selfie is ever written to the merchant database or visible in Shopify Admin—built for GDPR, UAE PDPL, and Saudi PDPL compliance.
Which Style Swap AI plan do I need for Klaviyo sync?
The Runway plan at $49.99/month (350 included try-ons, $0.14 overage) unlocks Klaviyo lead sync, full embed, and developer events. Every plan starts with a 7-day free trial including up to 50 try-on credits—enough to test the 'Tried On Product' event end-to-end before committing.
How do I create a 3-piece Complete the Look bundle link in Klaviyo?
Use custom.pair_with metafields or the Shopify Product Recommendations API to pick the top, bottom, and outerwear variants, then build a 1-click bundle: POST an items[] array to /cart/add.js from your landing page, or use a cart permalink such as /cart/variant1:1,variant2:1,variant3:1. The complete_look property on the 'Tried On Product' event already carries the recommended variant IDs, so you can template the URL dynamically in Klaviyo.
Can Klaviyo email anonymous try-on sessions?
No—Klaviyo flows require an identified profile. Capture email with a Klaviyo signup form, account login, or checkout; Style Swap AI's Klaviyo Lead Sync attaches the try-on event to the profile as soon as the shopper is identified, so the 1h/24h/72h flows can still fire inside the recovery window.
Can I use this with headless Hydrogen/Next.js storefronts?
Yes. Style Swap AI exposes a signed Shopify App Proxy route at /apps/try-on/* plus custom DOM events (seed-try-on:open, seed-try-on:add-to-cart, seed-try-on:complete-look-add). Listen for these in your headless frontend and forward the payload to Klaviyo's server-side Events API—the same abandoned fitting room flows trigger exactly as on Online Store 2.0.
How do I measure ROI from abandoned fitting room flows?
Send a Klaviyo order event from the Shopify orders/paid webhook with $value and the tried_on_product_handle property, then compare AOV, conversion rate, and revenue per recipient between profiles that triggered 'Tried On Product' and a control cohort that did not. Attribute at the flow level using the UTM parameters on every CTA.





