App extensions and functions

Some apps add features to your store using extensions and functions. Extensions and functions are set up by the app developer and become available when you install and activate the app.

Extensions allow apps to add functionality to areas such as your Online Store, checkout, customer accounts, or Point of Sale. For example, an app might add a custom field to your checkout page, open a chat bot on your online store, or display loyalty points in customer accounts.

Functions allow apps to customize your store's backend logic. For example, an app might use a function to create a custom discount type, adjust delivery options at checkout, or apply specific payment rules. Functions run automatically as part of your store's operations after you set up the app.

You can view and manage extensions and functions for your installed apps from Settings > Apps in your Shopify admin. On the app's about page, the Extensions and Functions cards display how many are currently active and the areas of your store where they're available. Hover over the areas' text to view where they're active, such as Checkout, Customer accounts, Online Store, or Point of Sale for extensions, and Checkout, Discounts, Payments, or Shipping and delivery for functions.

Click Extensions or Functions to view the full list for that app. On the Extensions or Functions page, you can switch between the Active and Inactive tabs to review which extensions or functions are currently running. Click an extension or function to open it. Depending on the extension, this takes you to the area of your store where it can be activated or managed, or to the extension's health details.

If you're an app developer, then refer to the Shopify dev docs on extensions and Shopify dev docs on functions for technical documentation.

Activating extensions and functions

You activate and deactivate extensions and functions in the area of your Shopify admin where they're used. From the Extensions or Functions page in the app's settings, click an extension or function name to navigate to the area where it can be managed. After you activate an extension or function, it displays as active on the app's about page.

If you can review health details for an extension, then clicking a checkout or customer accounts extension opens its health details instead. To open the editor for one of these extensions, hover over the extension's row, and then click the Open in editor icon.

Extensions

Extensions can be activated in the following areas of your Shopify admin:

Functions

Functions can be activated in the following areas of your Shopify admin:

App events from extensions

Apps can use their checkout and customer account extensions to send app events to Shopify. An app event records an action in an extension, such as a customer viewing an offer. Shopify uses app events to display how customers use the app in your store analytics. The app developer can also view the events to monitor and support their app, including for their analytical purposes.

App events on checkout and customer accounts are sent only after a customer allows analytics in your customer privacy settings. Shopify might return aggregated information related to visitor ID and session ID to the merchant, attached to a developer app event, for merchant analytics. If you don't want an app to send app events on your storefront, then uninstall the app.

Understanding extension health

Extension health tells you how reliably an app's checkout or customer accounts extensions load for your customers. When an app extension fails to load, customers don't get the feature that it adds to your checkout or customer accounts, such as a custom field or loyalty points.

Considerations for extension health

Before you view an app's extension health, review the following considerations:

  • Health is measured only for active extensions in checkout and customer accounts.
  • Health isn't measured for extensions in other areas, such as the Online Store or Point of Sale, or for functions.
  • Failure rates are estimated conservatively, so an extension with only a few loads is less likely to be flagged because of a small number of failures.

How extension health is displayed

Each checkout and customer accounts extension displays one of the following health statuses:

  • Good: No sustained load failures were detected for the extension.
  • Warning: More than 5% of the extension's loads in the last 7 days failed, and the failure rate has stayed above 5% for 72 hours.
  • Critical: More than 50% of the extension's loads in the last 7 days failed, and the failure rate has stayed above 50% for 48 hours.
  • Not enough data: There isn't enough data to measure the extension's health. This status is displayed when the extension loaded fewer than 10 times in the last 7 days, or when its current version doesn't have enough history yet. Health is measured for each version of an extension, so a recently updated extension can have this status until its new version has at least 7 days of activity, even if it loads often.

The extensions also have a details page that displays the health status and the following metrics for the last 7 days:

  • Failure rate: The share of the extension's loads that failed.
  • Failed loads: The number of times that the extension failed to load because of an app issue.
  • Extension loads: The number of times that the extension loaded.

Review an extension's health

  1. From your Shopify admin, go to Settings > Apps.

  2. Click the app that you want to review.

  3. Click Extensions.

  4. In the Active tab, review the Health column for each checkout and customer accounts extension.

  5. Optional: To review more details, click the extension name.

Handling extension load failures

If an extension's status is Warning or Critical, then a banner on the extension details page states that the failures are an app issue and that the app developer has been notified. To open the extension in the editor, click Open in checkout or Open in customer accounts. For help with the extension, contact the app developer.

If an extension's status becomes Critical, then staff who can review extension health receive an alert in your store's Alerts feed. Click the alert to open the extension details page.

Troubleshooting function errors

If a function encounters an error, then a warning is displayed on the Functions card on the app's about page and on the functions page. The card displays Errors on [number] area instead of the usual available areas count, and the warning indicates when the most recent errors were detected.

On the Functions page, functions that have errors are highlighted with a Warning icon. If a function has errors, then contact the app developer for help. In some cases, the error might already be resolved. You can also share function logs to help the developer troubleshoot the issue.