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:
| Field | Value | Notes |
|---|---|---|
| Time limit on upsell product | None | I haven't seen meaningful difference from time limits in testing |
| Variant | Same variant or random product | Same is the cleaner default |
| Pricing direction | Most expensive | Push the AOV up |
| Image size | Medium (not mobile, not large) | Reads cleanly across devices |
| Image position | Default | Doesn't move the needle when changed |
| Badge color | Green | Zipify just updated the badge styling — green still performs |
| Display offer / bolden | On | I'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:
- Set the upsell to 100% discount (the product appears "free")
- Capture margin via the shipping charge
- 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)
- Add ~$4-5 over actual unit cost as the upsell price
| Scenario | Upsell price | Why |
|---|---|---|
| Unit costs ~$8 fully landed | $12.50 with shipping | Adds ~$4-5 margin, boosts AOV cleanly |
| Unit costs ~$10 fully landed | $15 with shipping | Default starting point |
| Higher-COGS product | Calculate per-unit, add $4-5 | Same 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 is | Set 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:
| Order | What you split test | Goal |
|---|---|---|
| 1 | Upsell 1 — price point | Find the price that hits 25%+ conversion |
| 2 | Upsell 1 — headline | Test 3-5 headline variations against the winning price |
| 3 | Upsell 2 — price point | Same sequence as Upsell 1 |
| 4 | Upsell 2 — headline | Test against the winning price |
| 5 | Decline Offer — both | Optimize 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
| KPI | Target | Why |
|---|---|---|
| Revenue per visitor | Highest priority | The only metric that captures price + conversion together |
| Conversion rate (Upsell 1) | >25% minimum, >30-35% ideal | Below 25% = the offer or copy is broken |
| AOV lift | Track but don't optimize on | Output 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:
- Duplicate the base funnel
- Rename per product ("OCU - Cocoa", "OCU - Joint Support", etc.)
- Set product-specific triggers so each funnel fires for the right base purchase
- 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.