---
title: Shopify Post-Purchase Upsell App
description: A one-time offer appears after payment on Shopify, before the thank you page, while the parcel is still open. One decision, nothing pre-selected.
canonical: https://tacey.app/post-purchase-upsell
---
# Shopify Post-Purchase Upsell App

This offer renders on Shopify's post-purchase surface: after payment is authorised and before the thank you page, on the order just paid for. The parcel is already paid for and not yet picked, which is the one moment where "no additional shipping" is literally true.

## Not every checkout reaches this screen: a Shopify platform limit, not a Tacey one

Shopify only renders this surface for a credit card charged directly at checkout. A buyer paying by any of the following skips straight to the thank you page, on every app that uses this surface, not just Tacey's:

Shop Pay, Apple Pay, Google Pay, PayPal, Klarna, Affirm, Afterpay, Amazon Pay, a gift card, local delivery orders, orders with duties or more than one currency, and anything not placed through the Online Store sales channel.

The address check and order editing are unaffected either way, because those run on the thank you page itself, which every order reaches regardless of how it was paid for.

## The button is the confirmation

Nothing is added by default, ever. Nothing is charged until the button is pressed. The exact amount is on the control (e.g. "Add to Order · $25.20"), declining is instant and final for that order (no second offer chain), and the route to the thank you page always stays open.

## An upsell is an edit, so it writes to the record too

The item is added to the existing order, the charge is captured against the payment method already authorised for the exact amount shown, and the same reconciliation-ledger row every other edit gets is written: what changed, before, after, money moved, who asked, shipping charged (none, same parcel), and whether the warehouse confirmed it. The warehouse still does not pick until the edit window closes.

## Six states, every one reachable

- **No eligible offer**: the screen is skipped, straight to the thank you page. Never an empty offer frame.
- **Added**: the new total, then thank you.
- **Declined**: straight to thank you, no second offer, no delay.
- **Charge failed**: plain language, order intact, no retry loop.
- **Expired**: the offer is gone and says so; the window is enforced on Tacey's side.
- **Out of stock**: withdrawn before it renders, never after the press.

## What this screen never does

- Put anything in the order without an explicit press
- Show a timer that does not actually expire
- Show a star rating without a real source behind it
- Offer a subscription: Tacey is not a subscription manager
- Block the route to the confirmation page
- Imply the original order is incomplete or at risk
