DIALED
Back to the case study

Shopify Apps & Setup 45 of 65

Zipify OCU (One Click Upsell)

What it does

Post-purchase upsell funnels. After the customer pays, they get one or two upsell offers they can accept with a single click — no re-entering payment info, no second checkout flow. The friction is so low that take rates of 25-35% are standard.

This is the easiest free money in DTC. Every operator should be running OCU from day one on every brand they launch.

App install — skip this

The install + initial config inside Zipify OCU is "click through everything one by one." Follow the in-app setup. That's not the sauce. The sauce is the offer configuration. That's what this sub-page covers.

The first funnel setup

  • Post-purchase, any product trigger — start broad
  • Upsell offer: same product as the one they just bought
  • Especially if you're testing multiple products at launch, keep the funnel basic and let it run

When you graduate to multiple SKUs on a single brand, duplicate the funnel and rename per product to split test different upsell combinations. For starting out, one funnel covering all products is fine.

Display offer settings (the actual config)

The settings I run on every upsell offer:

FieldValueNotes
Time limit on upsell productNoneI haven't seen meaningful difference from time limits in testing
VariantSame variant or random productSame is the cleaner default
Pricing directionMost expensivePush the AOV up
Image sizeMedium (not mobile, not large)Reads cleanly across devices
Image positionDefaultDoesn't move the needle when changed
Badge colorGreenZipify just updated the badge styling — green still performs
Display offer / boldenOnI'm still testing this and haven't seen major differences, but I run it on by default

The price logic (this is the sauce)

This is where most operators get it wrong and leave 60-80% of OCU revenue on the table.

The math:

  1. Set the upsell to 100% discount (the product appears "free")
  2. Capture margin via the shipping charge
  3. Calculate your per-unit margin based on bundle context:
    • Buying a single product → use two-piece margin (the original + the upsell)
    • Buying a buy-2-get-1-free bundle → use four-piece margin (the bundle + the upsell)
  4. Add ~$4-5 over actual unit cost as the upsell price
ScenarioUpsell priceWhy
Unit costs ~$8 fully landed$12.50 with shippingAdds ~$4-5 margin, boosts AOV cleanly
Unit costs ~$10 fully landed$15 with shippingDefault starting point
Higher-COGS productCalculate per-unit, add $4-5Same formula

$15 is my default starting price when I don't have time to calculate. If you've done the margin math, $12.50 is the sweet spot for most supplement brands.

Shipping rate title (don't sleep on this)

Customers see the shipping rate title on the upsell offer. If you label it "Upsell Shipping" or anything that screams ad-tech, customers get suspicious and conversion tanks.

Use clean, normal-sounding copy: "Standard Shipping", "Express Shipping", whatever fits your store's regular labels. The shipping line should read like a legitimate part of the transaction, not a marketing trick.

Upsell 2 — the second offer

After the customer accepts or declines Upsell 1, Upsell 2 fires. Same exact setup as Upsell 1, just a different price point and offer angle.

Always run both Upsell 1 AND Upsell 2. The second offer catches customers who declined the first and can recover meaningful additional revenue from the same traffic.

Decline offer (the recovery mechanic)

If they decline Upsell 1, the Decline Offer fires before they hit the thank-you page. Same product, same setup, but at a cheaper price point.

If Upsell 1 isSet Decline Offer to
$15$12-13
$12.50$12
$10$9

Don't go dramatically lower — customers see the price drop and feel they're getting a "second chance" deal. That's enough psychological lift to convert a chunk of the decliners.

The decline offer headline I run is borderline dumb. It works. (Gatekept inside the masterclass — see below.)

The split test sequence

The order to optimize in. Do them ONE AT A TIME, not all at once — you need clean signal:

OrderWhat you split testGoal
1Upsell 1 — price pointFind the price that hits 25%+ conversion
2Upsell 1 — headlineTest 3-5 headline variations against the winning price
3Upsell 2 — price pointSame sequence as Upsell 1
4Upsell 2 — headlineTest against the winning price
5Decline Offer — bothOptimize price + headline together

Don't try to optimize all stages in parallel. You'll have no clean signal on what's actually working.

Headline ideas that work in testing:

  • "Congrats — you're the 100th customer. Here's an exclusive discount."
  • "Limited time — add this to your order for [price]."
  • "Customers who bought X also added Y. Don't miss it."

Cross-reference Module 4 → How To Properly Run Split Tests for the broader split testing discipline.

KPI hierarchy

KPITargetWhy
Revenue per visitorHighest priorityThe only metric that captures price + conversion together
Conversion rate (Upsell 1)>25% minimum, >30-35% idealBelow 25% = the offer or copy is broken
AOV liftTrack but don't optimize onOutput of the above two

Revenue per visitor is the only KPI that matters at the end of the day. A 40% conversion rate on a $5 upsell loses to a 25% conversion rate on a $15 upsell. Always optimize on revenue per visitor.

Scaling with multiple SKUs

Once you're running 2+ products as a brand:

  1. Duplicate the base funnel
  2. Rename per product ("OCU - Cocoa", "OCU - Joint Support", etc.)
  3. Set product-specific triggers so each funnel fires for the right base purchase
  4. Test different upsell combos — sometimes upselling a complementary product converts better than upselling the same product

Don't add multi-product complexity until you've validated the base single-product funnel.

The pre-publish checklist

Before you hit Publish:

  • Funnel set to post-purchase trigger
  • Upsell 1 + Upsell 2 + Decline Offer all configured
  • Price points calculated against actual COGS
  • Shipping rate title is not suspicious
  • Image, badge, headline all set
  • Checkout settings and back end configured — OCU requires Shopify checkout to be set up properly to fire. Verify this before going live.

Once published, the funnel runs identically regardless of product. Same setup works on every brand you launch.

Cross-references

  • Kaching Bundles (sibling sub-page) — the bundle math that informs OCU pricing (your "two-piece" vs "four-piece" margin calculation comes from how your Kaching offer is structured)
  • Module 4 → How To Properly Run Split Tests — the split testing discipline applied to OCU price + headline optimization
  • Module 6 → Winning Product — Next Steps — when to move to custom packaging that improves OCU margins through better unit economics
  • Module 9 → Direct Response (when shipped) — pricing psychology and offer architecture that informs the upsell ladder

What's gatekept inside the masterclass

  • Full Zipify OCU setup walkthrough video — every field configured live on a real funnel
  • The exact Decline Offer headline I run — the "looks dumb, works every time" copy
  • The live split test workflow demonstrated — running price + headline + decline-offer optimization on a real funnel
  • The price point math walked through on a real product — calculating two-piece margin, four-piece margin, and the $4-5 add-on rule live
  • The multi-SKU duplication setup — when to graduate, how to rename, how to split test combos across products

Want the full setup walkthrough, the exact decline offer headline, the live split test workflow, the price point math demo, and the multi-SKU duplication setup? All inside the RunItUp Masterclass → Join here

Join now to lock in your rate, prices are increasing quickly.