LogoLogo
  • ๐Ÿ› ๏ธWelcome to Smartrr help docs
  • Links
    • Changelog
    • API Docs
  • Getting Started
    • Implementation
      • ๐Ÿช„Installing Smartrr on a Shopify 2.0 theme (Automatic Install)
      • ๐Ÿ—บ๏ธInstalling Smartrr on a custom Shopify theme (Guided Install)
      • ๐ŸงŸโ€โ™‚๏ธInstalling Smartrr on a headless store
      • ๐Ÿ’ปAdding Smartrr to a custom page (Shopify Liquid)
    • Onboarding
      • โ›‘๏ธBasic onboarding process
      • ๐ŸงคSmartrr team led onboarding
      • ๐Ÿ’ตPlans
      • ๐Ÿ’ณMigrating subscriptions from payment processors
  • Support
    • Subscription Setup
      • ๐Ÿ“‡Subscription Programs
      • โš“Subscription anchor dates
      • ๐Ÿ—“๏ธMaximum/minimum (finite) subscription plans
      • ๐Ÿ“งEmail subscription notifications (Customer Notifications)
      • ๐Ÿ“ฒSMS subscription notifications (via Twilio)
      • ๐Ÿ›๏ธSubscription discount codes
      • ๐Ÿ’ธPrepaid subscriptions
      • ๐ŸชœSequential Flow Builder?
      • ๐Ÿ“ฆShipping methods
      • โ”Subscriptions when an item is unavailable
      • ๐Ÿ’ฒBuy-now-pay-later payment methods for subscriptions
      • ๐ŸCheckout Extensions
    • Admin Portal
      • ๐Ÿ”Adjusting customersโ€™ subscriptions
      • ๐Ÿ“‡Adjusting customers' information
      • ๐Ÿคธโ€โ™‚๏ธ"View as customer" feature
      • ๐Ÿ•’Event log
      • ๐Ÿ“ŠAdvanced Analytics reporting
      • ๐Ÿ–Œ๏ธCustomer account portal theming
      • ๐Ÿ”คTranslations
      • ๐Ÿ’ปAvailable actions for customers in account portal
      • ๐ŸŽจCSS overrides
      • ๐Ÿ” Adjusting typography with CSS overrides
      • ๐Ÿ“ฃMarketing Banners
      • ๐Ÿ’ญRetention
      • ๐ŸงบBundles
      • ๐ŸŽLoyalty
      • ๐Ÿ”Passwordless login
      • ๐Ÿ’ŸCreator upsells
      • ๐ŸŽž๏ธInstagram feed
    • Customer Account Portal
      • ๐ŸšชAccessing the Customer Account Portal
      • ๐Ÿ”„Creating an account
      • ๐Ÿ”œViewing next orders
      • ๐Ÿ“Manage subscriptions
      • ๐Ÿ—ƒ๏ธOrder history
      • ๐Ÿ“งUpdating email address
    • Transactions
      • ๐ŸคSubscription transactions
      • ๐ŸšซFailed payments
      • ๐Ÿ“†Billing schedule
    • Integrations
      • ๐ŸŒAvailable integrations with Smartrr
      • ๐Ÿ“ฑAttentive x Smartrr Integration
      • ๐Ÿ“ฑBlueprint x Smartrr Integration
      • ๐Ÿ“ฌGorgias x Smartrr Integration
      • ๐Ÿ“ฉKlaviyo x Smartrr Integration
      • ๐ŸฆLoyalty Lion x Smartrr Integration
      • ๐Ÿ“ฑPostscript x Smartrr Integration
      • ๐Ÿ”Recharge x Smartrr Integration
      • ๐ŸŸฉShopify Flow x Smartrr Integration
      • ๐ŸชWebhooks
    • Shopify Questions
      • ๐Ÿ’ฒWill updating product prices in Shopify reflect in Smartrr?
    • Developer Documentation
      • Bundles: Developer Documentation
      • Adding Metafields to Disable Add to Cart for OOS Products
    • Troubleshooting
      • โธ๏ธWhy did my customer's subscription automatically pause?
      • ๐Ÿ“žWhy is my customer's shipping address invalid? (Phone number formatting)
      • ๐Ÿ†˜Canโ€™t find the answer to your question?
    • RSS Feed
      • ๐Ÿ“ณSmartrrโ€™s changelog: Stay up-to-date with Slack
