Under The Hood

How Fairing Works

The majority of Shopify apps provide little clarity into what they're actually doing to your site. We've seen apps completely update theme files or use bloated frameworks that dramatically slow down site speed. It can be quite frustrating. At Fairing, we're focused on building an optimal experience for both you and your customers. The below outlines how Fairing and Question Stream™ work, how we implement with your Shopify theme, and what permissions we need to provide you with the best experience.

Installing Fairing

When you install Fairing, we create a row in our database with your account and contact information. We also add our script to your order confirmation page via Shopify's Script Tags API endpoint. We use the display_scope property to only load our script on your order_status page – therefore we will not interfere with any pre-checkout usability, site speed, or your ecommerce conversion rate.

When your Question Stream is enabled, our script initializes and we inject a form into the DOM of your order confirmation page. If you uninstall Fairing, this script is removed.

Checkout Extensions

Shopify is in the process of deprecating the checkout.liquid template in favor of a component based checkout. We've launched our Shopify extension in November of 2023. For more information view our Extensibility documentation.


We only ask for permissions to data that we need for Fairing to provide the best experience for you. If we need additional permissions for particular features, we'll ask you. When you initially install Fairing, we ask for:

View Shopify Account Data

View Shopify Account Data grants us access data such as your Shopify account email addresses, phone numbers, and locations.

View Orders

View Orders grants us access to your order data, which allows us to pull certain properties and affix them to our Question Stream™ response data. We pull information like order total, UTM parameters, and discount codes. We do this so you can more easily analyze your Question Stream™ response data. Our application pulls this data in real-time when a survey response is submitted.

View Customers

Our customer type targeting feature allows you to show your questions to new, returning, or all customers. This feature is powered by the order_count which we receive from the customers Shopify API endpoint.

Manage Your Online Store

This permission allows us to add script tags to your site. As noted above, we only add a script on your order confirmation page. If we didn't have this permission, you'd be required to insert the script tag yourself, creating a less than optimal onboarding flow.

Launching Your Question Stream™

When you finish editing your question and enable it, our script, located on the order confirmation page, is set live. This script waits until your order confirmation page is fully loaded and then initializes to display questions on the page. We reference our database during this process to see if the order already has a response.

By default, we display the survey below the "Thank you {{first.name}}" message. We do this by locating a specific element on the page and inserting our survey immediately after it. If you're on Shopify Plus and want to designate a specific location, you can do that too.