How to Run a Shopify One Click Upsell Without Plus

Aurora Zhibaj

Written by Aurora Zhibaj

Solution Architect

How to Run a Shopify One Click Upsell Without Plus

A one-click upsell appears after payment is authorized and lets the buyer add a product without re-entering card details.It runs on the post-purchase page and works on every Shopify plan above Starter.

Plus is only required for offers inside checkout itself. Merchants confuse the two and upgrade for something they already have.

TL;DR

  • The post-purchase page is available on every Shopify plan above Starter through an app. In-checkout upsells are the Plus-only feature.

  • Payment method decides who sees the offer. Apple Pay, Google Pay, Amazon Pay and installment plans never show it

  • Three operational costs come with it: a fulfillment hold, partially paid orders, and understated ad reporting.

Which upsell placements are one-click?

The test is whether the buyer re-enters payment details. If they do, the offer is a second checkout with a second chance to abandon.

Placement

Plans

Charges a saved card

Effect on the order

Product page, cart drawer

All

No

Adds a line before checkout starts

Inside checkout (information, shipping, payment)

Plus only

No

Adds a line before payment

Post-purchase page, after payment and before Thank you

All

Yes

Edits the original order and charges the vaulted card

Thank you page

All

No

Can add to the order through an app, but payment is collected separately through a new checkout or a payment request

Order status page

All

No

Adds to the order through order editing, which sends the buyer a payment request

Only one step in the Shopify checkout flow can charge a saved card without a second checkout.

Shopify's developer docs restrict pre-purchase offers to Plus. Post-purchase extensions run on every plan except Starter, so these apps install on Basic stores. A custom-built extension is the exception. Shopify has to grant access before it runs live, which published apps already hold.

What Shopify Plus actually changes

Capability

Basic, Grow, Advanced

Plus

Product page and cart upsells

Yes

Yes

Post-purchase offer page, charges the saved card

Yes, through an app

Yes

Thank you page and Order status page extensions

Yes

Yes

Upsell rendered inside the checkout steps

No

Yes

Checkout styling beyond the admin settings

No

Yes

Custom fields or custom logic in checkout

No

Yes

Shopify Functions from a public App Store app

Yes

Yes

Shopify Functions in your own custom app

No

Yes

Custom post-purchase extension on a live store

Access request required

Access request required

Shopify Starter is excluded from all of the above. Post-purchase, Thank you page and Order status page extensions all need a plan above Starter.

The Thank you page is useful for account creation, referrals and review prompts, just not for one-click sales.

It is also where the naming gets confusing. In the checkout editor, the Thank you page sits under a heading marked Post purchase, which is not the post-purchase offer page and cannot charge a saved card. The offer page has no entry in that menu at all, because it belongs to whichever app you have selected in checkout settings.

Shopify theme editor showing how to select and edit the Thank you page in the checkout drag and drop editor

What the editor does give you is drag and drop block editing, open to every plan above Starter, with blocks published by third-party apps.

Shopify thank you page editor adding third party blocks like Yotpo, Pandectes GDPR, and digital download apps

None of those blocks charges a stored card. Everything before payment is a different set of problems.

What stops the offer from showing

The offer needs a card or billing agreement vaulted by Shopify during checkout. Payment method is the biggest filter. It is not the only one.

Condition on the order

Offer displays

Credit card through Shopify Payments or a direct third-party gateway

Yes

Shop Pay

Yes in most cases. Shop Pay Installments, no

PayPal Express

Yes, but only if PayPal has approved Reference Transactions

Apple Pay, Google Pay, Amazon Pay

No

Klarna, Affirm, Afterpay and other installment services

No

Paid entirely by gift card, cash on delivery, or another manual method

No

Offsite gateways that redirect away from Shopify checkout

No

Gateways that require a CVV on every transaction

No

Order total under $0.50

No

Order includes duties, or the buyer paid in a non-default currency

No

Local delivery orders

No

Order placed outside the Online Store sales channel

No

Very high store load, such as a flash sale or BFCM peak

Not reliably. Shopify can delay order creation and skip the page

No shipping address, from digital goods or local pickup

Yes, but a subscription can't be added

Order already contains a subscription product

Yes, one-time items only

Shopify's developer docs and help center disagree on Shop Pay and subscription orders. The table follows the developer docs, as app vendors do. Place one live order of each to confirm how your store behaves.

How to check your PayPal Reference Transactions status

PayPal Express needs Reference Transactions approved, which Shopify requests automatically once you select a post-purchase app. 

Until the approval lands, PayPal still shows up as a payment option at checkout and the offers never render, with no error anywhere. If you also sell subscriptions, the same missing approval removes PayPal from checkout entirely on subscription orders, so a store running both loses PayPal sales while it waits, not just offers.

