One pillow store, one clear lever
72.3% of SnugWell orders contain a single item, and one product, the Therapeutic Pillow, is in 84.6% of them. The growth lever is the 1-to-2-pillow transition, and Kaching Bundles already proves customers respond to it. Three Upnova offers are built and parked inactive. Nothing is live.
Sitewide offer check: the 50% off is the price, not a promo
The storefront runs a permanent "Spring Sale 50% Off + Free Delivery" announcement bar, but the mechanics live in compare-at pricing: the pillow sells at A$64.95 against a A$129.90 compare-at on every variant. There is no sitewide discount code to replace or stack against. The email capture ("Enter your email and get 10% OFF") is a list incentive, not a sitewide offer. Verdict: Upnova offers compete on top of the marked-down prices above, and no replacement decision is needed.
Existing deals inventory
Kaching Bundles is live and doing real volume. Quantity-break deals per SKU, read from the live storefront config:
| SKU family | Tiers live | Evidence it works |
|---|---|---|
| Therapeutic Pillow | 2 for 15% off, 3 for 20% off, each with a free gift | 430 orders used the "2 Pillows" discount in 90 days |
| Massager | 2 for 10% off, with a free gift | 268 orders used the "1 Massager" discount |
| Cushion | 2 for 10% off, 3 for 20% off | 7 orders used "2 Cushions" |
| Belt | 2 for 10% off, 3 for 20% off | Small: 1 order |
| Bamboo Align Pillow | 2 for 10% off, 4 for 20% off | 2 orders |
| Eye Mask | 2 at a set price, 3 at a set price plus a free gift | 2 orders |
| Sciatica ebook | Attached free to pillow and massager deals | 717 orders carried it at A$0.08 net |
Upnova state on the store: the cart drawer (cart-winston) is already installed and heavily styled to the brand, and one automatic product-recommendation widget (bottom of cart, flow 9873) is active from an earlier session. All three earlier offers were switched off before this analysis.
Order size decides the offer type
Counting actual items per order across 2,865 sampled orders (83.4% of all orders, two date windows): 2,071 contain one item. The store is Case A, which points to Buy X Get Y as the lead play.
Items per order, 2,865 sampled orders
Order value distribution, 3,210 sampled orders
X is unambiguous: the Therapeutic Pillow
Chosen by order count, not revenue. The pillow appears in 2,423 of 2,865 sampled orders; the next real product (the massager) appears in 252. And 16.0% of pillow orders already contain two or more pillows, driven by the Kaching 2-for-15% deal. That 16% is the free-rider floor any second-pillow offer inherits.
What else is in the cart on pillow orders
Discount inventory and stacking
Discount usage over the last 90 days, from ShopifyQL:
Discount usage by title, 90 days
| Discount | Status | Combines with product discounts |
|---|---|---|
| WELCOME10 (code, 10% off) | Active, no end date | Yes: product-discount combination is enabled, so it stacks with Upnova BXGY |
| Kaching quantity breaks (2 Pillows, 1 Massager, etc.) | Active, automatic | Price-rule style discounts; stacking with an Upnova BXGY on the same units must be tested before both run |
No popular code blocks product-discount combination, so nothing needs to be reconfigured before Upnova offers go live. The one real stacking risk is Kaching's own "2 Pillows 15%" bar versus the Upnova second-pillow offer, covered in the verdict below.
Brand style detection
Read from the live DOM, not theme CSS guesses: product titles render in Figtree (computed style on the pillow PDP h1), the buy button is #2488ea, and the theme's radius tokens are 14px on buttons and inputs, which is a rounded aesthetic. The installed cart-winston template is the correct rounded variant, the brand color is already stored in cart settings, and the merchant's custom CSS already pulls Figtree into widget titles. No style changes are needed.
The offers, built and parked
Status: all three offers are inactive and the PDP widget is draft. Nothing is live. Review links are in Upnova admin under each offer.
Offer 1: Buy X Get Y, 20% off a 2nd pillow (offer 3020, widget 9876)
| Buy (X) | 1 SnugWell Therapeutic Pillow, all 4 colourways (Navy, Pink, Gray, Blue), A$64.95 |
| Get (Y) | 20% off any 1 additional pillow, all 4 colourways. Two pillows land at A$116.91 versus A$129.90. |
| Discount | 20% percentage off the Y item. Cost per converted pair is A$12.99 of give-back versus Kaching's A$19.49 for 15% off both. |
| Widget | Product page upsell on the pillow page (the PDP that carries 84.6% of orders), headline: "20% off a 2nd pillow" |
| State | Offer 3020 inactive, widget 9876 draft, linked |
| Reach | 84.6% of shoppers: the offer renders on the pillow product page, which 2,423 of 2,865 sampled orders touched |
| Free-rider | 16.0%: the share of pillow orders that already buy two or more pillows today, under the Kaching deal |
Interactive preview, cart surface (draft offer, real products)
Offer 2: Free Eye Mask over A$95 (offer 2338)
| Threshold | A$95. A single-pillow order (A$64.95) crosses it by adding one pillow cover (A$32.95): A$97.90 |
| Gift | SnugWell Therapeutic Eye Mask, A$22.95, 3.5% of the threshold, the cheapest real gift SKU that is not already given away free by Kaching |
| State | Offer 2338 inactive |
| Reach | Cart drawer surface: the progress bar renders for every cart session |
| Free-rider | 25.2% of orders already sit at A$95 or above and would claim the gift anyway; 74.8% get the nudge to add more. Under the 30% gate. |
| Preview | No interactive preview surface exists yet for the free-gift offer type (tooling gap, not a store problem). Config above is verbatim from the created offer. |
Offer 3: Recovery Kit bundle builder (offer 1794)
| Pick pool | 8 products: pillow, massager, cushion, belt, eye mask, power bank, pillow cover, bamboo align pillow |
| Tiers | Buy 2, save 10%; Buy 3, save 15%. Headline: "Build Your Recovery Kit & Save 15%" |
| State | Offer 1794 inactive |
| Blocker | The bundle builder page template does not exist in the Shopify theme yet. Upnova flags this at creation; the theme template must be added before this offer can go live. |
| Overlap | Partially duplicates Kaching volume breaks on the same SKUs. Activate one system per SKU family, not both. |
Not built: Order Volume
A A$150 tier would qualify 10.8% of orders. Kept out of the standing stack, campaign use only, to avoid training customers to wait for discounts.
The one decision this analysis cannot make for you
The Kaching "2 Pillows 15%" deal already sells two pillows at A$110.42, which is a better customer price than the Upnova draft's A$116.91, though it costs the merchant more per conversion (A$19.49 versus A$12.99 of discount). Three ways to resolve it:
Decision chart, confirmed tier
What ships next
- Your call on the Kaching pillow overlap (replace, outbid, or coexist).
- Activate offers briefly, verify rendering and discount logic in a real cart, deactivate immediately.
- Merchant go-ahead, then activate for real. Store traffic is about 1,400 sessions a day at a 3.7% conversion rate, so signals arrive within days.
Sources and method
Order data: ShopifyQL sales dataset via the Upnova merchant MCP for shop krqjui-nb.myshopify.com, Aug 5 to Nov 3, 2026. AOV: native average_order_value with Online Store channel and excludes_post_order_adjustments filters. Items-per-order and co-purchase: sales grouped by order name and product title in two windows (2,865 of 3,436 orders captured; proportions stable across windows). Order values: gross sales plus discounts per order, 3,210 rows. Store prices: AU-market storefront JSON (the shop's primary market, AUD). Brand style: computed style from the live pillow PDP (Figtree titles, #2488ea buttons, 14px radii). Kaching config: window.__kachingCartBundlesDeals from the live storefront. Reach is the share of SHOPPERS the offer is EXPOSED to (widget placement times how many orders touch that surface), independent of how many qualify. Free-rider is the share of qualifying orders that would trigger anyway.