Powered by GitBook
On this page
  • Subscription setup
  • 1. Set up a subscription program
  • 2. Select subscription products
  • Optional: Smartrr optimizations
  • On-site setup
  • 1. Install Smartrr snippets
  • 2. Add Smartrr subscription widget
  • Troubleshooting
  • Why don't see Smartrr on my theme once I preview my shop?
  • Can I add subscription pricing outside the Smartrr subscription widget?
  • How do I enable variant selection within the Smartrr subscription widget?

Was this helpful?

Export as PDF
  1. Getting Started
  2. Implementation

Installing Smartrr on a Shopify 2.0 theme (Automatic Install)

Implementing Smartrr on storefronts with one of Shopifyโ€™s 2.0 free themes: Dawn, Craft, Crave, and Sense.

PreviousImplementationNextInstalling Smartrr on a custom Shopify theme (Guided Install)

Last updated 7 days ago

Was this helpful?

Last updated: May 16, 2025

Note: Before implementing Smartrr, it's important to to determine your eligibility for offering subscriptions on your storefront. You must also have enabled for a product to be subscription-eligible.

If your store is using , and have not , youโ€™re eligible for our simple one-click automated install of Smartrr via our in-app Setup page.

As of 2023, Shopify has begun offering New customer accounts as a setting option. New customer accounts are not compatible with apps; please ensure you are using Classic customer accounts with Smartrr in order to display our Modern Account Portal where your customers will be able to access and manage their subscriptions.

Within the Smartrr app navigate to Setup under RESOURCES in the left-hand menu.

Subscription setup

1. Set up a subscription program

Subscription Programs are the heart of the Smartrr app. If you're just getting started with subscriptions, we can create a demo program for you by clicking Use a demo program. This will automatically create a "Subscribe & Save 10%" program for your shop.

2. Select subscription products

Now that your Subscription Program is created, your next step is to assign a product/s to this program.

Similarly to above, Smartrr can create a demo product for you if you press Use a demo product. This will create a Smartrr Snack Cookie (Demo) in your Shopify shop. You can use this demo product for previewing purposes, and will be able to delete it at a later date directly within your Shopify admin.

Note: If you select to create a Demo Product, it won't appear in previews or in your storefront until you go to your Shopify admin and set the product sales channel availability to "Online Store".

If you want to start with one of the existing products in your shop, press Select from existing products. You can select one or multiple products from the modal that appears.

Optional: Smartrr optimizations

Now that you've completed the required Subscription setup steps, explore the remaining cards on this tab for ways you can further optimize your subscription business:

  • Customize the look and feel of your customer account portal

On-site setup

1. Install Smartrr snippets

Warning: To prevent Smartrr from showing up on your site before you're ready to launch, we recommend navigating back to Shopifyโ€™s Themes to duplicate a copy of your current theme (Actions > Duplicate). Name it something that is easily recognizable, such as [Your Store] Smartrr Integration Copy [Date].

Select the Shopify theme you'd like Smartrr snippets to be in stalled on. Smartrr Snippets are files that are injected into your code base and will not modify any existing liquid files. These are required in order to render Smartrr on your storefront. There are five files that will be added under the Snippets section in your theme's liquid code.

2. Add Smartrr subscription widget

Smartrr's subscription widget is an app block that can be added to your Default product page from your Shopify theme's online customizer.

If you installed Smartrr snippets to a theme that supports our widget, you will see a green banner during this step that reads: "You're using a Shopify theme that supports the block for our Smartrr Subscription widget."

Below are Shopify themes that are compatible with Smartrr's subscription widget: Colorblock Craft Crave Creator Dawn Enterprise Expanse Fetch Focal Impact Impulse Motion Origin Prestige Publisher Refresh Ride Sense Spotlight Streamline Studio Taste Warehouse