Pending means PayPal has the request and has not ruled on it.
App vendors put the usual turnaround at a few business days. Declined is outside Shopify's control, so you contact PayPal directly and ask why Reference Transactions were refused. A newer account or a chargeback history is the common reason.

Check the status in Settings > Payments, click Manage on PayPal, and look at Automatic Payments for Approved, Pending or Declined. A declined account produces a banner stating that customers can't use PayPal Express Checkout for subscriptions, deferred purchase options or post-purchase offers.

Even once approved, PayPal allows only one post-purchase charge per order, so a buyer who accepts the first offer won't see a second.

How to check your own payment method mix

Open Analytics > Reports, filter to Finances, and look at the payment breakdown in the summary. Add up Apple Pay, Google Pay, Amazon Pay, every installment plan and every offsite method in that list.

How to set up a post-purchase upsell

If most of your orders come through wallets or installment plans, the operational costs below may outweigh what the offer earns.

Which upsell app to install on Shopify

Only one post-purchase app can be active at a time, so testing several means switching between them. Every app below runs on the same Shopify extension and has the same platform limits.

App

Best suited to

App Market Rating

Free plan

Built for Shopify

Aftersell

Post-purchase, Thank you page and (on Plus) checkout offers in one app

4.8 (1,055)

Development stores only

Yes

ReConvert

Deep thank you page customization alongside the post-purchase offer

4.8 (3,092)

Yes

No

One Click Upsell, Zipify OCU

Building and A/B testing multi-step offer funnels

4.6 (564)

Yes

Yes

Upsell & Cross Sell, Selleasy

Smaller stores wanting product page and cart offers with post-purchase attached

4.9 (2,715)

Free to install

Yes

AOV.ai Post Purchase Upsell

Post-purchase only, with clear documentation of Shopify's limits

4.9 (162)

Yes

Yes

UpsellPlus

Stores that also sell through POS and want one app across cart, checkout and post-purchase

5.0 (143)

Yes

Yes

One click upsell Setup steps

  1. Install one app. 

  2. Build the offer. Choose the product, set a discount if it needs one, and add a downsell that loads if the buyer declines.

  3. Set the targeting rules. At minimum, exclude the product they just bought. Most apps let you trigger different offers by cart contents or order value.

  4. Activate it in the admin. Go to Settings > Checkout, find Post-purchase page, select your app and save. The section only appears once you've finished configuring the app itself.

  5. Confirm PayPal Reference Transactions are approved.

  6. Place a real test order. Use your online store, pay by credit card, keep it above $0.50, and run it twice so you see both the accept and the decline path.

Draft orders and other sales channels never show the offer, so testing there proves nothing.

Operational side effects

Three things change in your operations once the offer is live.

1. The fulfillment hold

Shopify holds fulfillment on every order that enters the post-purchase flow. The hold lifts as soon as the buyer accepts or declines every offer, or one hour after checkout if they abandon the page.

  • Holds only work through the Fulfillment Order API. A 3PL on the legacy order-based API sees a fulfillable quantity of zero and can fail the fulfillment.

  • The Order Created webhook fires during the hold, so an ERP or OMS listening to it gets the pre-upsell order and has to pick up the edit later.

  • Print-on-demand and auto-fulfillment apps that act on that webhook can lock the order before the upsell arrives, which turns every accepted offer into a manual edit.

  • Digital products are hit the hardest. A download link gated behind fulfillment can go unsent for up to an hour when a buyer closes the tab, which generates support tickets on orders that went perfectly well. Check whether your app lets you shorten the hold or release it early.

Ask your warehouse or integration partner which API they read before you switch the offer on. Some fulfillment services. don't support fulfillment holds at all.

Shopify thank you page with a Download Files Now button for digital files, order total USD $104.00Thank you page example for digital products

2. Partially paid orders

If the second charge declines, the product is still added to the order and the order lands in Partially paid.

  • Shopify emails the buyer a link to complete payment, though not if they checked out with a phone number and no email.

  • Manual capture produces the same status for a different reason, since both the original payment and the upsell have to be captured by hand before the order reads as Paid.

  • Removing the unpaid item through order editing is logged as a return in your analytics, and it won't clear any unpaid shipping the item added.

  • Some apps remove the unpaid item automatically after about an hour. Check whether yours does before assigning someone to watch the queue.

The buyer's side of an unpaid balance. The items sit on the order and Shopify collects the difference through a Pay now link

3. Undercounted conversions

Tools built on Shopify's pixel report the original purchase value. The checkout_completed event fires at authorization, before the upsell exists, and the order edit doesn't fire a second event. Meta and GA4 keep the lower number and bid on it

Some post-purchase apps also reload the confirmation page, which can reset the session and drop the UTM parameters before Shopify writes them to the order.

The upsell line item is on the order. GA4 still holds the authorized total.

