Sometimes, post-purchase upsells won't show up. This happens because of limits in Shopify's Post-purchase Extensions API. You can learn more about these limits in Shopify's documentation.
One big reason for missing post-purchase upsells is using payment methods that aren't supported.
Supported Payment Methods
Shopify payments (for Credit Cards)
Shop Pay
PayPal Pro, PayPal PayFlow (when used with a credit card)
PayPal Express (with Automatic Payments enabled, PayPal knows them as Reference Transactions)
See the PayPal Automatic Payments article for more information on how to check this.
Braintree (without CVV verification enabled)
Authorize.net
Stripe
Note: Newer versions of stripe are no longer supported by Shopify's Post-Purchase API.
Any other direct credit card payment processor that is embedded within Shopify's checkout. ( * Payment methods that do not require redirecting customers to an external page to complete payment. )
Unsupported Payment Methods
The following payment methods are currently unsupported for one click post-purchase upsells:
Installment Services
Some examples include Affirm, Sezzle, AfterPay, or Klarna, Shop Pay installments
Unsupported Payment Wallets
Apple Pay, Amazon Pay, or Google Pay
Bank Transfer Payment Methods
iDeal, Airwallex
Gift Cards
Any purchases made entirely with a gift card will not render post-purchase offer. If the order is paid partly with a gift card and partly with a supported payment method (e.g. $20 gift card on a $35 order), then post-purchase offers will be shown as normal.
Cash On Delivery
Cash On Delivery orders will not display 1-Click Upsell offers, due to Shopify's restrictions on post-purchase offers.