Overview
Last updated
Last updated
To keep it simple, your checkout typically has two parts:
The checkout page
The thank you page
Using post-purchase checkout extensions, you can add an additional page that appears after the order is confirmed, but before the thank you page. Which means your checkout will then have three parts:
The checkout page
The post-purchase page
The thank you page
On the post-purchase page, post-purchase product offers allow you to prompt a customer to add more products to their initial order after they've completed payment.
Accepted offers are added to the initial purchase, allowing customers to add more items to their order with a click of a button. Despite appearing as multiple authorizations, customers will only see a single charge on their statement.
Platter's Post-Purchase Offers extension allows you to set up personalized offers to display to customers after they complete checkout.
Behind the scenes, you control which products are displayed to customers. And in the front end, the customer sees an additional page after checkout, allowing them to seamlessly add products to their order.
The following is a basic example of how the post-purchase offer is displayed to a customer during checkout:
Post-purchase offers are a powerful way to boost your average order value, but there are some limitations you should be aware of to ensure they meet your store's criteria.
Below is a list of limitations and considerations for post-purchase checkout extensions from Shopify:
Payment provider
Third-party payment providers that require the customer’s CVN/CVV to be retained aren't supported. This might include, but isn't limited to, payment providers such as Braintree, Payflow Pro, PayPal Payments Pro, and Eway.
Additional payment methods
The post-purchase page won't be surfaced in the following scenarios:
The customer chooses to check out with an installment service or a wallet service (such as Klarna, Affirm, AfterPay, Apple Pay, Amazon Pay, or Google Pay).
The initial purchase was made with a gift card or any payment method other than a credit card.
Purchase events
Third-party analytic services that use the Shopify Pixel API (such as Google Analytics, Facebook, Pinterest and Snap) report only the purchase event and value for the initial purchase.
Analytics
Third-party analytics services that use the ScriptTag
object or additional scripts have incomplete conversion data, because they're only triggered on the Order status page.
Duties and support for multiple currencies
Post-purchase upsell offers won’t be surfaced on orders with duties and multiple currencies.
Order creation delays
In scenarios such as flash sales where the Shopify Platform is under extreme load, our system might optimize to capture orders but briefly delay the order creation step for a fast and seamless buyer experience. In these scenarios, post-purchase pages won't be surfaced, even if the request for the post-purchase page was properly made.
Multiple apps
Merchants with multiple apps that have the post-purchase checkout extension need to select which app appears on the post-purchase page. You can use a banner during app onboarding to let merchants know that they can select your app as the default post-purchase app in the Shopify admin checkout settings.
Fulfillment holds
Shopify places a hold on fulfillment for all orders undergoing a post purchase cross-sell flow. Holds are released either when the customer visits the Order status page, or after a set amount of time, if the customer doesn't complete the post-purchase flow.
If the customer doesn't complete the flow (for example, the customer closes the browser before actioning the post-purchase upsell offer), then the fulfillment hold is lifted one hour after submission of the initial checkout. Fulfillment holds are only supported using the FulfillmentOrder
resource.
Interaction with the Order status page
The post-purchase page shouldn't be used as a replacement for the Order status page. For more information, refer to the customer flow.
API versioning
The post-purchase checkout extension APIs aren't versioned and don't follow the Shopify API versioning quarterly release schedule.
Orders without a shipping address
If the customer's checkout results in the creation of an order without a shipping address, then you can't add a subscription to the order using post-purchase. For example, a customer might have bought only digital products, which doesn't require a shipping address.
Similarly, a customer might choose local pickup as their delivery method, which also doesn't require a shipping address. You can determine in advance whether a shipping address exists by viewing the payment step within the ShouldRender
extension point. If the destinationCountryCode
input field is null
, then no shipping address is set.
Orders for local delivery
Post-purchase upsell offers won’t be surfaced on orders for local delivery.
Minimum order price
Orders need to be $0.50 or more to qualify for post-purchase offers.
Accepted offers
A customer can accept a maximum of three post-purchase offers for each checkout.
Number of post-purchase pages
You can create only one post-purchase page. However, because a post-purchase extension is a single-page app, you can paginate the single page to create multiple pages.
Sales channel
Orders need to be placed through the Online Store sales channel to qualify for post-purchase upsells. Other sales channels won't render post-purchase upsell pages.
Storage API with Shop Pay
When buyers check out using Shop Pay, the Render
extension target can't read data that's stored in the Storage API during the ShouldRender
extension target. This is because the targets are running in different domains (shop.app
and the merchant's domain).
For more information on the limitations of post-purchase extensions, refer to Shopify's documentation.