Click Add Smartrr subscription widget to be taken to your live theme editor. Make sure you are viewing Products > Default product. Additionally, make sure you are previewing a product that you have added to a Smartrr subscription program. Under Product information, click Add block and find Subscription Options.

You can customize the look and feel of Smartrr Subscription Options on your by manipulating the block's settings in the left-hand sidebar.

Note: ๐Ÿ’ป Have a developer who would like to make even more changes to Smartrr's Widget? They can add custom CSS in the "Custom CSS" block.

Custom CSS Selectors
/* Universal Selectors */
.smartrr-plans-frequency-label /* Frequency Text */

[data-smartrr-price-style] /* Pricing Display */
[data-smartrr-subscribe-price] /* Subscription/OTP Price */
[data-smartrr-regular-price] /* Strikethrough Price */

/* Sub Program Radio Selectors */

[data-smartrr-selling-plan-group-input] + .smartrr-selling-plan-group-input-display:before /* Border color */

[data-smartrr-selling-plan-group-input] + .smartrr-selling-plan-group-input-display:after /* Inner Radio Color */

.smartrr-selling-plan-group-name /* Selling Plan Group Name Text */

/* Sub Program Dropdown */
[data-smartrr-selling-plan-group-select-id] /* Sets border/radius, width, padding, text and background color of the select element */

/* Sub Program Pills */
[data-smartrr-selling-plan-group-id].smartrr-group-active [data-smartrr-selling-plan-group-input-display-pills] /* Sets background and text color of active pill element */

[data-smartrr-selling-plan-group-id] [data-smartrr-selling-plan-group-input-display-pills] /* Sets background and text color of inactive pill element */

.smartrr-pills-header /* Used for font size, This affects group and plan pills */

[data-smartrr-selling-plan-group-input-display-pills] /* Sets border/border-radius */

/* Sub Program Grids */
.smartrr-grid-container /* Sets grid template for plan and group grids */

[data-smartrr-selling-plan-group-id].smartrr-group-active [data-smartrr-selling-plan-group-input-display-grid] /* Sets background and text color of active grid element */

[data-smartrr-selling-plan-groups-grid] [data-smartrr-selling-plan-group-input-display-grid] /* Sets background and text color of inactive grid element. Also sets font size */

[data-smartrr-selling-plan-group-input-display-grid] /* Sets border/border-radius of grid elements */


/* Plan Dropdown */
[data-smartrr-selling-plans-select] /* Selling plans dropdown */

/* Plan Radio */
[data-smartrr-selling-plan-radio] + .smartrr-selling-plan-input-display:before /* Border Color */

[data-smartrr-selling-plan-radio]:checked + .smartrr-selling-plan-input-display:after /* Inner Radio Color */

.smartrr-selling-plan-radio-header /* Selling Plan Name */

/* Plan Pills */
[data-smartrr-selling-plan-pills-header].smartrr-plan-active /* Active Pill Element, Used for background color and text color */

[data-smartrr-selling-plans-select].smartrr-pills-header /* Used for inactive elements background and text color. Also used for border settings/border-radius for plan pills */
.smartrr-pills-header /* Used for font size, This affects group and plan pills */

/* Plan Grids */
.smartrr-grid-container /* Sets the grid templates, also sets the width of grid container */

.smartrr-plan-active.smartrr-input-display-grid /* Active grid elementโ€™s background and text color */

[data-smartrr-selling-plans-select].smartrr-input-display-grid /* Inactive elementโ€™s background and text color. Also used for border settings/radius for all plan grid elements */

Troubleshooting

Why don't see Smartrr on my theme once I preview my shop?

Whether you've created a demo Subscription Program or made a new program from scratch, you may need to double check and make sure your program details have been successfully "saved". To do this, go to Subscription Programs > Manage Program. Check and see if there is a Discard / Save banner at the top, and click the green Save button.

Can I add subscription pricing outside the Smartrr subscription widget?

To add Smartrr's pricing element outside of the subscription widget, you can add the following code:

<div data-smartrr-product-id="{{ product.id }}" data-smartrr-price-
style="overwrite-compare" data-use-quantity="true">
  <span data-smartrr-compare-price></span>
  <span data-smartrr-regular-price></span>
  <span data-smartrr-subscribe-price></span>