Find out how big the gap is before you fix anything. Divide accepted-offer revenue from your app's dashboard by total sales in Analytics > Reports for the same dates and time zone. That percentage is what your ad platforms are missing

A small gap only needs order-level reporting. A gap big enough to change how campaigns rank needs a server-side event that fires after the order edit lands. 

What to offer and at what price

The buyer has already decided. Offers that build on that decision get accepted, and offers that reopen it don't.

  • Start from your own data. Analytics > Reports > Products purchased together shows which pairs your buyers already build themselves. Offer the strongest pairing with your best seller first.

  • Complement, not upgrade. A bigger version of what they just bought reads as a hint they chose wrong. Consumables are the exception, where a second unit at a small discount performs well.

  • Cap the price. Keep the add-on at or under roughly a quarter of the original order value, which is a ceiling we use. Above that, buyers stop treating it as an add-on and start evaluating it as a new purchase.

  • Show the real total. Show the real total, including any change to shipping or tax.

  • Set up a downsell. If the buyer declines, a cheaper version or a smaller quantity gives you a second attempt at no extra friction.

  • Stay on one screen. Shopify allows up to three accepted offers per checkout and lets you paginate the single post-purchase page, but every extra screen delays the confirmation they came for.

  • Discount only where the product needs it. The saved-card checkout is doing most of the persuading already.

Measure acceptance against eligible orders, not total orders. A wallet-heavy store that divides accepted offers by every order it took will conclude a good offer is failing, when half its buyers never saw the screen.

Run it for one full purchase cycle before judging it. Then change one variable at a time: the product, the price or the discount.

Post-purchase upsell offering 1 additional Variety Pack pouch at 25% off, $59.99 from $79.99, timer 4:56

A single product, the price before and after, and one accept button. The countdown is the app's (Order Editing in this example) default setting, not a requirement.

Disclosure requirements

The buyer is one tap from a charge on a stored card, so the offer screen is the one place they're likely to read the terms.

What to show on the offer screen

Put the full charge amount, the product, any shipping change and the return terms in view, with nothing pre-selected and nothing the buyer has to untick. In Harris v. LoveShackFancy, a federal court in the Southern District of New York let claims proceed on the theory that a one-time shipping protection fee added through a pre-checked box can be a negative option feature under ROSCA. 

That was a ruling on a motion to dismiss from one district court, so it isn't settled law, but bundled add-ons in a post-purchase offer carry the same exposure.

Subscription and trial offers

In the FTC's case against Uber, a federal court in the Northern District of California rejected the argument that billing details already on file are enough. Disclosures must come before the payment method is used. That was also a motion to dismiss ruling

ROSCA is the federal law that applies now

The FTC's 2024 click-to-cancel amendments were vacated by the Eighth Circuit in July 2025, and the FTC reopened rulemaking with an advance notice in March 2026, so no federal click-to-cancel rule is currently in force. 

State automatic renewal laws still apply, and California tightened its own in July 2025 with new consent, reminder and cancellation requirements.

When to build a custom extension instead

A custom post-purchase extension pays for itself when the offer logic depends on data the app can't reach, when you need a layout the app's editor won't produce, or when the offer has to coordinate with an ERP or subscription platform. 

Extensions are written in JavaScript or React and hosted by Shopify. Post-purchase extensions are still a beta surface, so a custom build has to be approved by Shopify before it runs on a live store, while published apps already hold that access. That work belongs alongside the rest of your checkout extensibility roadmap.

What to check first

Three things decide whether to run this at all. Your orders have to qualify, your 3PL has to handle the hold, and your reporting has to count the revenue.

If you want a second look at your checkout and post-purchase flow end to end, our CRO team can walk through it with you.

FAQs on Shopify one click upsells

Do I need Shopify Plus for a one click upsell?

 No. The post-purchase page is open to every Shopify plan above Starter through an app. Plus is required for upsells rendered inside the checkout steps themselves, which aren't one-click anyway since the buyer hasn't paid at that point.

Can the offer cost me the original sale?

No. Payment is authorized before the offer loads, and a buyer who declines goes straight to the confirmation page with their order intact. The risk sits on the operations side instead, in the fulfillment hold and the partially paid orders that follow a declined second charge.

Can I refund just the upsell item?

Yes. The accepted offer is recorded as a separate transaction against the same order, so you can refund that line without touching the original payment. If the upsell charge declined, remove the item through order editing instead.

Can I sell a subscription as a post-purchase offer?

 Yes, if the original order has a shipping address and contains no subscription already. If your first orders are usually subscriptions, or your products are digital or pickup-only, offer a one-time add-on instead.

Aurora Zhibaj

Solution Architect

With an educational background in Software Engineering, she is passionate about learning, and gaining as much hands-on experience to scope out the solutions to any of the client’s business requirements. With a deep understanding of the eCommerce ecosystem, Aurora focuses on creating seamless, scalable solutions.