All Collections
Tech Specs
Using Smile on a 'headless' website
Using Smile on a 'headless' website

Can I use Smile on a website that doesn't use the default front end on Shopify, Wix, or Bigcommerce?

Nicole Miles avatar
Written by Nicole Miles
Updated over a week ago


When talking about “headless” websites, we mean any store that uses Shopify, Wix, or BigCommerce to process orders and handle customer accounts, but that does not use the default frontend, store, and/or checkout provided by their eCommerce platform.

A headless implementation can technically still work with Smile, but you do need to be on our Plus Plan, have development resources, and be aware that it comes with a few limitations.

Other than the limitations listed below, all program types and regular functionality of the panel and launcher are still available in a headless setup.

✅ Headless websites must be on our Plus Plan in order to implement Smile.

✅ Headless websites must still be on one of our supported platforms in order to use Smile.

✅ Please make sure you have your JavaScript SDK setting activated before moving on to the next steps.


API access

Our Plus Plan is required in order to implement Smile on a headless site because this is our only plan that offers API access.

Manually including Smile.js

Smile.js (which provides the rewards panel + launcher) must be manually included, as described in our docs. This will require the work of a developer and is not something we provide support on.

We do not recommend using Smile with single page apps

The panel and launcher rely on regular page reloads to update and refresh customer information. We do not recommend or provide technical support for using Smile with single-page apps (however some merchants have seen success manually reloading the customer object on page change).

Nudges may not behave as expected

Nudges (i.e. signup, refer after checkout, etc) may not show up as expected, as they are based on the URL structure of the target eCommerce platform.

What's next?

Learn more:

Did this answer your question?