Shopify Functions was announced by Shopify in their Summer Editions 2022 as a new, fundamental way to extend and customize Shopify. But most Shopify merchants and developers in the ecosystem don’t know what Functions are, why they’re important, or what they can be used for.
In this two-part blog post, we’ll explain what Functions are and why they’re important, and arm you with the knowledge so you can be an early adopter of this new, powerful Shopify feature.
We’ve broken this down into two parts. In this first part, we’ll cover what Shopify Functions are, why Shopify introduced them, and why they’re likely a cornerstone to the future of building Shopify customization. In the second part, we’ll explore what you can build with Functions, and how you can get started building your first Function!
Commerce is ever-evolving, and Shopify needs to evolve with it in order to provide ever-improving buyer experiences. Shopify introduced Functions to open up ways for the thousands of developers in the Shopify ecosystem to help extend and customize the platform.
Functions are small pieces of code that power very specific customization use cases. Early examples include the ability to provide more powerful and flexible discount logic during the checkout flow, customize what payment and delivery options that are available, and how they’re presented. Shopify’s Winter Editions 2023 saw the expansion of Functions use cases, including the creation of product bundles or the validation of cart contents.
And importantly these small pieces of code run on Shopify’s servers with very strict performance requirements, enabling customization without the risk of degrading performance and a poor buyer experience.
For those who have been around the Shopify ecosystem for a while might say that this sounds a lot like Shopify Scripts, which was introduced by Shopify in 2016. And it’s true, Functions and Scripts are very similar. But there are some key differences.
Scripts are only available to merchants on the Shopify Plus plan, while public apps using Functions are available on all plans. The functionality that once was gated to only Plus merchants will now be unlocked for everyone.
Foremost, Shopify has set a performance limit that requires Functions to execute in a mind-whopping 5ms, which makes it 100x faster than Scripts. In an age where milliseconds impact conversion metrics and merchants run massive flash sales, that performance really adds up.
This super-fast execution is why Shopify feels confident to open up more parts of their buyer-facing experiences to customization; areas of the platform that used to be off-limits to developers outside of Shopify themselves.
With Functions Shopify is able to have their cake, eat it too, and share it with the rest of the world. Thousands of developers in the Shopify ecosystem can build new and unique customizations, covering use cases that Shopify could never have imagined, let alone had time to build. These will help merchants provide experiences that are tailored to their business, providing buyers with unique and delightful experiences. All the while Shopify ensures that the platform stays performant, with no negative buyer experiences. It’s a win-win-win-win scenario for Shopify, developers, merchants, and buyers!
This means that Functions is likely the way in which Shopify will continue to unlock more customization options in new areas of the buyer experience, such as checkout.
Since announcing Functions in the summer of 2022, Shopify has extended the number of available Functions APIs to four. Another four are in developer preview, and many more are likely to follow in the future.
In the second part of this article, we go more into detail about what these different options are, and give you hands-on tips on how to get started building with them. If you’re a developer in the ecosystem, Functions will likely become a core competency that is definitely worth learning.