Apps in checkout
Merchants use Shopify checkout to accept orders and receive payments wherever they sell online. You can augment Shopify checkout with new functionality by building an app.
How it works
Anchor link to section titled "How it works"After a customer adds products to a cart, they use Shopify checkout to enter their customer, shipping, and payment information before placing the order.
Developers can create apps that extend Shopify checkout to include functionality that isn't provided natively. For example, you can create an app that offers a customer free shipping or other discounts depending on what's in their cart.
Merchants install these apps on their store in the Shopify admin. In the Shopify admin, merchants can use the checkout editor to place a checkout UI extension in the checkout experience.
Customization options
Anchor link to section titled "Customization options"You can customize Shopify checkout using multiple technologies. All customization options are easy to install and upgrade-safe, which enables merchants to continue getting platform benefits when Shopify releases new products such as Shop Pay, or features such as One-page checkout.
For a detailed breakdown of the available technologies for customizing checkout, and ways that you can extend checkout, refer to the options for customizing Shopify checkout.
Getting started
Anchor link to section titled "Getting started"Learn how to customize and extend checkout by following one of our use case tutorials.
Checkout UI extensions tutorials
Anchor link to section titled "Checkout UI extensions tutorials"Shopify Functions tutorials
Anchor link to section titled "Shopify Functions tutorials"A report identifying your current checkout customizations is available in the Shopify admin. The report provides high-level guidance to map customizations to Checkout Extensibility. Use this report to simplify your review of your existing customizations and to help you upgrade to Checkout Extensibility faster. Learn more.
To upgrade a checkout.liquid
customization to Checkout Extensibility, take one or more of the following actions:
Use a public app that's built using extensions.
We're adding new checkout apps to the Shopify App Store on a regular basis. If there currently isn't a suitable public app for your customization, then consider simplifying your checkout temporarily and adding new apps to your store as they become available.
Build a custom app using extensions, or hire a service partner to build one for you.
In some cases, after you've upgraded you can revert to checkout.liquid
until its sunset dates.
If you're upgrading a store to Checkout Extensibility, we recommend planning your in-checkout, Thank you page, and Order status page upgrades together, when possible, for the following benefits:
- Avoid maintaining multiple tech stacks, like UI extensions and
checkout.liquid
. - Apply styling once to the entire experience.
- Manage one sunset date for
checkout.liquid
rather than one date for pre-purchase pages and another for Thank you and Order status pages.
If this isn't possible, then we recommend prioritizing the upgrade for in-checkout pages first and upgrading after-purchase pages after that.
Best practices
Anchor link to section titled "Best practices"To optimize your app development experience, Shopify has established a set of best practices that you can refer to when developing an app that extends checkout.
Product roadmap
Anchor link to section titled "Product roadmap"Some checkout customization features are in development and will be released later this year. The following are the features on our roadmap and our estimated launch dates:
UI extensions
Anchor link to section titled "UI extensions"Stores that subscribe to the Shopify Plus plan can add UI extensions to their Checkout, Thank you and Order Status pages. Stores on Basic, Shopify, and Advanced plans can only add UI extensions to their Thank you and Order Status pages. Merchants can install apps from the Shopify App Store or build custom apps that contain UI extensions.
Milestone | Target |
---|---|
Checkout UI extensions available on all eligible Plus stores | January 2023 (shipped) |
General availability of extensions on the Thank you and Order status page (Plus plan only) | November 2023 (shipped) |
General availability of extensions on the Thank you and Order status page (all plans above Starter) | May 2024 (shipped) |
We'll continue adding API capabilities to help you access the right functionality in extensions. We'll also continue adding UI components that offer performant patterns on our design best practices. We release new components and APIs into the unstable API version first, and promote to the next stable release based on Shopify's API version release schedule.
Feature | Target launch date |
---|---|
Support for reading and writing discount codes | January 2023 (shipped) |
New UI components: Tooltip, Pressable | January 2023 (shipped) |
Support for reading and writing gift cards | February 2023 (shipped) |
New UI components: Popover, Modal | February 2023 (shipped) |
Heading styles, button styles and corner radius controls through the Branding API | February 2023 (shipped) |
Session token API to enable authenticated network calls | February 2023 (shipped) |
New API that allows checkout UI extensions to directly query the Storefront API | February 2023 (shipped) |
New UI components: Disclosure, DatePicker | April 2023 (shipped) |
Merchant-uploaded custom fonts through the GraphQL Admin API | April 2023 (shipped) |
Support for adding checkout field validation errors from UI extensions | April 2023 (shipped) |
New API for SellingPlan on line items (read/write) | May 2023 (shipped) |
New API for reading presented and selected payment options | May 2023 (shipped) |
New API for reading presented and selected delivery options | June 2023 (shipped) |
New UI components: DateField | June 2023 (shipped) |
Developer preview of the Order status page in the checkout editor | June 2023 (shipped) |
New extension targets for enhancing delivery options | June 2023 (shipped) |
New API for cart metafields (read/write) | July 2023 (shipped) |
New API for writing updates to the shipping address | July 2023 (shipped) |
New API to read the customer billing address | August 2023 (shipped) |
New API for reading price breakdown on checkout total | August 2023 (shipped) |
New API to read a unique and stable session token for the current buyer checkout session | September 2023 (shipped) |
New API for customized SMS consent capture | September 2023 (shipped) |
New extension targets for extending payment options | September 2023 (shipped) |
New UI component: Map |
September 2023 (shipped) |
Advanced color styling through the GraphQL Admin API | September 2023 (shipped) |
New extension targets for header and footer customization | November 2023 (shipped) |
New API to read and write cookie tracking consent | January 2024 (shipped) |
Advanced section styling, such as borders and spacing, through the Branding API | January 2024 (shipped) |
Customizations Report to identify existing checkout.liquid customizations with upgrade guidance | January 2024 (shipped) |
Header and footer customizations through the Branding API | January 2024 (shipped) |
New API to read checkout steps to enable buiding a custom breadcrumb | March 2024 (shipped) |
New UI components for customer privacy consent collection Sheet |
March 2024 (shipped) |
Tailored upgrade guidance for existing checkout.liquid customizations | March 2024 (shipped) |
Support for Plus merchants currently using products to represent additional fees or charges in checkout | April 2024 (shipped) |
Update to customizations report to include additional scripts analysis and app recommendations | April 2024 (shipped) |
Support for using a custom address auto-complete provider | May 2024 (shipped) |
New UI component: Switch |
May 2024 (shipped) |
New API to read delivery option metafields associated with a local pickup location | May 2024 (shipped) |
Setting in the checkout and accounts editor to display the discount code field by default on mobile devices | June 2024 (shipped) |
Pre-filling the checkout state from inputs provided through the Cart API | June 2024 (shipped) |
Support for conditional component rendering on mobile checkouts | June 2024 (shipped) |
Header and footer alignment, position and visibility controls in the checkout and accounts editor | June 2024 (shipped) |
Update the customizations report to include apps that use ScriptTag API | July 2024 (shipped) |
Support for one-time use addresses in Storefront Cart API and UI Extension API | July 2024 (shipped) |
New UI component: QRCode | July 2024 (shipped) |
Support for UI extensions in draft order invoice checkouts | July 2024 (shipped) |
Default a buyer to a merchant-provided address, with an option for the buyer to enter new address | August 2024 (early access) |
Support for styling order summary line items with the Branding API | November 2024 |
Support for integrating 3rd-party chat applications into checkout | November 2024 |
Support for rendering address fields, such as city and neighborhood, using dropdown lists | Q4 2024 |
Support for conditionally hiding the input field for 1st-party gift cards | Q4 2024 |
Input query API for customizing the data available to UI extensions | Q4 2024 |
New API to write to the customer billing address | Deferred |
Shopify Functions
Anchor link to section titled "Shopify Functions"We'll continue to add new Shopify Function APIs to further customize checkout business logic.
Milestone | Target |
---|---|
General availability of Product Discount API and Order Discount API | December 2022 (shipped) |
General availability of Payment Customization API and Delivery Customization API | February 2023 (shipped) |
General availability of Cart Transform Function API | July 2023 (shipped) |
General availability of Order Routing Location Rule API | July 2023 (shipped) |
General availability of Fulfillment Constraints API | July 2023 (shipped) |
General availability of Cart and Checkout Validation API for custom apps | July 2023 (shipped) |
Developer preview of Function API to customize delivery options for local pickup | September 2023 (shipped) |
Developer preview of Cart Transform Function API: per component pricing and update operation | October 2023 (shipped) |
General availability of Cart and Checkout Validation API for public apps | January 2024 (shipped) |
General availability of Cart Transform Function API: per component pricing and update operation | January 2024 (shipped) |
General availability of Shipping Discount API | January 2024 (shipped) |
Addition to the Product Discount API to return all applicable discounts | January 2024 (shipped) |
Developer preview of Function API for integrating a 3rd-party pickup point network | February 2024 (shipped) |
General availability of Cart Transform Function API: per component pricing and update operation | Q1 2024 (shipped) |
Addition to the Product Discount API to return all applicable discounts | Q1 2024 (shipped) |
Developer Preview of Discounts Allocator Function API to customize discounts allocation logic | Q1 2024 (shipped) |
Addition to the Product Discount API to target cart line items | Q3 2024 (shipped) |
Support for cart metafields on function input queries | Q4 2024 |
Changes to the Discount APIs to stack multiple discounts on the same product line item | Q2 2025 |
Web pixel app extensions
Anchor link to section titled "Web pixel app extensions"We'll continue to add new custom pixel and app pixel events and features.
Milestone | Target |
---|---|
Add attributes to Checkout object |
March 2023 (shipped) |
Add firstName and lastName to Customer object |
March 2023 (shipped) |
Add productVariants to searchResult object |
March 2023 (shipped) |
Add address1 , address2 and zip to mailingAddress object |
April 2023 (shipped) |
Add type to Product object |
April 2023 (shipped) |
New standard event: checkout_shipping_info_submitted |
April 2023 (shipped) |
New standard event: checkout_address_info_submitted |
April 2023 (shipped) |
New standard event: checkout_contact_info_submitted |
April 2023 (shipped) |
Add support for all collections in collection_viewed event |
May 2023 (shipped) |
Add ordersCount to Customer object |
June 2023 (shipped) |
Custom pixel saved versions | July 2023 (shipped) |
Add discountApplications to Checkout object |
July 2023 (shipped) |
Add DiscountApplication.allocationMethod to Checkout object |
July 2023 (shipped) |
New standard event: cart_viewed event |
July 2023 (shipped) |
New standard event: product_removed_from_cart event |
August 2023 (shipped) |
Add Product.url to ProductVariant |
September 2023 (shipped) |
Add billingAddress to Checkout object |
September 2023 (shipped) |
New Custom Pixel Autocomplete - helps to write custom pixels referencing the standard event schema | September 2023 (shipped) |
New visitor API | September 2023 (shipped) |
Add Transaction.gateway to Checkout object |
October 2023 (shipped) |
New standard event: DOM events - clicked , input_blurred , input_focused , input_changed , form_submitted |
January 2024 (shipped) |
Add customer.id to the Orders object |
February 2023 (shipped) |
Availability of new Pixel Granular Consent Purposes | April 2024 |
Availability of new debugging and troubleshooting tools | Q2 2024 |
Availability of standard events: tracking errors during checkout | Q3 2024 |
Availability of support for extending data fields on standard events | Q1 2025 |