Shopify Order Status Page: How to Customize It in 2026

Quick answer: The Shopify order status page is the post-checkout page where customers track their shipment and revisit their order. Customize it in Settings > Checkout > Customize, then switch the page selector to Order status. It's drag-and-drop, no code, and works on every plan including Basic. Two things most merchants miss: non-Plus stores are auto-upgraded off the legacy system on August 26, 2026 (customizations are removed, not migrated), and the bigger revenue lever is the separate thank you page, where a one-click upsell typically lifts AOV by 5 to 15%.
Most guides still ranking for this topic reference deprecated "Additional scripts," assume Shopify Plus, or repeat the myth that you can rename the order status page URL. You can't. This guide is written for the 2026 checkout extensibility era, covers every plan (Basic, Grow, Advanced, Plus), and includes the URL rules, notification setup, app landscape, troubleshooting, and the support-cost math the other articles skip.
What Is the Shopify Order Status Page?
The Shopify order status page is the final page of your store's checkout, where customers track their order and view shipping updates. Once you add a tracking number to a fulfillment, customers return to this page to check where their package is instead of emailing your support inbox.
In plain terms: it's the page a customer can come back to for weeks after they pay. It is the only page in your store with 100% reach into your paying customer base, and it gets repeat visits without you spending anything to earn them.
What every merchant should know:
- It exists by default on every Shopify plan, including Basic. You don't create it.
- Each order gets its own unique, private URL that can't be guessed.
- It updates in real time when a supported carrier reports shipment progress.
- Customers revisit it multiple times during the delivery window.
- It's editable with drag-and-drop blocks inside the checkout and accounts editor, no code.
Order status types
The status shown to the customer updates automatically as the carrier reports progress:
- Confirmed — the order was placed but hasn't shipped yet
- On its way — the order was marked fulfilled and is in transit
- Out for delivery — the carrier is delivering it today
- Delivered — the carrier confirmed delivery
- Attempted delivery — the carrier tried and failed to deliver
If you ship with a carrier Shopify doesn't natively support, the page shows a tracking link out to the carrier instead of live status updates. And if you fulfill an order in multiple shipments, the page adds a tracking section per shipment rather than showing one combined status.
Native features already on the page
Before you add a single app, the new order status page already ships with several things merchants often go looking for an app to do:
- Buy again button — shown by default; you can hide it in the editor
- Self-serve returns — lets customers request a return without contacting you
- Expected delivery dates — if configured on your shipping settings
- Shop Pay Installments messaging in eligible countries
- Pickup point details in supported regions
- Email opt-in for customers who checked out with a phone number only
How Customers Access Your Order Status Page
Customers reach the page through four routes:
- Order confirmation email or SMS: Shopify includes the tracking link automatically in the default notification templates
- Shop app: logged-in customers track all their Shop orders in one place
- Customer account: anyone with an account sees order history with direct links
- Order lookup: guests can verify with their order number plus the email or phone used at checkout
How long guest access lasts
The access window is tighter than most merchants realize, and it's the root cause of most "my customer says the link doesn't work" tickets:
- Same browser: 3 weeks without logging in
- Different browsers: 2 weeks, across a maximum of 5 browsers
After that window, the customer has to log in or verify their identity with their order number and the email or phone used at checkout. If they don't, they still see a limited view: items, order total, discounts, and order status. Shipping address, payment method, and tracking number stay hidden.
The same rule applies when a customer forwards the link to someone else. The recipient gets the restricted view, not the full order. That's a privacy feature, not a bug, and it's worth knowing before you tell a customer to "just share the link."
The Shopify Order Status Page URL (And the Myth About Changing It)
Every order has a unique order status URL in this shape:
https://yourstore.com/orders/{order_token}
Older orders and authenticated views may append an authentication parameter, for example /orders/{order_token}/authenticate?key=.... The token is random and order-specific, which is what keeps the page private.
To find the URL for any order: go to Orders in your Shopify admin, open the order, then click More actions > View order status page. That opens the exact page your customer sees, and you can copy the URL from the address bar.
The myth to ignore: several popular articles claim you can rebrand the URL path to something like yourstore.com/track-order/12345. You cannot. The /orders/ path and the token are generated by Shopify and aren't editable in admin, by theme code, or by app. The only part of the URL you control is your own domain. If you want a branded tracking experience at a custom URL, that requires a dedicated order tracking app that hosts its own tracking page on your storefront, which is a separate page from Shopify's native order status page.
Using order_status_url in notifications
If you're on Shopify's default email templates, the order status link is already included. Nothing to do.
If you (or a past developer) customized your order confirmation, shipping confirmation, or shipping update templates, Shopify can no longer inject that link automatically, and this is one of the most common silent breakages in a Shopify store. You have two options:
- Click Revert to default on the template, which also erases every other customization you made
- Manually add the
{{ order_status_url }}Liquid variable back into the template, wrapped in your own link
Option 2 in practice, inside Settings > Notifications:
<a href="{{ order_status_url }}">Track your order</a>
SMS templates include the link automatically and don't need this. And remember: the shipping confirmation email only fires once a tracking number is attached to the fulfillment, so if customers aren't getting it, check your fulfillment workflow before you blame the template.
Order Status Page vs Thank You Page: They're Two Different Pages
This is where most articles still ranking for this keyword go wrong. Since Shopify's 2025 upgrade, the thank you page and the order status page are two separate pages. They share one editor and one set of brand settings, but they're edited separately and they behave very differently.
| Feature | Thank You Page | Order Status Page |
|---|---|---|
| When customer sees it | Immediately after payment | Via confirmation email link or order history |
| Repeat visits | One-time only | Multiple times during delivery |
| Identifier shown | Confirmation number | Order number |
| Best use case | Post-purchase upsell, surveys, account creation | Tracking, support, reorders, loyalty signup |
| Guest access | Same session only | 3 weeks same browser, 2 weeks cross-browser |
| Attention level | Highest of the entire funnel | High, but goal-driven (they came to check tracking) |
The practical takeaway: put revenue on the thank you page, because that's the one moment the customer is in buying mode with a saved payment method. Put reassurance on the order status page, because that's where a customer arrives anxious about where their package is. Getting these two backwards is why a lot of post-purchase setups underperform. For what to put on each, see our 20 Shopify thank you page ideas.
What This Page Is Actually Worth (The WISMO Math)
Most articles argue for optimizing this page on vibes. Here's the actual business case, and it runs on two separate ledgers.
Ledger 1: Support cost you're already paying
"Where is my order?" — WISMO — is the single largest category of ecommerce support tickets. Across Shopify brands specifically, help desk data puts it at roughly 18% of total support volume, and general ecommerce estimates run far higher during peak season. Each ticket costs somewhere between $5 and $12 to resolve once you count agent time and channel.
Run that for a store handling 1,000 orders a month:
- Say 12% of customers ask where their order is: 120 tickets
- At $7 per ticket: $840 a month, or ~$10,000 a year
- Every one of those tickets is asking a question the order status page can already answer
A visible tracking widget, a clear estimated delivery date, and honest "what happens next" copy typically deflect a meaningful share of that. It isn't glamorous work, but it's the highest-certainty return on this page. You aren't hoping for a lift — you're removing a cost you're definitely already paying.
Ledger 2: Attention you're not monetizing
The second ledger is the one nobody bills you for. Customers return to this page repeatedly between purchase and delivery — checking, refreshing, waiting. Those are impressions on your most qualified audience possible: people who have already given you money and are actively thinking about your brand.
You paid acquisition cost to earn that attention once. The order status page gives it back to you several times per order, for free. Most stores serve those impressions a default Shopify layout with nothing on it.
The two ledgers point in different directions, and that's the strategic call this whole page comes down to: deflect first, monetize second. A customer who can't find their tracking number will not buy your upsell. Answer the question they came with, then make the ask.
The August 26, 2026 Deadline Most Stores Are Sleepwalking Into
Shopify is retiring the legacy way of customizing these pages. If you ignore it, your tracking pixels, custom scripts, and old app blocks stop working, quietly, with no visible error on your storefront.
The dates that matter:
- Shopify Plus: the deadline was August 28, 2025. Auto-upgrades of stores still on legacy pages began rolling out from January 2026, with 30 days' email notice.
- Non-Plus (Basic, Grow, Advanced): August 26, 2026. After that date Shopify auto-upgrades your Thank you and Order status pages.
- Already in effect: since August 28, 2025, the legacy "Additional scripts" box is read-only. You can see what's in it, but you can't edit it. Whatever is in there today is what gets deleted.
What actually happens at auto-upgrade. This is the part worth being precise about, because "auto-upgrade" sounds harmless. Legacy customizations are removed, not migrated. That means:
- Anything in Additional scripts stops firing — including Google Ads conversion tags, Meta pixel, GTM containers, and affiliate scripts
- App script tags injected into the old pages disappear
- Old app blocks whose developers never updated for checkout extensibility stop loading
- Any COD logic, custom fields, or post-purchase code still wired to the legacy system goes silent
Your revenue reporting breaks before you notice your page looks different. That's the real risk.
Two traps in the upgrade process
- Pausing your store triggers it. If you pause your store, the pages upgrade automatically and cannot be reverted afterward. If you're seasonal and plan to pause, migrate first.
- The revert window is narrow. You can revert within 30 days of upgrading, but only if your store qualifies: created before January 6, 2025 and with pre-existing customizations. Newer stores get no rollback. Treat the upgrade as one-way and test in a development store first.
How to check where you stand, and upgrade
Go to Settings > Checkout and look at the Configurations section. If you see a notice reading "Upgrade Thank you and Order status pages," you're still on the legacy system. Click into it and Shopify generates a personalized upgrade guide listing exactly which of your customizations are affected. Then:
- Review your customizations in that personalized guide
- Handle compatible apps — update them and re-place their blocks in the editor
- Handle incompatible apps — contact the developer or find a replacement built for checkout extensibility
- Replace Additional scripts with Custom Pixels (Settings > Customer events) or app pixels. Do this before you upgrade, so there's no tracking gap.
- Click Upgrade and verify every pixel fires on a real test order
One known limitation to plan around: per-market customizations aren't supported on the new Thank you and Order status pages. If you were showing different content by country or market on the legacy pages, that doesn't carry over.
How to Customize the Shopify Order Status Page (Step-by-Step)
Works on every Shopify plan. No code. Around 10 minutes.
Step 1: Open the checkout and accounts editor
- From your Shopify admin, click Settings (bottom left)
- Click Checkout
- In the Configurations section, find your active checkout and click Customize