</div>

Styling can be changed by adding the following values to the data-smartrr-price-style attribute.

  • original (Adds the original variant price/one-time purchase)

  • original-compare (Adds the original variant price/one-time purchase price and the compare price)

  • overwrite (Adds the current selected subscription plan's price)

  • overwrite-compare (Adds the current selected subscription plan's price and compare price)

  • strike (Discounted price struck through)

  • strike-compare (Compare at price struck through)

How do I enable variant selection within the Smartrr subscription widget?

  1. Find the product liquid file in your theme's code. This is usually named product.liquid or main-product.liquid, but can also be uniquely named if your shop uses a custom theme. If you can't find this file, you can also use theme.liquid.

  2. At the bottom of the file, paste the following code:

<script>
    document.addEventListener("DOMContentLoaded", function() {
        const SmartrrHandler = window.smartrrProductList["{{ product.id }}"];
        const variantSelectors = document.querySelectorAll('[data-variant-
            option - value]
        ');
        variantSelectors.forEach(selector => {
            selector.addEventListener('change', () => {
                // If the variant selectors values are the variant names
                const variantName = SmartrrHandler.ui.apiGetValue(selector);
                const variant =
                    SmartrrHandler.ui.logic.apiGetVariantByName(variantName);
                SmartrrHandler.ui.logic.apiChangeVariant(variant.id);
                // If the variant selectors values are the variant ids
                SmartrrHandler.ui.logic.apiChangeVariant(selector.value);
            })
        })
    });
</script>
  1. In lines 4-5 above, input the unique selector for your variant selector elements. This can be done by inspecting the elements using your browser's developer tools and finding a class or data-attribute that is used only for variant selectors. Examples below:

// Class syntax: 

querySelectorAll('.variant-selector')

// Data-attribute syntax: 

querySelectorAll('[data-variant-selector]')

Note: If your variant selectors are not <input> elements, then you can change the 'change' event listener to 'click'.

Alternatively, you can create a new program from scratch by pressing Create my own program. You'll be redirected to our Subscription Program tab to complete this step.

Note: We recommend always using for your Shopify products when offering subscriptions, even if there is only one option for your product. Shopify auto-assigns a "Default variant" to a product that does not have any variants associated with it. If you decide to add variants to a product at a later date, and subscriptions are already running with the "Default variant", then those subscriptions will fail and will need to be re-mapped.

Note: If you're planning on using , leave the I'm planning on using Smartrr's subscription widget box checked. If you're not using a liquid Shopify theme compatible with app blocks, and/or are planning to manually render subscription options on your shop's PDPs with the assistance of a developer, uncheck this box. If you're unsure, no worries. You can always duplicate a clean version of your Shopify theme and re-install Smartrr snippets again.

Don't see this banner?

Still having trouble installing and donโ€™t have access to a developer? We partner with a handful of excellent agencies. We also offer full white-glove onboarding support with our

๐Ÿช„
Learn more about setting up a Subscription Program here.
variants
Setup subscription loyalty rewards & referrals
Create dedicated shipping profiles for subscription purchases
Enable a passwordless login experience
Set rules around failed payment attempts
Integrate with the ecosystemโ€™s best
Grow and Excel plans.
Smartrr's subscription widget
review Shopify's subscription requirements
inventory tracking
one of Shopifyโ€™s 2.0 free themes
made any customizations your your themeโ€™s source code
There are two parts to Smartrr setup: Subscription setup and On-site setup. Each has its own tab with required steps to get Smartrr up and running.
If using a demo product, be sure to set Online Store as an available sales channel in your Shopify admin.
If you installed Smartrr snippets to a theme that supports our widget, you will see a green banner during this step that reads: "You're using a Shopify theme that supports the block for our Smartrr Subscription widget."
The Subscription Options widget is made up of two parts: Subscription Program, which is on top, and Subscription Plan (Frequency), which is on the bottom. Both parts can be customized independently of each other.
Check "Show prices?" to include subscription prices with/without price incentives. Uncheck "Show one time purchase option" to make a subscription the only option on a PDP.
Try our guided install instead.