Step 2: Switch to the Order status page view
At the top of the editor, click the page selector dropdown. It defaults to Checkout. Switch it to Order status.
This is the single most common mistake merchants make. They edit the Thank you page, save, then wonder why the order status page looks unchanged. Always confirm the dropdown before you drag anything.
Step 3: Set your brand defaults
In the left sidebar, click the gear icon for Settings, then adjust:
- Logo position and size
- Background color or image
- Accent color (buttons and links)
- Font family
- Corner radius
These cascade across Checkout, Thank you, and Order status, so you set them once. If you're on Shopify Plus and want finer control than the editor exposes, the Checkout Branding API goes deeper.
Step 4: Add app blocks and content blocks
Click Add app block or Add block. Two categories appear:
Built-in blocks (no app needed): custom text, banner, image, buttons, spacer.
App blocks from any installed app that supports checkout extensibility. Shopify supports blocks across 30+ app categories, the most useful being: order tracking, upsells and cross-sells, product recommendations, loyalty programs, reviews, surveys, subscriptions, digital downloads, chat, trust badges, and FAQ.
Drag blocks above or below the order summary based on priority. Mobile users see top-of-page blocks first, so put your most important block there.
Step 5: Preview, test, and save
Click Save, then test the live page exactly as a customer would:
- Go to Orders in admin
- Open any recent order
- Click More actions > View order status page
That's the real customer view, not a mock preview. Test on a phone too. Most order status views happen on mobile, often by someone standing near their front door.
Better still: place a real test order and fulfil it with a test tracking number. That's the only way to confirm the tracking widget, the notification email, and your blocks all work together end to end.
What to Add: The Order Status Page Stack
Most guides hand you a list of 15 things to add. That's bad advice. Cluttered post-purchase pages perform worse than restrained ones, because the customer arrived with a single question: where is my order? Answer that first, then earn the second ask.
Tier 1: Trust and clarity (every store)
- Real-time tracking widget with carrier data, so customers stop emailing support
- Estimated delivery date to set expectations up front
- Customer support link — one button to your help center or chat
- Clear "what happens next" text under the order summary
- Self-serve returns — already native, just switch it on. Every return handled here is a support ticket you never receive.
- Translated content if you sell internationally. Set translations at the checkout level so they carry through — remember that per-market content customization isn't supported on these pages, but language translation is.
Tier 2: Engagement (100+ orders/month)
- Account creation prompt for guest checkouts (this also solves the 3-week access expiry)
- Loyalty program signup or points balance
- Social share buttons — works especially well for gifts
- One-question survey such as "How did you find us?" with 4 to 5 options. This is the cheapest attribution data you'll ever collect, and post-purchase is the only moment customers reliably answer.
- Product reviews from other buyers of what they just ordered — reassurance during the anxious waiting window, and it warms up your own review request later
- Delivery instructions field so customers can add "leave with neighbour" without emailing you
Tier 3: Revenue (any store ready to grow AOV)
- Product recommendation block based on what they actually bought
- Discount code for their next order, with an expiry
- Refer-a-friend block with a two-sided reward
- Bundle or "complete the set" suggestions
What not to add
- More than 4 blocks total — clutter destroys mobile UX
- Multiple competing CTAs — pick one primary goal per page
- Auto-opening pop-ups — they fight the page's actual job
- Live chat that auto-fires — let the customer click it
- Per-market content — not supported on the new pages, so don't build a strategy on it
The Thank You Page Upsell: Where the Real Money Is
Here's the move most stores miss entirely. Your thank you page — the one shown the instant they pay — is the highest-converting upsell location in your funnel.
Why it converts so well:
- The payment method is already saved, so there's no second checkout
- The customer is in active buying mode, not browsing mode
- Zero risk to you: the original order is already locked in
- One click equals one more sale
Industry benchmarks are consistent: post-purchase upsells on the thank you page see roughly a 10 to 15% acceptance rate and lift average order value 5 to 15% when the offer is relevant and genuinely one-click.
The revenue math (deliberately conservative)
Take a store doing 500 orders a month at $60 AOV, so $30,000 monthly revenue. Add a $25 thank you page upsell at a 10% take rate:
- 500 × 10% = 50 takers per month
- 50 × $25 = $1,250 extra per month
- $15,000 extra per year, from one widget
At a 15% take rate with a $35 offer, that's $31,500 a year. From a setup you do once. And because the offer sits after payment, a bad month costs you nothing but the app fee.
Five rules that make thank you page upsells convert
- Show one product, not five. Choice paralysis kills post-purchase offers faster than anything else.
- Match the offer to what they bought. A grinder for a coffee machine buyer beats a generic "you might also like."
- Use a real discount, 10 to 20%. Below that, customers don't act.
- Make it genuinely one-click. If they have to re-enter card details, you've lost most of the lift.
- Give an obvious "No thanks." Trapping customers costs you more in repeat purchase than the upsell earns.
How to Add Thank You Page Upsells
You can't run true one-click thank you page upsells with native Shopify alone. The built-in blocks cover text, banners, images, and buttons. Anything transactional needs an app built on checkout extensibility.
For the full post-purchase funnel — thank you page upsells, order status page blocks, plus the cart drawer with free gifts, BOGO, volume discounts, and recommendations that feed into it — install Oxify Cart Drawer & Upsells.
Why it fits this use case:
- Native Thank You Page Editor with 7 block types: product recommendation, rich text, banner, image, video, FAQ, and trust badges — mapped to the new checkout and accounts editor format
- Trigger control: show offers to everyone, or filter by what's in the order
- Manual or automatic product selection — hand-pick high-margin offers or let the app choose from cart contents
- Built for Shopify certified, so it works with the 2026 editor out of the box
- 4.9★ rating across 37 reviews
- From $9.99/month with a 14-day free trial, priced by order volume
Setup is around 10 minutes in the app, then you drop the block onto the thank you page from the Shopify checkout and accounts editor. If you want the deeper playbook, see our guide to Shopify thank you page upsells and post-purchase upsell apps.
Which Apps Do What: The Order Status Page App Landscape
"Which app should I use?" is really four different questions, and merchants waste money by installing the wrong category. Almost nobody needs all four. Here's how the ecosystem actually splits.
| What you want | Category | Apps in this space |
|---|---|---|
| Grow AOV after checkout | Upsell & post-purchase | Oxify Cart Drawer & Upsells, AfterSell, ReConvert/Upsell.com, Zipify OCU, Kaching |
| Branded tracking at your own URL, multi-carrier | Order tracking | AfterShip, Parcel Panel, Track123, TrackingMore, Rush, Tracktor, Hulk Order Tracking |
| Learn why customers bought | Post-purchase surveys | Grapevine, Zigpoll, Fairing |
| Show social proof after purchase | Reviews | Loox, Judge.me, Okendo |
| Custom internal order stages | Custom order status | StatusPro, W3 Custom Order Status |
How to choose without overbuying
Ship domestically with one or two carriers? You probably don't need a tracking app at all. Shopify's native carrier integration already shows live status on the order status page. A dedicated tracking app earns its keep when you ship internationally, juggle many carriers, or need tracking notifications Shopify doesn't send natively.
Want more revenue per order? That's an upsell app, and it belongs primarily on the thank you page, not the order status page. This is the category with the clearest, fastest payback, because it adds revenue instead of redistributing it.
Not sure why people buy from you? A one-question survey app is the cheapest attribution data in ecommerce, and post-purchase is the one moment customers will actually answer.
The trap to avoid: stacking a tracking app, an upsell app, a review app, and a survey app onto one page. You get four blocks fighting for attention, a slower page, and four subscriptions. Pick the one that matches your actual bottleneck — support tickets or AOV — and add a second only once the first is earning.
Where Oxify fits
To be straight about it: Oxify is an upsell app, not a tracking app. If your problem is "customers can't find their package," a tracking app solves that better and we'd tell you so.
Where Oxify Cart Drawer & Upsells is the stronger pick is when your problem is average order value, because it covers the whole journey rather than one page. Most upsell apps handle a single moment — the cart, or the thank you page. Oxify runs the cart drawer (free gifts, progress bar, BOGO, volume discounts), the product page, and the thank you page from one app and one subscription. Every one of those offers compounds into the same order.
That matters practically: a merchant running a cart drawer app plus a separate thank you page upsell app is paying twice, configuring two sets of product rules, and getting two dashboards that disagree about what happened. It's also why the entry tier is $9.99/month rather than the $30 to $50 typical of stacking two specialist tools.
Customization Options by Shopify Plan
Buried in every other guide, but it decides what you can actually build:
| Feature | Basic, Grow, Advanced | Plus |
|---|---|---|
| Brand colors and fonts | ✅ | ✅ |
| App blocks on Thank you page | ✅ | ✅ |
| App blocks on Order status page | ✅ | ✅ |
| Built-in content blocks (text, banner, image) | ✅ | ✅ |
| App blocks on the Checkout itself | ❌ | ✅ |
| Custom UI extensions | Limited | Full |
| Checkout Branding API | ❌ | ✅ |
Stores on Shopify Plus can add UI extensions to Checkout, Thank you, and Order status. Stores on Basic, Grow, and Advanced can add them to Thank you and Order status only.
Translation: you do not need Shopify Plus to customize the order status page or the thank you page. You only need Plus to customize the checkout flow itself. Anyone telling you otherwise is working from pre-2025 information.
Worth knowing: Shopify has been steadily moving features down the plan ladder. In April 2026, order value limits in Checkout Blocks — previously Plus-only — became available on Basic, Grow, and Advanced. If a guide tells you something is Plus-only, check the date on it.
Troubleshooting: Order Status Page Not Working
The four issues that generate the most support tickets, and what actually causes them.
"Order not found" when the customer opens the link
Almost always the access window. The customer is either past 3 weeks in their original browser, past 2 weeks in a different one, or opening it on a device that isn't the one they bought on (clicked the email on their phone after ordering on desktop). Fix: have them verify with order number plus the email or phone used at checkout, or log into their account. Encouraging account creation on the thank you page prevents this permanently.
The tracking link is missing from your emails
Your notification template was customized at some point, which stops Shopify auto-inserting the link. Add {{ order_status_url }} back into the template manually, or revert the template to default and redo your branding. Check the order confirmation, shipping confirmation, and shipping update templates — it's usually all three.
No tracking updates showing
Two causes. Either no tracking number was attached to the fulfillment (the page can only show what it's given), or you're shipping with a carrier Shopify doesn't natively support, in which case you get an outbound tracking link instead of live status. Adding the carrier name alongside the tracking number when you fulfil improves the match rate.
Your old customizations vanished
You were auto-upgraded. Check Settings > Checkout for the configuration status. If you're inside 30 days and your store was created before January 6, 2025, you may be able to revert. Otherwise, rebuild with blocks and Custom Pixels — and check your ad platform conversion reporting immediately, because that usually broke at the same time and it's the expensive part.
Common Mistakes That Tank Your Order Status Page
- Cluttering with 6+ widgets. Three blocks is the sweet spot.
- Never testing on mobile. Most order status views are on phones.
- Upsells without a real discount. A 5% "offer" converts close to nothing.
- Generic recommendations. "Bestsellers" sells far less than relevant complements.
- Ignoring the repeat traffic. Customers return to this page several times per order. Those are free impressions you already paid to earn.
- Putting the revenue block on the wrong page. Upsells belong on the thank you page. Reassurance belongs on the order status page.
- Stacking four apps on one page. A tracking app, an upsell app, a review app, and a survey app means four blocks competing, a slower page, and four subscriptions. Start with one.
- Buying a tracking app you don't need. If you ship domestically with supported carriers, Shopify already does this for free.
- Waiting for the auto-upgrade. Your pixels break on Shopify's schedule, not yours, and you'll find out from a reporting gap.
Pre-Launch Checklist
- [ ] Branding matches your storefront (logo, colors, font)
- [ ] Page selector was set to Order status, not Checkout or Thank you
- [ ] Real-time tracking widget added and tested against a real fulfilled order
- [ ] Customer support link visible above the fold
- [ ] At least one engagement or revenue block on the order status page
- [ ] Thank you page has a one-click upsell with a real discount
- [ ]
{{ order_status_url }}present in all three notification templates - [ ] Mobile view tested on both Android and iPhone
- [ ] All installed apps are checkout-extensibility compatible
- [ ] Legacy pixels rebuilt as Custom Pixels under Settings > Customer events
- [ ] Conversion tracking verified firing on a real test order after upgrading
Frequently Asked Questions
Can I customize the Shopify order status page without coding?
Is the order status page the same as the thank you page?
Do I need Shopify Plus to customize the order status page?
What is the Shopify order status page URL?
yourstore.com/orders/{order_token}, sometimes with an /authenticate?key=... parameter. Find any order's URL from admin via Orders > open the order > More actions > View order status page.Can I change the order status page URL to a custom one?
/orders/ path and the order token are generated by Shopify and can't be edited in admin, theme code, or by an app. Only your domain is yours to control. Guides claiming you can rename the path are incorrect. A branded tracking URL requires a third-party order tracking app that hosts its own separate tracking page.How long can customers access their order status page without logging in?
Why is the order status link missing from my emails?
{{ order_status_url }} back into it under Settings > Notifications. Check the order confirmation, shipping confirmation, and shipping update templates.What conversion rate can I expect on thank you page upsells?
When is the Shopify checkout extensibility deadline?
Will my old order status page customizations break in 2026?
Can I undo the upgrade if something breaks?
Can customers share their order status page link?
What if an order ships in multiple packages?
What is the best app for the Shopify order status page?
Do I need an order tracking app if I'm on Shopify?
How do I reduce "where is my order" support tickets?
{{ order_status_url }} is in all three notification templates, always attach a tracking number when you fulfil, show an estimated delivery date, and enable native self-serve returns. Add a visible support link so the remaining questions reach you cheaply instead of turning into a chargeback.Should I put upsells on the order status page or the thank you page?
What's the difference between an order tracking app and the default order status page?
Bottom Line
The Shopify order status page is the most-viewed, least-optimized page in your store. Every paying customer sees it, many return to it repeatedly during the delivery window, and most stores leave it looking exactly like Shopify's default.
Fix it in one afternoon, in this order:
- Upgrade to the new checkout and accounts editor before August 26, 2026 forces it on you — and rebuild your pixels as Custom Pixels first, so you don't lose conversion data
- Deflect — brand the page, show live tracking and an estimated delivery date, turn on self-serve returns, add a support link. This kills tickets you're already paying for.
- Monetize — put a one-click upsell on the thank you page, and keep the order status page to lighter asks like referrals or a next-order code
- Test with a real fulfilled order, on mobile, then ship it
Do them in that order. A customer who can't find their tracking number will never accept your upsell.
For step 3, install Oxify Cart Drawer & Upsells. It covers the thank you page upsell plus the cart drawer and product page offers that feed into the same order, so you're not paying two apps to do one job. Built for Shopify, 4.9★ across 34 reviews, from $9.99/month with a 14-day free trial.
A 30-minute setup, then compounding AOV gains every month for the rest of your store's life.