Only this pageAll pages
Powered by GitBook
1 of 77

Help Docs

Loading...

Links

Getting Started

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Support

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Developer Documentation

Loading...

Troubleshooting

Loading...

Loading...

Loading...

Loading...

Loading...

Implementation

Getting Smartrr on your site, from Shopify to headless themes.

Welcome to Smartrr help docs

We're here to help you create a deeper connection between your brand and your most engaged customers. Have a specific question in mind? Use the search bar in the top right corner ☝️👉

Last updated: May 12th, 2025

Getting Started

Implementation

Getting Smartrr on your site, from Shopify to headless themes.

Onboarding

Everything you need to know about getting started with Smartrr, including basic to white-glove onboarding service-levels.

Support

Subscription Setup

All information on getting a successful subscription program setup on your store.

Admin Portal

The Admin Portal is where you can view and edit your customer’s subscriptions, adjust your theme settings, view analytics, and more.

Customer Account Portal

The Account Portal is where your customers can view and interact with their subscriptions orders.

Transactions

Understand when subscription transactions occur and how to set up rules around your customers’ subscription billing.

Integrations

Instructions on how to integrate Smartrr with some of the leading tech-partners in the ecommerce industry.

Shopify Questions

Developer Documentation

Troubleshooting

RSS Feed

Installing Smartrr on a headless store

Implementing Smartrr on headless storefronts using the Shopify Plus API

Last updated: May 14, 2025

App Installation

In your Shopify admin ([your-store-name].myshopify.com), navigate to 'Apps'. The Smartrr app should now show on your app list.

Click on the Smartrr app to open. Navigate to the Integrations tab in the left-hand navigation and generate a new API token using the button that reads Add Key.

We recommend setting both your Token Nickname and your Application Name as the name of the platform you are authorizing for. We also recommend that Application Name specifically be in all capital letters, without spaces.

Important: Ensure that token's permissions for Selling Plan are left set at the default selection: Selling Plan: Read. If permissions are toggled to "None" you will not be able to read Selling Plans from the API.

Headless Implementation

Use the below endpoint to call for information about product Subscription Programs.

Call Subscription Program Information

Method 1: Shopify Storefront API

Using Shopify’s Storefront API, product’s selling plan groups can be pulled. To get only Smartrr selling plan groups, filter by appName and limit to Smartrr. Selling plans can be accessed from the selling plan groups.

To retrieve selling plans using Shopify's Storefront API, you can use a GraphQL query. Below is an example of how you might construct a query to fetch selling plans and their details based on a selling plan group:

query GetSellingPlansByProduct($first: Int, $productId: ID!) {
  product(id: $productId) {
    title
    sellingPlanGroups(first: $first) {
      edges {
        node {
          name
          appName
          options {
            name
            values
          }
          sellingPlans(first: $first) {
            edges {
              node {
                id
                name
                description             
                 options {
                  name
                  value
                }
              }
            }
          }
        }
      }
    }
  }
}

Shopify product documentation:

https://shopify.dev/docs/api/storefront/2024-10/queries/product

Method 2: Smartrr API

GET https://api.smartrr.com/vendor/selling-plan-group

Subscription Programs are configured in the Subscription Programs tab in the left hand navigation of the Smartrr app.

Query Parameters

Name
Type
Description

cache

true/false

Available values : true, false

200: OK Successful responseCopy
{
    // Response
}

From the call response, use the data provided in the sellingPlans[ ] array to power the storefront display. Submit the shopifyNumericId value for the field selling_plan in the form POST submission in order to attach a Subscription Group alongside an item added to a customer’s cart.

Attach Subscription Group to Item Added to Cart

POST  https://<shopify domain>/cart/add

Be sure to replace <shopify domain> with your store's shopify domain. Note, this is required to be a part of cart workflow and not checkout workflow as Shopify does not support subscriptions within the checkout workflow.

The selling_plan property NEEDS to be provided for any subscription line item that is added to cart. Use the cartLinesAdd mutation from Shopify Storefront API to do this.

200: OK JSON object of the line items associated with the added items422: Unprocessable Entity Occurs when the exact quantity specified for one of the items can't be added to the cart

{

   // Response

}

Important: The product/variant will need to be enabled for the respective Subscription Program in the Smartrr admin portal. These can be detected with the productIds[ ] and/or variantIds[ ] array.

Displaying Account Portal

There are three methods for brands to display the Smartrr's Shopify liquid account portal on a headless shop.

  1. [Recommended] Forward /account –related URLs to your {your-store}.myshopify.com domain.

    1. This is our recommended method as it allows Shopify to continue handling all account actions (Login/Logout/Register/Checkout).

  2. Create an account page on your site using the code found in your Shopify theme customers/account.liquid and use <iframe> to display it. This works for headless shops using React.

  3. Duplicate smartrr-account.liquid in HTML, replacing the liquid code with the corresponding HTML Code. This works for headless shops not using React.

For methods 2 and 3, please follow these additional instructions:

Pulling in data for liquidCustomer

Below is the schema for the object.

{
 shopifyId: string,
 email?: string,
 phone?: string,
 firstName?: string,
 lastName?: string,
 trackShipmentText: string,
 defaultAddressId?: number,
 defaultAddress?: MailingAddress,
 state?: string,
 customerCurrency: string,
 orderCount: number,
 totalSpent: number,
 addresses: MailingAddress[]
}

Adding Smartrr to a custom page (Shopify Liquid)

How to add Smartrr to collection pages, landing pages, and custom snippet blocks within Shopify.

Collection Pages

Smartrr can be added to any collection page where a product form is present.

Add the {% render 'smartrr-product', product: product, smartrr_unique_id: product.id, smartrr_collection: true %} snippet to the desired product form.

Ensure smartrr_unique_id value is the product ID.

Add the {% render 'smartrr-product-styles %} tag to the top of the collection page file.

Add the <script type="text/javascript" src="{{ 'smartrr-product-script.js' | asset_url }}"></script> script tag to the collection page. Make sure this is placed before the {% render 'smartrr-product' %} tag is rendered.

Landing Pages

Smartrr can be added to any landing page where a product form is present AND you are able to manually pull in the liquid product object.

Add the {% render 'smartrr-product' %} snippet to the desired product form alongside the smartrr_unique_id: product.id % attribute.

Ensure smartrr_unique_id value is the product ID.

Example:

{
    % render 'smartrr-product', product: product, smartrr_unique_id: product.id %
}

Custom Liquid Blocks

Example:

{% assign filtered_selling_plan_groups = product.selling_plan_groups | where: "app_id", "4836205" %}

{% for group in filtered_selling_plan_groups %}
  <div>
    <label>{{ group.name }}</label>
    <input type="radio" value="{{ group.id }}">
  </div>
  <div>
    <select>
      {% for plan in group.selling_plans %}
        <option value={{ plan.id }}>{{ plan.name }}</option>
      {% endfor %}
    </select>
  </div>
{% endfor %}

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.

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 where your customers will be able to access and manage their subscriptions.

From the , install the Smartrr app.

Shopify selling plan group documentation:

For more information on this POST method, visit Shopify's documentation on.

Shopify cartlinesAdd documentation:

We still recommend completing up to step 3. Smartrr Installation – part 1. Install Snippets onto a dummy theme for developers to see how Smartrr renders the account portal, or if your developers would like to duplicate a piece of liquid functionality to headless.

The /customer/auth/session endpoint expects a liquidCustomer object. If the page is not used, the data may need to be pulled elsewhere. The customer data can be retrieved from.

One method of getting the liquid product object is by using the all products objects and assigning the product handle. Example: {% assign product = all_products['product-handle'] %} For more information, .

Lastly, you can use custom liquid to pull in selling plan groups (a.k.a. subscription programs) and their selling plans (a.k.a. subscription plans). With this, you can loop through the selling plans to build a UI where selling plans can be selected. For more information on selling plan groups,

Make sure that the selling plan ID is being captured upon adding product to the cart. The selling_plan property is needed for the POST request to the cart API. For more information, .

review Shopify's subscription requirements
inventory tracking
Modern Account Portal
Shopify app store
https://shopify.dev/docs/api/storefront/2024-10/objects/SellingPlanGroup#top
Cart API References
https://shopify.dev/docs/api/storefront/2024-10/mutations/cartLinesAdd#argument-lines
Smartrr's in-app Setup instructions
myshopify.com/account
Shopify Storefront API
click here
click here.
click here

Onboarding

Everything you need to know about getting started with Smartrr, including basic to white-glove onboarding service-levels.

Plans

Smartrr offers three plans for brands

Whether you're just starting with subscriptions or are looking to migrate an existing subscriber base from another platform—we have a plan that will work for your needs.

  • 🚀 Launch: Self-service for brands looking to explore the benefits of subscriptions.

  • 📈 Grow: Advanced features and support for brands scaling their subscription business.

  • 💎 Excel: Maximize brand LTV with extensive features and further customization.

Monthly Pricing

🚀 Launch
📈 Grow
💎 Excel

$99/mo + 1% of subscription GMV

$299/mo + 1% of subscription GMV

starting at $499/mo + 1% of subscription GMV

Annual Pricing

🚀 Launch
📈 Grow
💎 Excel

$99 $89/mo + 1% of subscription GMV

$299 $249/mo + 1% of subscription GMV

starting at $499 $399/mo + 1% of subscription GMV

Gross Merchandise Volume (GMV)

Gross Merchandise Volume, or GMV, represents the total dollar value of orders facilitated through the Smartrr platform. Smartrr doesn’t charge any transaction fees.

All orders facilitated by Smartrr, whether first subscription orders or automatically created recurring subscription orders are counted in this calculation, including any one-time products that are present in the order (i.e. add-ons). Any orders that include only one-time products are excluded from the Subscription GMV calculation.

Subscription GMV is calculated as the total of all the prices of line items in the order plus the shipping costs and taxes. The line item prices reflect any subscription discounts (e.g. Subscribe & Save 20%), but not any discounts or promotions applied at the cart level (e.g. promo codes).

For orders that are placed in currencies other than USD, Smartrr calculates the USD amount based on the spot rate conversion rate on the day of the order.

Feature Breakdown

Features
🚀 Launch
📈 Grow
💎 Excel

Natively compatible with Shopify checkout & apps

✅

✅

✅

✅

✅

✅

✅

✅

✅

✅

✅

✅

✅

✅

✅

Prepaid subscriptions

❌

✅

✅

Custom sequential subscriptions

❌

✅

✅

Multi-shop setup

❌

✅

✅

❌

✅

✅

Bundles

❌

❌

✅

NEW Loyalty rewards & referrals

❌

❌

✅

NEW Memberships

❌

❌

✅

NEW Advanced sequencing

❌

❌

✅

NEW Digital subscriptions

❌

❌

✅

NEW Tiered pricing

❌

❌

✅

❌

❌

✅

Unlimited API calls

❌

❌

✅

Integrations & Analytics

🚀 Launch

📈 Grow

💎 Excel

❌

✅

✅

❌

✅

✅

NEW Custom-built reporting

❌

❌

✅

Support

🚀 Launch

📈 Grow

💎 Excel

Smartrr University & help documentation

✅

✅

✅

Email & chat support

✅

✅

✅

Dedicated Client Success Manager

❌

✅

✅

Phone & video call support

❌

✅

✅

Post-launch development support

❌

✅

✅

Early access to new features

❌

✅

✅

Dedicated Slack channel

❌

❌

✅

Regular subscription consults

❌

❌

✅

Onboarding

🚀 Launch

📈 Grow

💎 Excel

White-glove onboarding

❌

✅

✅

Technical consultation

❌

❌

✅

Implementation of custom Figma design

❌

❌

✅

NEW We'll design for you

❌

❌

✅

Changing plans

Note: If you are currently on our 💎 Excel plan and would like to downgrade, please reach out directly to your Customer Success Manager.

From within the Smartrr app, navigate to Account located under RESOURCES. Once there, you’ll be met with our three account plans: 🚀Launch, 📈Grow, and 💎Excel.

Click Switch to Plan on the new plan you like. If you are currently on Launch, you will only see this option on Grow, and vice versa. You’ll be redirected to Shopify to approve the subscription. Review all information in Shopify then click Approve. You will be billed via Shopify for your new total amount and your account features access (either upgrades or restrictions) will be adjusted automatically in-app.

Smartrr team led onboarding

On our ‘Grow’ and ‘Excel’ plans, we’re thrilled to be able to offer our brands a hands-on onboarding experience that makes branded subscription setup a breeze.

At Smartrr, we’re always working to make our onboarding experience as seamless as possible. Our hands-on onboarding service is ideal for brands who have a custom-built Shopify theme, a Shopify store with a headless CMS, or for stores who do not have access to internal design and development resources.

Go-Live Planning

As the first step, your store will be asked to complete a comprehensive onboarding form. In this form, you’ll be asked to provide information on:

  • Basic company details—including your Shopify store/s url

  • Design—including plans for how you would like subscription offerings to appear on your site

  • Products eligible for subscription

  • Shipping rules for subscription products

  • 3PL logistics and fulfillment options

  • Current payment processor

  • Store languages, currencies, and billing time zones

  • Current subscription offerings (if applicable)

This information will help the Smartrr team prepare for your launch and match you with the best dedicated Client Success Manager for your brand. Our Client Success Managers (CSMs) work with brands on Smartrr both before going live and on an ongoing basis to make sure they’re taking advantage of all that Smartrr has to offer.

Once the onboarded form has been submitted, your dedicated CSM will reach out to schedule a kick-off meeting. In this meeting, your CSM will define timelines, scope of work, and expectations for launching subscriptions with Smartrr. This is also the best time to discuss any unique requests you may have before launch and make sure we can do our best to accommodate requests within scope.

Subscription Setup

With Smartrr led onboarding, our in-house development team will fully manage the steps needed to install Smartrr, including:

  • Adding relevant code snippets onto your site’s product pages

  • Setting up Subscription Programs

  • Customizing your store’s Account Portal

  • Set up rules around failed customer payments

  • Set up a billing schedule for subscription orders

  • Set up your businesses shipping profiles

Smartrr also allows you to ​​add advanced subscription features to your store—including but not limited to: setting up subscription discounts, offering custom shipping options for subscription orders, and creating anchor dates for your subscriptions. With Smartrr led onboarding, our team is happy to help advise and implement these additional features that may help your store grow.

If you indicated in your onboarding form that you currently offer subscription services and need to migrate from another subscription platform, your CSM will schedule a call to go over migration-specific details and steps.

Go-Live & QA

Once setup is complete, we will schedule a ‘Go-Live’ meeting with your team. During your call, we will show you a preview of your Smartrr integration. If additional modifications for your setup are required before you go-live, we will work with our internal team on second-round revisions and finalize a new target go-live date. Our team will accommodate up to two rounds of revisions to implementation and design prior to launch.

When the go-live date is finalized, your CSM will schedule the following action items to take place on go-live day:

  1. Migration (if applicable)

  2. Smartrr push-live

  3. Full site QA

Following these steps, your CSM can schedule an additional Smartrr Orientation call to show your team how to most effectively use Smartrr day-to-day.

Post Going Live with Smartrr

We encourage our clients to meet regularly with their CSMs! We suggest regular meetings to:

  1. Review new feature releases by Smartrr and general product enhancements

  2. Discuss joining beta on any upcoming releases

  3. Having team trainings on Smartrr

Excel clients also have optional monthly business reviews to discuss their subscription performance and potential areas for improvement. Excel clients will also have the option of a dedicated Slack channel to reach their Smartrr team more conveniently!

Automated customer &

Dedicated subscription

Subscription management

NEW

NEW

, , , Littledata, + more

powered by Looker

If at any point you’d like to upgrade to or demo our 💎 Excel plan, please reach out to .

For Excel plan clients, our team is able to provide design consultation and implementation services ranging from full implementation of a theme from our pre-built, customizable theme library or implementation of a completely branded design, provided to us by your team via a shared file.

our sales team
Branded account portal
SMS
email notifications
shipping profiles
(skip, gift, send now)
Smart retention
Passwordless login
Klaviyo
Gorgias
Postscript
LoyaltyLion
Advanced Analytics
Figma

Subscription Setup

All information on getting a successful subscription program setup on your store.

Migrating subscriptions from payment processors

Smartrr supports migration of payment methods for multiple payment providers.

Migrating existing customers doesn't have to be daunting. If you're looking to migrate to Smartrr, you can rest easy knowing we offer in-house migrations from your current subscription app.

Once your initial Smartrr setup is complete, our team will schedule a migration date. On this day, we'll have our QA team ready to review your migration while we run our dedicated migration script. After a successful migration, our QA team does one final review of the site and the data transferred—at which point your shop will be ready to go live.

Below you will find some more information on the requirements of migrating to a Shopify Subscription API eligible subscription app.

Payment Processors

Smartrr supports migrating subscriptions from multiple alternative payment processors including:

  • PayPal Express

  • Stripe

  • Authorize.net

  • Braintree*

Braintree

In order to migrate subscriptions from Braintree, subscription data will first need to be transferred into Stripe, which is a supported Shopify payment processor.

If you do not already have a Stripe account you will need to create one to transfer the payment data into from Braintree. Once all customer’s payment information is in a Stripe account we can fully migrate all your subscriptions into Smartrr.

Subscription Programs

A Subscription Program is the heart of the Smartrr app. Subscription Programs control which products are available for subscription purchase.

Last updated: May 14, 2025

What is a Subscription Program?

Subscription Plans, products, and variants are objects within a Subscription Program. You may set up one or multiple Subscription Plans per shop.

Two examples for the same store are provided below:

  • Example 1: You would like to offer a discount for customers who elect to subscribe to your product vs. make a one-time purchase.

  • Example 2: You would like to offer a variety-pack product with only a monthly subscription cadence, but the individual products within the product are available on both a bi-weekly and monthly cadence.

Both above examples are possible to execute within the same storefront by creating multiple Subscription Plans within a Subscription Program.

Creating a Subscription Program

Under Configuration in the left-hand menu, click on Subscription Programs. Click on the button Create program.

First, add all required information to your Subscription Program:

  • Storefront label: Title of the Subscription Program on your product page, ex. “Subscribe & Save 10%”

  • Admin label: Optional—if you would like your Subscription Program to have a different name in your Smartrr app

Next, add all required information for each Subscription Plan within your Subscription Program:

  • Cart & Checkout label: Label displayed alongside the product once it’s been added to cart and on the checkout page, ex. “Delivered Every 2 Weeks”. Replace with a "{{H}} " to hide this label from customers.

  • Billing Schedule: Indicate the number of intervals between billings as a numerical value (ex. “2”) and the interval type (Days, Weeks, Months, or Years)

  • Discount Incentive: Percentage or fixed amount discount that a customer receives with this Subscription Plan. You can also opt to change the discount percentage after a certain number of subscription orders.

For advanced subscriptions, the following options are available for merchants on Grow and Excel plans:

  • Prepaid: If applicable, indicate the number of intervals between billings as a numerical value (ex. “2”) and the interval type will set automatically based on the interval type in the plan's Basic details tab.

  • Max/Min: Used when you'd like a subscription to end after a certain number of billing cycles.

  • Anchor: Used to set a day on which billing interval calculations should be made. Learn more about anchor dates and why you might use them here

Once all required information has been completed, click Save.

Warning: To ensure the best experience for your customers, we don’t recommend adding or deleting products or variants from a Subscription Program once it’s set up and active in your store. Only delete a product from a Subscription Program if there are no active subscriptions associated with the Subscription Program.

If you change a discount in a Subscription Plan, the discount will only go into effect for new subscriptions created. The discount will not be retroactively updated for existing discounts.

Portal Add-ons

Portal add-ons are accessible by the customer via the Account Portal. Customers can add products to their subscription orders as one-time add ons at a discounted price.

To configure add-ons, navigate to Subscription Programs and then click on the Portal Add-ons tab.

Click on Browse to select one or multiple products/variants to be available to customers as add-ons.

Products that are selected here will be visible to your customers in their account here:

Customers can click on an dd on image from within their account to view all images and read the product's description, which pulls from Shopify.

How can I add filters to add-ons?

If you are a shop with a large add-on offering, it might be helpful to add filters so your customers can easily find what they're looking for. To setup a filter, go to product's page from within the Shopify Admin and create a new product tag including the Smartrr filter prefix, SmartrrFilter: (ex. SmartrrFilter:Cookie). Smartrr will pick up on these tags for applicable add-on products and will automatically create filters to include within the Add-ons section.

Subscription Benefits app block

In your Shopify theme customizer, you can add the Smartrr Subscription Beneftis app block to your product pages. This widget will allow you to elaborate to customers the benefits of subscribing and can be fully customized.

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.

Last updated: May 16, 2025

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.

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:

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:

  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:

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

Basic onboarding process

If you're on Smartrr's 🚀 Launch plan, you will be able to get up and running easily with detailed guidelines and helpful documentation provided by our team.

Congratulations on making the decision to get started with Smartrr! To make your onboarding as seamless as possible, we’ve created the article outline that will be your best resource for step-by-step instructions to creating a premium subscription experience for your brand.

Overview

Implementation

Maximum/minimum (finite) subscription plans

This optional subscription plan setting allows brands to define a required maximum or minimum number of billing cycles for any subscription plan.

Last updated: May 14, 2025

The two most common use cases for this setting include 1) finite gifted subscriptions or 2) minimum orders required at initial purchase.

1) Finite use case example: Customer purchases a monthly gift subscription for a 6 month term. Subscription automatically ends after 6 months.

Setting up a maximum/minimum billing cycle

To define a maximum or minimum number of billing cycles for a selling plan go to Subscription Programs in the left hand navigation.

In the relevant subscription program, click on the tab Max/Min tab for the specific subscription plan you want:

Define minimum and/or maximum number of billing cycles using the input fields.

This optional setting can be enabled for each subscription plan within each subscription program.

We have migrated brands from every major subscription app as well as bespoke platforms. Our team is always available to answer any questions about your specific migration-related needs, and you can reach us at with any questions.

*In order to migrate subscriptions from Braintree there is a required extra step which is described in the .

Once migration is complete, Smartrr can use any of Shopify's eligible payment processors to handle all new subscription payments. It's always important to to determine your eligibility for offering subscriptions on your storefront.

You will need to reach out to Braintree and have them create a file that can be transferred to Stripe. discussing this process with Braintree.

Storefront option label: Cadence text to display next to plan selector on your product page, ex. “Subscribe & Save 10%'', “Deliver every”, or “Frequency”. Onsite example:

Display: Label of the plan frequency selection on the product page, ex. “Every 2 Weeks”. You are able to add multiple selection options. Onsite example:

Category: Shopify to be assigned to each Subscription Program (selling plan). We recommend always leaving this set to "Subscription".

Note: At this time, it's not possible to add different add-ons per subscription program, or to offer different discounts per product in the add-ons section. To stay up-to-date with new features we release, you can follow our .

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.

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

​ - Best for stores using an unmodified Shopify 2.0 theme, like

​​ - Best for stores using a modified or custom Shopify liquid theme

​ - Best for self-hosted stores that pulls data from Shopify via Storefront API

Still have questions on how to get started with Smartrr or interested in learning more about our experience? Reach out to us at

2) Minimum orders required example: Customers are required to sign up for a minimum of 3 cycles (orders) with a new subscription. Only after this 3rd consecutive order will the customer be presented with the option to cancel their entire subscription in the .

As of July 1, 2022, merchants selling to customers in California, United States may not be able to offer minimum required billing cycles. Please for more information.

hello@smartrr.com
review Shopify's subscription requirements
Here’s some additional documentation
requires a category
changelog
section below
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 */
<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>
<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>
// Class syntax: 

querySelectorAll('.variant-selector')

// Data-attribute syntax: 

querySelectorAll('[data-variant-selector]')
customer account portal
review Shopify's subscription requirements
inventory tracking
one of Shopify’s 2.0 free themes
made any customizations your your theme’s source code
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.
How do I install Smartrr on a Shopify 2.0 theme? (Automatic Install)
Dawn
How do I install Smartrr on a modified or custom Shopify theme? (Guided Install)
How do I install Smartrr on my headless store?
white-glove onboarding
hello@smartrr.com.
read here
Smartrr's subscription widget

Email subscription notifications (Customer Notifications)

Keep your customers in the know about their upcoming subscription orders with customizable email notifications.

Last updated: May 14, 2025

Overview

You are able to send email notifications through Smartrr based on specific billing events. The available email notifications are:

  • New subscription

    • Subscription created – Existing customer: Sent when a new subscription order is created for a customer who already has a customer account.

    • Subscription created – New customer: Sent when a new subscription order is created for a customer who does not have a customer account.

  • Subscription management

    • Upcoming subscription: Email sent in advance of a recurring subscription order being placed.

    • Subscription auto-resume reminder: Sent 7 days before a paused subscription is set to auto-resume.

    • Payment expiration notice: This is a CONDITIONAL email because it will only send in place of the "Upcoming subscription" email is the credit card used for an upcoming subscription is set to expire.

    • Item out of stock: Sent when a customer’s subscription has an item has gone out of stock.

    • Subscription canceled: Sent when a subscription order has been canceled.

    • Subscription paused: Sent when a subscription order has been paused.

    • Subscription reactivated: Sent when a subscription order has been reactivated.

  • Loyalty and referrals

    • Successful referral: Sent to a customer when someone has successfully used their referral code.

  • Gifted subscriptions

    • Gifted subscription: Sent to gifter as confirmation that a subscription gift has been scheduled.

    • Gifter subscription shipped: Sent to gifter when a gifted subscription order has been shipped.

    • Giftee subscription shipped: Sent to the giftee when a gifted subscription order has been shipped along with gift message.

  • Passwordless Login (The below emails will only send if passwordless login is enabled in Theming.)

    • One-time code login: Provides a one-time code for a customer to log into their account.

    • Magic link login

📧 Tip: For Upcoming Subscription emails, you are able to designate "Email send time" by the number of days before a subscription order is placed.

Note: If you've enabled Smartrr's default templates, you won't be able to edit the content of individual emails. To edit the individual emails with HTML instead of with Smartrr's custom default templates, toggle Enable default templates to OFF.

How to Customize Default Templates

Navigate to Customer Notifications under CONFIGURATION in the left-hand menu.

Click on Customize defaults to globally add a logo and change color schemes for default email templates.

Settings

  • Enable email header / footer: Injects a standard header and footer across all emails

    Reset default styles. Enable to add a JPEG or PNG logo across all emails. Footer information is pulled directly from your store's Shopify contact information.

  • Reset default styles: When pressed, resets all header / footer, and color settings for all default email templates.

  • Colors: Changes background colors, primary text color, button color, and button text color for all email templates. Note: Secondary text color will only be visible in the footer when "Enable email header / footer" is toggled ON.

Custom HTML Emails

Want to code your own email templates? Disable the toggle next to each email. To edit the template, click the hyperlink.

Settings applied in Customize defaults will NOT appear if you are using custom-coded HTML.

Variables

Within the content of these emails, we provide a variety of event variables that can be used across all email templates in the Email Triggers tab. The syntax is available at the bottom of each page. You can click to copy the syntax and apply it to your emails.

Subscription

Syntax: <%- subscription.VARIABLE %>

Variable
Description

id

Shopify subscription ID

nextBillingDate

currency

Subscription currency

totalEstimatedNet

Total estimated price of subscription, formatted per currency

totalDiscount

Total amount of discounts applied to the subscription, formatted per currency

totalFromLineItems

Total from subscription line items, formatted per currency

totalLineItemsDiscount

Total discount applied to line items, formatted per currency

totalShipping

Total shipping price of subscription, formatted per currency

totalShippingDiscount

Total discount applied to shipping price, formatted per currency

Lines

Syntax: <%- subscription.lines[0].VARIABLE %>

Variable
Description

id

Shopify subscription line ID

basePrice

Line base price, formatted per line currency

isAddOn

Whether line item is an add-on (Yes / No)

priceAfterDiscounts

Subscription price after discounts are applied, formatted per line currency

quantity

Line quantity

product.id

Shopify product ID

product.name

Product name

variant.id

Shopify variant ID

variant.name

Variant name

Customer

Syntax: <%- customer.VARIABLE %>

Variable
Description

id

Shopify customer ID

firstName

Customer first name

lastName

Customer last name

email

Customer email

phone

Customer phone number

Gifting (Note)

Syntax: <%- note %>

Variable
Description

note

(No variable needed) Attached gift note

Gifting (To)

Syntax: <%- to.VARIABLE %>

Variable
Description

address1

Street address line 1

address2

Street address line 2

city

Address city

company

Company name

country

Country name

countryCode

Country code

firstName

Giftee's first name

lastName

Giftee's last name

phone

Phone

province

State

provineCode

State code

zip

Zip code

Gifting (From)

Syntax: <%- from.VARIABLE %>

Variable
Description

firstName

Sender's first name

lastName

Sender's last name

The ‘Gift Created Email’ template also has access to a shippedOn variable.

Item out of Stock

Syntax: <%- outOfStockItem.VARIABLE %>

Variable
Description

id

Shopify product ID

name

Shopify product name

variantName

Shopify product variant name

Subscription discount codes

Discount codes created in Shopify work with Smartrr subscriptions, so there’s no duplicative work on your end.

Last updated: May 14, 2025

Within Shopify, you can specify if you want the discount code to be applied to one-time purchases, subscription purchases, or both. You can also specify if you would like the code to apply to all subscription products, subscription products in a specific collection, or only to specific subscription products.

You are also able to restrict usage of discount codes on subscriptions to be for the first payment only, for X number of payments, or to all recurring subscription payments.

Prepaid subscriptions

Prepaid subscriptions allow your customers to pay for their recurring subscription deliveries upfront.

Last updated: May 14, 2025

Prepaid subscriptions are used when you'd like customers to pay upfront for a set number of subscription deliveries. One common use-case is to offer a percentage discount to a customer for prepaying annually on monthly subscription deliveries. Another is when a gifter would like to give a giftee a recurring subscription with all expenses paid upfront for a certain period of time.

Navigate to Subscription Programs under CONFIGURATION in the left-hand menu and click on Create program.

You can create a prepaid offering by changing the settings in the Prepaid tab. The interval type will automatically be matched to the interval type in Basic details.

SMS subscription notifications (via Twilio)

With Smartrr, you have the option to engage your subscription customers via SMS with a Twilio account. SMS notifications can be used to let your customers know about their upcoming orders.

Last updated: May 14, 2025

Navigate to Customer Notifications under CONFIGURATION in the left-hand menu. Once on the Customer Notifications page, click the SMS Notifications tab. From this page, you can click on Authorize Twilio to authorize your Twilio integration.

Subscription anchor dates

Anchor dates are an optional add-on to Subscription Programs that set a day on which billing interval calculations should be made + schedule specific product ship dates.

Last updated: May 14, 2025

The most common use-case for anchor dates is when a shop wants to release subscription boxes on a specific day. For example, say a shop releases seasonal subscription drop: ‘Autumn’ product on October 1st, etc. These dates are always fixed regardless of when the previous subscription product was delivered.

Adding an Anchor

If you select a Week Day or Month Day from the dropdown, you'll also be presented with the option to add an optional Cutoff Day and determine subscription behavior Pre-Anchor:

Cutoff Days

A cutoff day is how many days in advance of the delivery anchor the order would need to be placed in order to qualify for the next delivery cycle.

Pre-Anchor Behaviors

Pre-Anchor Behavior is the possible fulfillment of the first order when placed within the cutoff. ASAP means orders placed inside a cutoff can be fulfilled or delivered by the next anchor. NEXT means orders placed inside a cutoff can be fulfilled or delivered at the following anchor.

Tip: If you prefer to send subscription order notifications via your existing ESP, read more about our . You can also visit our page to stay up-to-date integrations with email platforms.

Enable default template: Enables Smartrr's default email templates to send for all emails that are turned ON. if you prefer to use custom HTML for all email templates.

Next billing date, formatted as string

Smartrr uses native Shopify discounts, meaning you can create discount codes as you normally would within your Shopify admin. This also means you won’t find anyplace to create discount codes within the Smartrr app. You can however set automatic discounts (no code required) on recurring subscriptions orders in

To create a discount code in Shopify, navigate to Discounts in Shopify’s left-hand menu and follow their instructions for

To offer a prepaid subscription, you’ll need to amend the billing schedule for a

Tip: If you do not already have a Twilio account, you use to get started.

Heads up: There's also the option to connect with other SMS partners besides Twilio. Read about our integrations with and .

You can view the of our help docs to read about other options available from our .

When managing a , you will see an option to add an Anchor. Note—this option will not populate if your billing interval is set to "Days".

integration with Klaviyo
Tech Partners
Subscription Programs.
creating discount codes.
Disable
ISO 8601
Subscription Program.
this link
Klaviyo
Postscript
Integrations section
Tech Partners
Subscription Program
Try our guided install instead.

Installing Smartrr on a custom Shopify theme (Guided Install)

Implementing Smartrr on storefronts with modified Shopify themes or custom liquid themes

Last updated: May 14, 2025

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] so that when you modify the below code, you know you are updating the correct theme.

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 (Guided install)

Smartrr's subscription widget is an app block that can be added to your Default product page from your Shopify theme's online customizer. However, 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, you'll need to use our guided install process.

1. Modifying the Product Page

In your duplicated theme’s liquid code files, find the liquid file where your site’s product form information is being stored. This is usually called main-product.liquid or product.liquid. This file is typically located under either the Sections (for Online Store 2.0) or Templates (for older Shopify themes) heading.

Once you’ve opened the file, search for the product form {%- form 'product'}, paste the following Smartrr snippet inside the form. We typically recommend placing between the variant selector and the quantity selector, but you can place in any order you see fit.

{% render 'smartrr-product' %}

When added, the product form should look something like this:

3. Modifying the Customer Account Page

In your duplicated theme’s code base, find the liquid file for your store’s account page. This is usually called main-account.liquid or customers/account.liquid. This file is typically located under either the Templates heading.

At the very beginning of the file, paste the following snippet:

<!-- BEGIN SMARTRR SNIPPET -->{% render 'smartrr-account' %}<!-- END SMARTRR SNIPPET -->
{{ 'customer.css' | asset_url | stylesheet_tag }}

The file should look like this:

Save the file.

4. Modifying the Order Status Page

Troubleshooting

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

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.

Sequential Flow Builder?

The Sequential Flow Builder is a powerful tool designed to enable merchants to create subscription lifecycles by enabling a sequence of products after a certain number of deliveries.

Last updated: May 14, 2025

If you're a merchant who uses subscriptions to power refills, or who wants to use your subscriptions to create a custom order journey experience, then the Sequential Flow Builder is for you. You can use this tool to swap the product that is delivered to the customer after certain order numbers.

1. Accessing the Sequential Flow Builder

To access the Sequential Flow Builder, follow these steps:

Log in to your merchant account. Navigate to Subscription Programs > Manage on the program you wish to add the flow to. Scroll down and Look for the card labeled "Sequential Flow Builder."

2. Creating a Sequential Flow

Click on the "Add flow" button.

Define the starting product by clicking "Browse" next to the text: "When the following item(s) are purchased:".

Next, indicate how many orders should eclipse before the swap action happens. By default, this is after order number one.

Tip: Order #1 is considered the initial order the customer places in Shopify. Order #2 is considered the first recurring subscription order. For example, if you're swapping to a refill product, you would want the swap to happen after order #1.

Then, select the product variant that should be delivered after the defined order number.

Finally, confirm a flow end behavior. By default, this is is Send last item in perpetuity—which means that the customer will continue to receive the last item that the subscription swapped to. You can also opt to End sequence flow—which will terminate the subscription after all swaps have occurred.

Press "Confirm" to save your flow.

3. Editing an Existing Sequential Flow

To edit an existing sequential flow, click the "Manage flow" button to reopen the modal:

4. Deleting a Sequential Flow

To delete a sequential flow, press the red "Delete this flow" button. Confirm the deletion when prompted.

Warning: Before you can delete flows that already have subscriptions associated with them, you will be prompted to either Cancel all active subscriptions with this sequence or Send the current item in the customers' active subscriptions in perpetuity before you can continue with flow deletion.

5. Sequential Best Practices and Tips

  1. Don't neglect your flows after creation; reguarly review and update your sequential flows based on changing product offerings or customer feedback.

Coming from our app? to skip directly to guided install instructions.

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.

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.

Save the file. You should be able to preview Smartrr on your site upon successfully modifying this product form. Having trouble? Skip to steps.

If you would like to display a link to your customer’s Account Portal from the order status page, please email us at and we will assist you.

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

Tip: Want to have more than one swap action? Hover over the indented action steps to reveal icons to quickly add or duplicate another action step.

Did you know you can create multiple flows from within a Subscription Program? To prevent conflicting swaps, each flow is required to have a unique start product.

Congratulations! You are now ready to leverage the Sequential Flow Builder to enhance your subscription management and offer a personalized order journey experience for your customers. If you encounter any issues or have further questions, reach out at .

review Shopify's subscription requirements
inventory tracking
one of Shopify’s 2.0 free themes
made any customizations your your theme’s source code
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
hello@smartrr.com
Grow and Excel plans.
Click here
Smartrr's subscription widget
Troubleshooting
help@smartrr.com

Adjusting customers' information

Meet the Customer Details page.

Last updated: May 14, 2025

The Customer Detail page is an overview page where you can see:

  • Customer name & information

  • Whether the customer has logged into their Customer Account Portal

  • Customer default address

  • Customer payment method

  • Lifetime subscription spend

  • Total subscription orders

  • Event log

  • Customer loyalty inforamtion

View a Customer Details page by locating the customer row you want in the Customers table. Click the customer row you want to view details.

How to erase customer data

If you've received a request from a customer to have their data removed from your store, you've likely already deleted their information in Shopify. However, if this customer was also a subscriber, you'll also want to erase all their data in Smartrr.

At the bottom of the Customer Details page, you'll see an Erase all customer data button.

Note: You won't be able to erase a customer with an active subscription.

Warning: Erasing all customer data is irreversible.

In the Smartrr admin, any records that have been erased will be indicated with CUSTOMER_ERASED.

Event log

See a log of all events associated with a single subscription.

Last updated: May 14, 2025

The event log allows you to easily keep track of all actions associated with a customer’s subscription.

There are four possible “actors” that can make edits to a subscription:

  1. Smartrr – Automatic process by Smartrr

  2. Admin – Merchant admin

  3. Script – Any merchant-configured scripts in subscription program

  4. API – External partner (Integrations, migrations, etc.)

The following actions are currently recorded in the events timeline:

  • Subscription Order Processed

  • Frequency Changed

  • Subscription Paused

  • Subscription Cancelled

  • Subscription Reactivated

  • Subscription Skipped

  • Subscription Unskipped

  • Item Price Changed

  • Shipping Price Changed

  • Discount Successful

  • Discount Failed

  • Discount Removed

  • Address Changed

  • Item Added-On

  • Item Removed

  • Sequential Subscription Updated

  • Change Order Date

  • Successful Billing Attempt

  • Failed Billing Attempt

  • Undo Gift

  • Swap Line Item (From Member Portal)

  • Update Line Item

  • Create Transaction

Adjusting customers’ subscriptions

While your customers can edit their subscriptions in their Account Portal, subscriptions can also be managed on their behalf (and in bulk!) within Smartrr.

Last updated: May 14, 2025

Bulk Subscription Management

Navigate to Subscriptions in the left-hand menu.

You can quickly search for the particular subscription you're looking for by the customer’s email address or name.

Check a row to reveal options to quickly manage the subscription, including:

  • Pause subscription(s)

  • Export to CSV

  • Open in new tab

  • Set new order date

  • Cancel subscription(s)

Select all the items on a page by clicking on the checkbox in the header row. To select ALL subscriptions in Smartrr, click on the blue text: Select all 14+ subscriptions.

Before taking any bulk actions like pause or cancel, you will be presented with a confirmation state:

Note: Vendors will be prompted to select a date for the subscription to auto-resume within the next six months.

While a subscription is paused, you won’t be able to add any additional discount codes.

Warning: Canceled subscriptions are always permanently suspended due to Shopify’s rules around re-authorizing payment methods. However, paused subscriptions can always be resumed.

To quickly view the contents of a subscription, hover over the Items row.

Subscription Details Page

To view an individual subscription's details, click on the blue subscription ID number.

You'll then be taken to the subscription's respective subscription details page:

How to pause a customer's subscription

In the Manage subscription dropdown, press Pause subscription.

How to cancel a customer's subscription

In the Manage subscription dropdown, press Cancel subscription.

How to view a customer's raw subscription data

In the Manage subscription dropdown, press View raw subscription contract. This can be helpful if you are working with a developer or a Smartrr Customer Success Manager to troubleshoot a subscription error.

How to skip customer's next order

In the Options dropdown, press Skip.

How to edit a customer's address

In the right pane, press the pencil icon to edit a customer's shipping address.

Note: Unable to save a customer's address because it's missing a phone number? You're seeing this requirement because your Shopify store settings are set to require a phone number for all customer information. To change this setting in Shopify, go to Settings > Checkout and make sure Shipping address and phone number are set to Don't include or Optional.

How to set a customer's next order date

In the Options dropdown, press Set next order date.

How to add items to subscriptions (one-time and recurring)

Press the green Add item button. For one-time add-ons, press One-time item. For adding an item to every recurring subscription order, press Recurring item.

How to bulk update items

Check the items you wish to update. For one item you can Swap and Remove. For multiple items you can only Remove.

How to change a customer's subscription plan

Under Current subscription program, choose a new plan from the dropdown.

Warning: If you are moving a customer to a plan under a different subscription program, ensure that the contents of their subscription are also a part of the new Subscription Program.

How to view/remove a discount code from a subscription

Enter a valid discount code into the Discount code card. Remove it by pressing the X icon next to the code.

Note: Smartrr uses Shopify’s native discount code generator. Create discount codes for your subscriptions within your Shopify admin.

How to leave an internal comment / note within event log

Comments can be used to leave internal reminders about why certain actions have been taken on a subscription order by an admin. These comments can also be pinned to the top of the event log for easy visibility.

How to leave order notes

A few examples of how you can use this feature include:

  1. Letting customers add dietary restrictions

  2. Adding important packing instructions to subscription orders to be picked up by your 3PL

  3. Adding information about you/your pets to better inform contents for subscription mystery boxes

Note: If the Shopify variable for order notes is present in your Shopify order confirmation email, then the note will be visible to your customer when it is processed through Shopify. It would look something like the below:

{% if order.note %}
<p><b>Order notes</b>: {{ note }}</p>
{% endif %}

Shipping methods

Setting dedicated shipping methods in Smartrr is useful in the case you would like to fulfill your subscription orders differently than one-time purchase orders.

Last updated: May 14, 2025

Important: General delivery profiles or profiles for non-subscription products will still need to be configured in Shopify.

Within the Smartrr, navigate to Shipping under CONFIGURATION in the left-hand menu and click on Create subscription delivery profile.

Configure your profile’s Location Settings with the following steps:

  1. Click Add rates and select the location for which you'd like to add rates.

  2. Once the location has populated, click Add zone and specify your zone name and the countries and regions this zone will apply to.

  3. Finally, click on the Add rate button that will prompt you to define the order parameters to qualify this rate for a customer.

Buy-now-pay-later payment methods for subscriptions

Per Shopify limitations, "Customers can't use accelerated checkouts or local payment methods such as Amazon Pay, Google Pay, Klarna, mollie iDEAL, and Sofort, to purchase subscriptions."

Shopify limitations, "Customers can't use accelerated checkouts or local payment methods such as Amazon Pay, Google Pay, Klarna, mollie iDEAL, and Sofort, to purchase subscriptions . However, customers can use Shop Pay, Apple Pay, and PayPal Express at some stores."

If Shopify enables support for BNPL payment options in the future, Smartrr will also be able to support these payment methods for subscriptions.

Subscriptions when an item is unavailable

Sometimes, products in your Shopify store are deleted, archived, or simply have gone out of stock.

Last updated: May 14, 2025

Deleted & Archived Products

In the case when a product or variant is deleted or archived, any customer subscriptions containing these items will be automatically paused to prevent missing items from subscription deliveries or unexpected transaction errors during billing.

From the customer's account, a banner will appear in these instances, guiding customers on necessary actions to resume their subscription. Whether it's swapping or removing the affected item, these changes aim to ensure a seamless experience for customers when needing to make adjustments to their subscriptions.

Customers will also receive an email notification informing them that their subscription has been paused. You can edit the contents of this email in your admin portal under Customer Notifications > Subscription Paused.

Customers will receive an email notification informing them of the update to their subscription. They'll also receive a corresponding “Item out of stock” email notification under Customer Notifications > Item out of stock or deleted.

Out of Stock Products

When a product or variant is marked as out of stock in a shop's inventory, any customer subscriptions containing these items will be automatically PAUSED to prevent missing items from subscription deliveries or transaction errors during billing.

From the customer's account, a banner will appear in these instances, guiding customers on necessary actions to resume their subscription.

Customers will also receive an email notification informing them that their subscription has been paused. You can edit the contents of this email in your admin portal under Customer Notifications > Subscription Paused.

Customers will receive an email notification informing them of the update to their subscription. They'll also receive a corresponding “Item out of stock” email notification under Customer Notifications > Item out of stock or deleted.

Note: After inventory to out of stock products in Shopify is restored, subscriptions will be automatically re-activated.

Advanced Analytics reporting

Advanced Analytics is Smartrr’s most feature-rich analytics suite, powered by Looker.

Last updated: May 14, 2025

Currently available on Grow and Excel plans, Advanced Analytics provides best-in-class visualization and reporting capabilities for your subscription business, reflecting a real-time look at performance with customizable time frames and aggregation settings to narrow in on relevant data and trends.

Note: If you don’t see Advanced Analytics in your navigation, please confirm you have access to this feature at your plan level (Currently only available on Grow and Excel plans).

To access Advanced Analytics, please navigate to the Advanced Analytics tab in the Smartrr app:

Definitions

Subscription and subscription customer counts are broken out between Active, Paused, New and Canceled statuses. Subscription customer counts will typically be slightly lower than subscription counts since some subscribers often have multiple subscriptions.

Active subscriptions will generate new recurring orders automatically per the terms of the subscription contract.

Paused subscriptions will not generate new orders automatically, but are available to be set back to active if needed since the subscription contract is still in effect.

Canceled subscriptions will not generate new orders and cannot be set back to active without requiring a new customer checkout and a new subscription contract.

New subscriptions are any subscriptions that were created in that timeframe (e.g. in that month if the Aggregation Interval is set to Monthly).

Using the page

In the upper left of the Advanced Analytics view, you will see options that allow you to configure the Date Range and Aggregation Interval of the report. Aggregation Interval refers to what timeframe the data will be “grouped” by (e.g. customer county by day, month or week).

Just below the Date Range and Aggregation Interval there is a summary of key performance indicators (KPI). The definitions of each of these indicators are visible by hovering over the small ⓘ icon:

Each KPI will be compared to the prior period, so if you have select 90 days, it will compare the most recent 90 days to the 90 day period immediately prior (e.g. January - March compared to October - December).

The rest of the dashboard shows various visualizations of business performance metrics. All data can be exported by clicking the dot menu at the upper right of every dashboard element:

Hovering over any data element will bring up a tooltip showing the underlying data details.

Clicking on any element in a chart legend will hide or show that element in the chart.

Customer account portal theming

Learn all about Smartrr's theming customizations.

Last updated: May 14, 2025

Navigate to Theming in the left-hand menu.

Use Portal Settings to customize account portal settings for colors, borders, buttons, and images.

Note: CSS overrides will not update in the in-app preview, but will update in your store's live account portal after you publish changes to your shop's theme.

Available actions for customers in account portal

Learn about Subscription Management (custom functionality) within your Smartrr Customer Account Portal.

Last updated: May 14, 2025

Under Theming > Advanced Settings, you are able to define define which actions you want your customer to be able to take when managing their subscriptions in the customer account portal.

The following options are turned ON by default:

  • Next order actions

    • Send now

    • Skip

    • Gift

    • Swap

    • Delay

    • Edit address

  • Manage subscription actions

    • Edit frequency

    • Set next date

    • Edit address

    • Edit payment

    • Pause

    • Cancel

Unchecking possible actions will hide these options in the applicable "Next order" and "Manage subscription" modals that appear when a customer goes to manage their next order or their overall subscription, respectively.

If you're using a Shopify theme that supports , your shop can utilize this feature to allow customers to include a subscription-specific note that will append to all of their future subscription orders as they are processed in Shopify. This note is both visible and editable from the Subscription Details page in your Smartrr admin.

Within Smartrr, you can create custom shipping profiles for your subscription offerings. Configuration of shipping profiles and zones within Smartrr is almost identical to the flow in Shopify's shipping settings. Refer to if you are not already familiar with configuring zones and rates.

Enter a name for your new Shipping profile and select which of your you would like this profile to be associated with:

We're currently up to date with all Shopify Subscription API approved gateways listed in . These include:

Use Advanced Settings to edit your portal's header as well as .

Use the CSS overrides box to directly manipulate how your account portal looks with CSS. to reference.

Note: Customers must always be allowed to cancel their subscription if they like, so this option is required to remain ON. Interested in gaining zero-party data on why your customers try and cancel their subscription? Learn about our features.

Cart Notes
Shopify’s documentation
Subscription Programs
Shopify's subscription requirements
custom functionality
Read more about the available CSS variables
Retention

Admin Portal

The Admin Portal is where you can view and edit your customer’s subscriptions, adjust your theme settings, view analytics, and more.

CSS overrides

Developers can override in-app theme settings with our override tool.

Last updated: May 14, 2025

Custom code placed in the CSS Overrides box in Theming will override any global or product settings.

CSS override rules will be scoped to the following selectors:

  • #smartrr_account

  • #smartrr_wrapper

  • #smartrr_toast_container

  • #smartrr_inner

  • #smartrr_header

  • header

  • customer-name

  • customer-email

  • customer-since

  • marketing-banner

  • inner

  • year-select

  • delivery-address-input

  • delivery-address-row

  • address-wrapper

  • current-address-1

  • address-1

  • current-address-2

  • address-2

  • settings-grid

  • addon

  • addon-wrapper

  • addon-selected

  • item-product-container

  • item-product-image

  • next-order-price

  • addon-no-products

  • subscription-grid

  • upcoming-deliveries

  • your-subscriptions-wrapper

  • edit-item-quantity-container

  • product-name

  • product-variant-name

  • manage-order-buttons

  • modal-center-text

  • modal-center-text-title

  • modal-center-text-subtitle

  • edit-subscription-apply-discount

  • ship-to

  • date-picker

  • list-item

  • list-item-selected

  • list-item-disabled

  • list-item-prepaid

  • upcoming-order-card

CSS Override Examples

Typography Examples

/* Headings */

h1, h2, h3, h4, h5{
  font-family: "Lota Grotesque";
}

/* Body */

p{
  font-family: 'Lota Grotesque';
  font-style: normal;
  font-weight: 600;
  font-size: 14px;
  line-height: 20px;
  color: #2B2D70;
}

/* Captions */

[class*="caption"] {
  font-family: 'Lota Grotesque';
  font-style: normal;
  font-weight: 600;
  font-size: 12px;
  line-height: 16px;
  color: #2B2D70;
}

/* "Customer since" text */

[class*="customer-since"]{
  font-family: 'Lota Grotesque';
  font-style: normal;
  font-weight: 600;
  font-size: 10px;
  line-height: 13px;
  text-transform: uppercase;
  color: #2B2D70;
}

/* "Primary button text */

[class*="primary-button"]{
  font-family: 'Lota Grotesque';
  font-style: normal;
  font-weight: 600;
  font-size: 14px;
  line-height: 20px;
  color: #2B2D70;
}

/* "Secondary button text */

[class*="secondary-button"]{
  font-family: 'Lota Grotesque';
  font-style: normal;
  font-weight: 600;
  font-size: 14px;
  line-height: 20px;
  color: #2B2D70;
}

Badge Examples

/* Captions within badges */

[class*="caption1"], [class*="info-badge"]{
  font-family: 'Lota Grotesque';
  font-style: normal;
  font-weight: 600;
  font-size: 12px;
  line-height: 16px;
  color: #2B2D70;
}

/* Icon color */

[class*="info-badge"] svg{
   stroke: #2B2D70;
}

Page Margin

/* Desktop portal top margin */

[class*="customer-header"]{
  margin-top: 160px;
}

/* Mobile portal top margin */

@media screen and (max-width: 600px) {
  [class*="customer-header"]{
  margin-top: 100px;
	}
}

Quantity Indicators

/* Quantity indicators */

[class*="quantity-container"]{
  background-color: #2B2D70;
  button{
      padding:0px;
  }
}

Lines

/* Lines */

hr{
  background-color: #2B2D70;
  border-width: 0px;
  height: 1px;
}

Next Order / Subscription Tabs

/* Styling unselected tab*/

[class*="tab-wrapper"] [class*="tab-button"]{
  background-color:rgb(0 0 0 / 30%);
  
  /* Add space between the tabs - Optional */
  
  :first-child{
    margin-right: 10px;
  }
  
  /* Change color of Icon*/
  
  svg {
    stroke: #fff;
  }
  
}

/* Styling selected tab*/

[class*="tab-wrapper"] [class*="selected"]{
    background-color:#000 !important;
}

/* Hiding active indicator bar*/

.MuiTabs-indicator{
  display:none;
}

Prevent Navigation from Overlapping Portal Header

.smartrr-portal-header{
  padding-top: 150px; // Adjust value to fit navigation height
}

Adjusting typography with CSS overrides

Developers can override in-app theme settings with our override tool.

Last updated: May 14, 2025

CSS can be placed in the CSS Overrides section of the Theming page in the admin portal to apply custom typography settings to your brand's Customer Account Portal.

Below are the main predefined typography types that can be manipulated:

CSS
Used For (Examples)

h1

Hi, {Name}

h2

Subscriptions, Order History, Settings

h3

{Weekday, Month, DD}, {Subscription Frequency}

h4

Your next order, Add to your next order, Past orders, Shipping address, Payment method, Login information

h5

Menu list

p

Body text used for product information, settings information, modals, etc.

[class*="caption"]

Caption text used for prices, badges, mini-card text, etc.

@font-face {
  font-family: "Font name";
  src: url({{ [font-file-name] | asset_url }}) format("[font-format]");
}

General Typography Examples

Note: CSS Overrides will not reflect in the in-app account portal preview. Log into an account with an active subscription on the theme you published to see your changes applied.

/* Headings, Links, & Lists*/

h1, h2, h3, h4, h5, a, li{
  font-family: "Lota Grotesque";
}

/* Body */

p{
  font-family: 'Lota Grotesque';
  font-style: normal;
  font-weight: 600;
  font-size: 14px;
  line-height: 20px;
  color: #2B2D70;
}

/* Captions */

[class*="caption"] {
  font-family: 'Lota Grotesque';
  font-style: normal;
  font-weight: 600;
  font-size: 12px;
  line-height: 16px;
  color: #2B2D70;
}

/* "Customer since" text */

[class*="customer-since"]{
  font-family: 'Lota Grotesque';
  font-style: normal;
  font-weight: 600;
  font-size: 10px;
  line-height: 13px;
  text-transform: uppercase;
  color: #2B2D70;
}

/* "Primary button text */

[class*="primary-button"]{
  font-family: 'Lota Grotesque';
  font-style: normal;
  font-weight: 600;
  font-size: 14px;
  line-height: 20px;
  color: #2B2D70;
}

/* "Secondary button text */

[class*="secondary-button"]{
  font-family: 'Lota Grotesque';
  font-style: normal;
  font-weight: 600;
  font-size: 14px;
  line-height: 20px;
  color: #2B2D70;
}

Badge Examples

/* Captions within badges */

[class*="caption1"], [class*="info-badge"]{
  font-family: 'Lota Grotesque';
  font-style: normal;
  font-weight: 600;
  font-size: 12px;
  line-height: 16px;
  color: #2B2D70;
}

Marketing Banners

Easily add plain-text or HTML to the top of your Customer Account Portal.

Last updated: May 14, 2025

As one of the many ways using Smartrr allows you to fully brand what your customers see when they log-in to manage their subscriptions—we allow brands to add a Marketing Banner to their Customer Account Portal.

Under Theming and Portal Settings, make Banner visible by clicking on the eye icon.

For plain text, simply type what you'd like to appear in your banner. For example:

📦 Subscribers get free shipping on all orders

For HTML, enter type in HTML syntax. For example:

<h2 style="text-align: center;">Did someone say "Marketing Banners"?</h2>
<p style="text-align: center;"><iframe class="giphy-embed" src="https://giphy.com/embed/26ufdipQqU2lhNA4g" width="60" height="60" frameborder="0" allowfullscreen="allowfullscreen"></iframe></p>

Note: 👁‍🗨 HTML input will not currently reflect in our in-app preview but will reflect in your site's live account portal after publishing to your theme.

Set a background color for your banner by clicking on the color-selector.

Potential Use Cases

  • 📦 Promote free shipping

  • 🆕 Announce an upcoming product

  • 🎅🏼 Gate an exclusive holiday promotion to existing customers only

  • 🔗 Embed a form or other brand collateral

  • 🛎 Let customers know where to reach out for help if the have a question about their subscription

Loyalty

Incentivize your customers to earn and redeem rewards through different shop touchpoints.

Last updated: May 14, 2025

While Smartrr's Loyalty feature was built with subscriptions in mind to reward your most loyal, consistent customers and increase retention, you can also make earning points are available to all customers regardless of subscription status:

  • Customers with an active subscription will have reward items automatically applied to their next subscription order.

  • Customers without an active subscription will receive a one-time-use code. This code is unique to their account and can’t be used by others. To use for product-rewards, the customer will add the item to their cart and use the code at checkout. To use for incentive-rewards, the customer will simply apply the code at checkout.

Loyalty encompasses 3 main features:

Rewards

Rewards work on a point-based system. There are currently four events where customers can earn points:

  1. Account creation

  2. Transaction (per $ spend)

  3. Bonus earn (every Xth order)

  4. Referrals

👤 Customer's don't need to "opt-in" to your rewards program. Your customers will automatically be enrolled when Loyalty is set up for your shop. No extra registration needed.

"Points" can be renamed to be any unit name to make your rewards program unique to your brand.

To set up a rewards program, navigate to Loyalty. Click Get started.

Set Loyalty Availability

By default, loyalty is available to subscribers only. You can change this to "All customers" to allow customers without an active subscription to redeem points for rewards in the form of one-time codes.

Note: You can't change loyalty availability back to Subscribers only if ever change availability to All customers. This action is not reversible.

Define a Loyalty Structure

By default, two events are added to your Loyalty point structure: Account creation (50 points) and Transaction (per $ spend) (1 point). Adjust these events and point values to your shop's preference.

Create a Loyalty Marketplace

Your shop's Loyalty Marketplace is where customers can browse between a combination of products and incentives to redeem their accumulated points for. Your shop can choose to offer only products, incentives, or a combination of both.

  • Products = Redeemable Shopify items selected at a variant-level, added to the customer's next subscription order

  • Incentives = Redeemable fixed amounts or percentages off, added to the customer's next subscription order.

Note: Regardless of the order you add products and incentives in your Smartrr admin portal, redeemable items will always display in lowest > highest sort order in your Customer Account Portal.

🎨 Tip: Incentives are easily styled with a HEX value color in the Smartrr admin. Assigning a color value to an incentive will set that value as the background for the redeemable item in your Customer Account Portal.

Your shop is able to add as many products and incentives to your Loyalty Marketplace as you like.

You also have the flexibility to set a global restriction on the redemption of rewards. With the "Limit to one use per order" option located in Loyalty settings, vendors can ensure that each product or incentive reward can only be redeemed once per subscription order.

Best Practices

When creating products and incentives you can redeem, be mindful of the points scale you create. In general its recommended that you offer incentives (ie. 5% off discount) at lower point balances. Then increase the points necessary for redeeming products with the highest tiered points being offered for core products. Example below:

  • 100 points = 5% off discount incentive

  • 175 points = 10% off discount incentive

  • 500 points = Non-core product

  • 800 points = Core product

Personalize Your Rewards

While points are the default Smartrr reward unit, you have the option to add a custom unit name to make your rewards program unique to your brand:

Additionally, you can add a Loyalty Program Description (up to 150 characters) to give additional context on how your rewards program will work for your shop.

This description will appear when a customer clicks on the "How do I earn points?" question in their Customer Account Portal.

Redemption Process

One Time Purchase

  • Products = To redeem product, click redeem and copy discount code from screen or email. Then add product to cart and apply discount code at checkout.

  • Incentives = To redeem incentive, click redeem and copy discount code from screen or email. Then apply discount code at checkout.

Subscriptions

  • Products = To redeem product, click redeem and product will be automatically added to the next subscription order for free.

  • Incentives = To redeem incentive, click redeem and discount code will automatically be applied to the next subscription order.

Tiers

Loyalty tiers allows you to create up to 5 unique groups (minimum of 2) for your customers based on the amount of points they have earned. You can customize the name, color, and point requirements of these tier groups to your liking.

Note: At the current moment, once enabled, tiers can only be turned off by contacting support. This is to ensure data integrity while this feature is actively being improved.

Tier status works similarly to airline miles where status earned in year 1 will carry over into year 2. However points earned will reset at the beginning of year 2 so in order for customers to maintain their status into the following year, they will have to earn the required points again.

Note: points earned is not the same as points balance. Points earned only affects customers' tier status. Points balance will continue to accumulate as customers earn points and will only reduce once used to redeem rewards.

Reward restrictions with tiers

Once tiers is enabled, you will be able to change restrictions on loyalty rewards to be tier specific. For example, a 10% discount can be set to be restricted to Gold tier customers only. Use these restrictions to incetivize customers to reach the next tier status.

Referrals

When enabled, referrals are an easy way to reward your customers with points for sharing your brand with friends and family.

To set up a referral program, navigate to Loyalty. Scroll down to Referral Program. Toggle on.

Give your program a name, description (up to 150 characters), and determine the incentives for both referrer and referee:

  • Referrer (The individual who shares their custom referral code) can only be rewarded in points.

  • Referee (The individual who makes a purchase with a referral link) can be incentivized with either a fixed amount or percentage off their first subscription purchase.

In the Customer Account Portal, referrers can press one button to easy copy their referral code to their clipboard, or they can press one of the social share icons to populate the following text directly to email, SMS, Twitter, Facebook, or Whatsapp:

Want {X} off your first subscription order from {shop homepage}? Use my referral code: {discount code}

Loyalty points app block

Inside your Shopify theme customizer, you have the option of adding our Smartrr Loyalty Points app block to your product pages. This widget will show customers the amount of loyalty points they can expect to earn from purchasing the product.

When customers click on the points in the widget, a pop-up modal will show, giving them a rundown of your loyalty program and how they can earn points. If you have tiers enabled, a breakdown of them will also be shown.

Passwordless login

Brands can create magic links or one time log-in codes for customers in lieu of a traditional password experience.

Last updated: May 14, 2025

Overview

Passwordless login allows a frictionless login experience for your customers.

Passwordless Login Setup

Step 1: Smartrr Admin

In Smartrr's admin, navigate to Theming in the left-hand menu. Under the Advanced settings tab, you will see a toggle to turn on Passwordless log-in.

Press Save changes and confirm changes will be applied to either your live theme or a duplicate of your current live theme.

Step 2: Shopify Liquid

After passwordless has been toggled on in your Smartrr admin, a liquid file called smartrr-passwordless-login.liquid snippet file will be generated in the Shopify theme you saved to. Please check in the selected theme to see if this file is present.

Next, check the following code has been injected into the theme’s main-login.liquid file or customers/login.liquid file. If this code is not injected, please copy onto line 1 of the file:

Finally, check your shop's account login page to confirm Smartrr's passwordless login page is visible. By default, the page should look like this:

🎨 Want to apply additional styling to your shop's passwordless login page? Use CSS to style at the top of the smartrr-passwordless-login.liquid file.

Step 3: Disabling reCAPTCHA (required for Magic Link ONLY)

When using Magic Link as your passwordless login option you will need to disable reCAPTCHA for login within your Shopify store.

To do this go to Shopify: Sales Channels > Online Store > Preferences > deselect "Enable reCAPTCHA on login, create account and password recovery pages" (see below).

Customer Notifications

You can configure what the emails look like for both Magic Link and One Time Code passwordless options from the Customer Notifications settings in the Smartrr App.

Scroll down to the card for Passwordless Login. Click on emails to edit.

FAQs

1. Why do customers still need to enter a password when initially creating an account?

Due to Shopify limitations, customers will still be expected to create a password if they creating a new account with your store. After this, the customer will not be required to use this password again to log in to their account and will be able to log in with a one-time code.

2. Can I revert back to traditional Shopify login from passwordless login?

Technically, yes. Under Theming > Advanced, switch the radio option from Passwordless login back to Traditional login. However, if you switch back to traditional from passwordless login, all customers will be required to reset their passwords upon next log in.

Note: If you switch back to traditional from passwordless login, all customers will be required to reset their passwords upon next log in.

Translations

Smartrr's Translations feature allows your to override the default copy in your shop's Customer Account Portal.

Last updated: May 14, 2025

In your Smartrr admin, navigate to Theming > Translations.

Customer Account Portal Language

Use our 1-click translation feature to quickly change all copy in the Customer Account Portal to:

  • English

  • French

  • Spanish

  • Portuguese

When selecting a new language, make sure to save and publish to your preferred theme:

Overrides

You can use overrides to change one-off instances of text in the customer account portal. For example, you might want to change "Next Order" in your Subscriptions section to say "Upcoming":

Use our Quick Jump tool to find the section you're looking for. Or, use ⌘F to quickly search for the term you're looking for on the Translations page.

Edit text in the Override text field by turning the toggle ON.

Don't worry—your text is cached when you toggle the field OFF/ON:

Once you're done with your overrides, make sure to save and publish to your preferred theme:

Note: There are some copy instances that include variables. These are indicated with a double asterisk (**). We recommend not removing these variables from your overrides. However, if you do accidentally delete, you can always reference the original text in the Original (translated) text field. Example:

Below is the full list of CSS variables that manipulated. ⬇️ to examples of how to use these CSS overrides to further customize your shop's customer portal.

Use this to learn more about how to style typography by font-family, font-size, color, and more.

Tip: If you are referencing a , be sure to write the font family name exactly as it has been listed in your liquid code's @font-face CSS rule. This will equal"Font name" below 👇. You can also use a Chrome extension like to quickly identify typography on your shop without using developer tools.

Loyalty is a feature available to merchants on our . With Loyalty, you can incentivize all your customers to earn points and redeem rewards through different shop touchpoints—including referrals.

Passwordless login feature is available on our

If you need any assistance in the setup process or additional theming for the login page, please contact us at .

CSS Reference
custom font hosted on your Shopify site
WhatFont
Jump
// <div id="smartrr_passwordless_form" class="customer login section-{{ section.id }}-padding">
    {%- form 'customer_login', novalidate: 'novalidate' -%}
      {% render 'smartrr-passwordless-login' %}
    {%- endform -%}
  </div>

Customer Account Portal

The Account Portal is where your customers can view and interact with their subscriptions orders.

💎 Excel plan
💎 Excel plan.
support@smartrr.com
Rewards
Tiers
Referrals

Transactions

Retention

Retention features can be used to gain insight on attempted customer cancelations and improve retention over time.

Last updated: May 14, 2025

Overview

Brands on our Grow and Excel plans have access to a Retention— a feature allows merchants to gain insight on why customers pause and cancel their subscriptions.

Cancellation Reasons

Brands can add up to eight reasons to display in your customers’ account portal alongside a text field for your customers to provide more information. The following reasons show up by default:

Smartrr default cancellation reasons

Product is too expensive

I have more than I need

I need it sooner

I want to try a different product

I don’t love the product

I’m moving and need to change my address

Other

Retention Actions

Each cancellation reason can be assigned an optional retention action that will prompt the customer with an additional module before they cancel:

Retention action
Customer will be prompted...

Gift

"Would you like to gift your next order to a friend?"

Swap

"Would you like to swap an item in your next order?"

Change Date

"Would you like to change the date of your next subscription order?"

Discount

"Would you like an additional X% off your next order?"

Frequency Update

"Would you like to edit the frequency of your orders?"

Skip

"Would you like to skip your next order?"

Change Address

"Would you like to edit the delivery address for your subscription?"

Prompts

Prompts, when set to YES, provide an additional box for for the customer to provide more information on why they are trying to cancel. If a customer volunteers information it will appear on hover over the chat icon in the table of retention results.

Pause Reasons

Brands can add up to eight reasons to display in your customers’ account portal alongside a text field for your customers to provide more information.

Retention Table

Brands can see a full breakdown of Cancellation attempts by customer and Cancellation reason summary, Pause attempts by customer and Pause reason summary, or quickly export all data to CSV.

Bundles

Bundles allow you to offer "build-a-box" style subscriptions for your customers.

Last updated: May 14, 2025

There are several parts to setting up Bundles with Smartrr, outlined below:

How to create a bundle in Shopify

1. Create a dummy bundle product

Create a bundle product to sell in Shopify by navigating to Products and clicking Add product.

Fill in product details, including name, photos, price, etc.

🖼 Note: Ensure your parent bundle has at least one photo, as this is what will display in your customers' account portals if they go to edit their bundles.

Add at least one Variant. If your bundle is determined by size we recommend setting up variants something like 4 pack, 6 pack, 8 pack etc.

Make sure that your products are in stock, and then Click Save.

2. Create a collection for your bundle product

In order to know which products can be included in this bundle, create a new collection in Shopify with all potential bundle products. We recommend naming this collection the same as your newly created dummy bundle parent product. Set the Collection type to Manual.

Note: If the variants within your parent bundle product will contain different options, create a different collection for each different bundle variant. Example scenario: Parent bundle has three variants, A, B, C. Variant A offers products D, E, F Variant B offers products, D, E, F Variant C offers products D, E, G In above scenario, two collections would have to be made for the parent bundle; one to reference bundle products for Variants A & B and one to reference bundle products for Variant C.

How to create a bundle in Smartrr

In Smartrr, navigate to Subscription Programs and Bundles. Click Create bundle.

The first step is to select a Subscription Program to link the bundle you're about to create.

Warning: You won't be able to change the subscription program associated with this bundle after you've pressed Save.

Once you've completed this step, you've now built the bundle product within Shopify, created an associated collection with variants included, and linked the bundle with a subscription program in Smartrr.

From here, we need to properly implement bundles on your live site by creating a new bundles page, and "injecting" the Smartrr bundle snippet into the code of your live theme.

Injecting Bundle snippets into your theme

To inject the bundle snippet onto your live theme, navigate to the theme in Shopify, click the three dots to the side, and then "edit code"

Go to"add a new template" on the left side, and select "page" as the template type. Then select "liquid", and name the bundle to something relevant. This will create a new page in Shopify for your bundle.

Now you've created the page, scroll down to Snippets, and you'll find the Smartrr bundle snippet you created earlier, it should be titled "smartrr-bundle-bundle name.liquid". In this example, "smartrr-bundle-georges-tea-box.liquid".

Double click the snippet, and it'll "inject" the bundle code onto the new page you've just created.

Now we've injected the snippet, we need to render the code to make it visible and functional on our live site.

Rendering your Bundle

Navigate back to the bundle page we created, and add the Smartrr bundle render code.

This part of code will always be the same, just changed to reflect the name you gave your bundle. In this example, the render code looks like this:

{% render 'smartrr-bundle-georges-tea-box' %}

Paste the code into the page, and then click "save".

Once you've saved, navigate back to Shopify, go into the "Online Store" sales channel, and then click "Pages". From there, click "Add page".

Name the page the same as your bundle, and click the drop-down "Theme template" on the right-hand side. You should see the template we created in the backend appear as an option. Select it and click save.

If you click "View page" from here, you'll be directed to your (very basic) bundle page!

How to implement Bundles on your live site

The ability to trigger the Bundles modal can be placed anywhere on your site. For example, it can live on your parent bundle PDP as a CTA button: "Build my bundle".

Once installed, the Bundles modal can also be styled with custom colors and typography by editing the CSS on the snippet smartrr-bundle-css.liquid in your theme’s liquid code.

Frequently Asked Questions

I removed a bundle item from my Shopify collection and subscription program. Why do my customers still see the item in their account portal when they are editing their bundle?

Currently, while bundle items removed from your Shopify collections and subscription program will no longer be available new customers to add to their bundle, it will still show up for customers who have already purchased subscriptions a bundle with this item. This is a known issue, and Smartrr is actively working on a fix. Please contact your CSM for more information.

How are Smartrr bundles passed to my 3PL?

Smartrr offers two ways to pass bundle information to your 3PL for picking and packing:

  1. As custom attributes

  2. As line items

By default, Smartrr appends bundle items to a Shopify order with the custom attributes. When this is the case, your customers' orders in Shopify will look something like the below:

Alternatively, you can check to enable Use line items when creating your bundle:

When line items are enabled, your customers' orders in Shopify will look something like the below:

This will allow you or your 3PL center to fulfill items at a line-item level:

⏰ Timing note: When using line items, the Smartrr app will update the order items in Shopify as soon as Shopify fires an ORDER_UPDATE webhook. This means that the order you see in Shopify should be nearly instantaneous, however we recommend having at least a 10 minute delay to be safe before Shopify order information is relayed to your 3PL to ensure that Smartrr has had time to add line items.

To validate an order has been updated with line items, your 3PL can check for order line item properties in the ORDER_CREATE payload. If this payload contains _smartrr_info then the 3PL should continue to wait on that order for another 10 minutes.

Checkout Extensions

Checkout Extensions offer extra functionality in the Shopify checkout flow.

Last updated: May 14, 2025

About

Smartrr offers four Checkout Extensions that offer extra functionality in the Shopify checkout flow. These extensions are available to merchants who are on a Shopify Plus plan.

Checkout Extension #1: Subscription Overview

The Subscription Overview Checkout Extension appears above the product overview and gives a quick-glance summary of a new subscription that's being started. This quick-take helps reinforce the customer's subscription commitments in a more visual way than the default "Recurring total" one-liner that appears during the checkout process.

You might find this extension helpful if:

  • Your customers sometimes don't realize they are purchasing a subscription.

  • You want to reinforce the cadence the customer selected for their subscription.

  • You want to reinforce the discount the customer is receiving by purchasing a subscription.

  • You want to remind the customer that they will be able to manage their subscription at any time via their account.

To enable the Subscription Overview Checkout Extension, go to your Settings in Shopify > Checkout > Customize checkout.

Under the Information section, click Add App Block at the bottom:

Click on the app that says Subscription Overview:

Be sure to save your checkout settings.

Checkout Extension #2: Reminder to Create Account

The Reminder to Create Account Checkout Extension is a text-only extension that appears at the Information checkout step below express checkout options and reminds customers that they can create an account to manage their subscription anytime. When expanded, it reads that you can easily change your frequency, gift, skip, or pause your subscription from the account portal.

You might find this extension helpful if:

  • Your customers often reach out after purchase to ask how they can manage their subscription.

To enable the Reminder to Create Account Checkout Extension, go to your Settings in Shopify > Checkout > Customize checkout.

Under the Information section, click Add App Block at the bottom:

Click on the app that says Account Banner.

Be sure to save your checkout settings.

Checkout Extension #3: OTP Checkbox Upsell

The OTP Checkbox Upsell Checkout Extension appears at the Information checkout step above express checkout options. It identifies eligible subscription products that are in the customer's cart and gives them and easy way to change it from a one-time-purchase (OTP) to a subscription with the click of a checkbox. This way, you can upsell an item to a customer without them even having to leave the Shopify checkout flow.

You might find this extension helpful if:

  • You offer a large incentive to subscribe to products in your shop

  • You want to offer an additional "Subscribe" touchpoint that lives outside the PDP page

To enable the OTP Checkbox Upsell Checkout Extension, go to your Settings in Shopify > Checkout > Customize checkout.

Under the Information section, click Add App Block at the bottom:

Click on the app that says OTP Checkbox Upsell:

Once the extension is selected, you'll have the option to enter your own custom title and subtitles. For each title and subtitle, you'll select the product variant you'd like to apply this extension to:

Be sure to save your checkout settings.

Checkout Extension #4: Subscription Plan Editor

The Subscription Plan Editor Checkout Extension appears in the product overview and gives the customer the ability the edit the subscription plan of a product with a subscription, or convert the subscription product to a one-time purchase (OTP).

You might find this extension helpful if:

  • You have multiple subscription plans set up in your subscription program with different frequencies / incentives

  • You want to the ability for customers to convert OTPs to subscriptions without leaving the Shopify checkout flow, and vice versa

To enable the Subscription Overview Checkout Extension, go to your Settings in Shopify > Checkout > Customize checkout.

Under the Information section, click Add App Block at the bottom:

Click on the app that says Subscription Plan Editor:

In order to use this extension, it will have to be placed as a child element under "Items in cart" on the left hand side. This will allow the extension to appear for each line item in the customer's order.

Be sure to save your checkout settings.

Creator upsells

Add a creator upsell to your customers' Account Portal to feature up to four curated products.

Last updated: May 14, 2025

Overview

Creator upsells (trending lists) are a type of upsell that can be used to promote between 1-4 products in your customers' Account Portal. Customize heading and body copy to surface these recommendations as being from a particular individual creator or group.

Set Up

Under Subscription Programs, click on the three dots in the menu to reveal Trending Lists.

Once on the Trending List tab, add the following fields:

  • Heading

  • Caption text

  • List discount (optional – the additional discount your customers receive from shopping from this trending list)

  • List products (select between 1-4 products)

💕 Tip: Want to hide/show the heart icon over the image? Toggle the setting "Show heart?"

Once all fields have been entered, make sure to Save changes at the top.

Tip: Want to reorder where the trending list appears on the Customer Account Portal? Use the down/up arrows in Theming > Portal Settings > Sections to reorder.

Accessing the Customer Account Portal

Showing your customer where they can access their account to self-manage their subscriptions.

Accessing the Account Portal

Shoppers can access their Account Portal directly from your Shopify store. Most Shopify themes include a small 'Account' icon near the upper right corner of the screen.

Note: (default Shopify account icon shown below)

Note: If you’ve customized your theme, the account portal icon could appear in a different location.

Accessing the Account Portal with a Direct Link.

What if a Shopper hasn’t Created an Account?

Whenever a subscriber purchases a subscription, they will be sent an email inviting them to create an account to manage their subscription. If they haven’t taken the steps in setting up an account, they can always create an account after the fact by clicking the 'Create Account' link on the login page.

This page can also be reached by directly linking to the following URL structure:

https://[your-shop-domain].myshopify.com/account/register

Sending Account Invites via Shopify

You can also send an email reminder to a shopper to register for their account directly from within the Shopify admin customer page:

"View as customer" feature

Better assist in troubleshooting customer requests by seeing exactly what they see.

Last updated: May 14, 2025

Ever have a customer reach out to you with a CX request about their customer account portal? Help troubleshoot directly by seeing exactly what they're seeing by viewing your customer's accounts as they see them by clicking the View portal as customer from the Customer details page in your Smartrr admin.

To view portal as customer, navigate to the customer's detail page by going to Customers in the left hand sidebar. Find the customer you want to manage and click the row.

Once on the customer detail page, the View portal as customer button is on the right hand side of the page. Click on the button.

Note: If prompted with a login screen for your shop, login with your own shop account credentials. We know, this seems counterintuitive — but trust us. 🤞

Once logged in, you will be able to view the customer's account portal as they see it. You will be able to take any actions the customer can.

To exit the View portal as customer preview, click on the Exit customer view button on the fixed gray bottom bar.

Viewing next orders

Last updated: May 14, 2025

Customers can view all their upcoming subscription orders from their Customer Account Portal. Once logged in, they'll land on our portal homepage.

Customers view their next order under the Subscriptions section and Next order tab.

📦 Note: The large date indicates when the customer's next transaction will process in Smartrr (creating an order in Shopify), not when the order will be delivered to the customer.

🧐 SEE ALL: How do customers see all upcoming orders?

Customers can see all upcoming orders associated with a subscription by clicking on See all upcoming orders.

This will open a modal where customers can take quick-actions (Skip, Gift) on certain scheduled orders, or the option to navigate into more options for a certain scheduled order.

📦 SEND NOW: How do customers send their next scheduled order immediately?

If a customer does not want to wait until their scheduled next order date, they can opt to "Order" by clicking Manage next order.

Customers can click on the Order now icon, indicated with a shipping box. They will be directed to a confirmation state which they can confirm or cancel their choice.

⏭ SKIP: How do customers skip their next order?

If a customer does not want their next scheduled order, they can opt to "Skip" by clicking Manage next order.

Customers can click on the Skip icon, indicated with a skip forward arrow. They will be directed to a confirmation state which they can confirm or cancel their choice, in addition to viewing when their next scheduled order will process if they confirm to the skip.

🎁 GIFT: How do customers gift their next order?

If a customer wants to send their upcoming subscription order to a friend or family, they can opt to "Gift" by clicking Manage next order.

Customers can click on the Gift icon, indicated with a gift box. They will be directed to a state where they can enter the recipients shipping information and an optional gift message (up to 160 characters).

The recipient will receive an email notification with the gift message letting them know they have been gifted an order from the shop, but the email will not reveal the contents of the order to the recipient—this remains a surprise! 🎉

⏳ DELAY DATE: How do customers delay their next order?

If a customer wants to receive their next order at delayed date, they can opt to "Delay date" by clicking Manage next order.

Customers can click on the Delay date icon, indicated with a clock icon. They will be directed to a confirmation state which they chose can between the below options, in addition to viewing when their next scheduled order will process if they confirm to delay.

  • Delay 1 week

  • Delay 2 weeks

  • Delay 3 weeks

  • Set custom date (Customer will be directed to a calendar to pick a specific date)

🔄 SWAP: How do customers swap an item in their next order?

If a customer wants to change up some of the items scheduled to be delivered in their next order, they can opt to "Swap" by clicking Manage next order.

Customers can click on the Swap icon, indicated with two arrows. They will be directed to a confirmation state which they chose which item they want to swap out—and which item they would like to swap into their next order.

Note: Customers will only be able to "swap-in" items that are also available within the same Subscription Program.

🏡 EDIT ADDRESS: How do customers edit their address for their next order?

If a customer needs to change the delivery address for their subscription, they can opt to "Edit address" by clicking Manage next order.

Customers can click on the Edit address icon, indicated with a house. They will be directed to a confirmation state where they can enter a new address. This will update the shipping address for all future orders for that subscription only.

➕ADD: How do customers add an item to their next order?

If a customer wants to add an item to their next order, they can opt to "Add item" by clicking Manage next order.

Customers can click on Add item, located at the end of the list of current items in the order. They will be directed to a confirmation state where the can search items to add from a list.

📦 BUNDLES: How do customers edit items in their next order?

If a customer wants to edit items within their bundled subscription for their next order, they can opt to "Edit" their bundled box by clicking Manage next order.

Tip: Bundle products are always indicated with an extra 📦 icon instead of a quantity badge.

Customers can click on Edit, located underneath the bundled product.

They will be directed to a modal state where the can adjust quantity, add, and remove items from their bundled box.

If your shop offers different bundle variants, the customer can change the size of their bundled subscription by clicking "Select different size".

Instagram feed

Double expose your brand's Instagram feed on your shop's Customer Account Portal.

Last updated: May 14, 2025

Overview

Use Smartrr's Instagram connection to display a dynamic Instagram feed inside your Customer Account Portal.

Set Up

In Smartrr, navigate to Theming and find the Instagram section.

Expand the section and click Log in with Instagram.

When redirected, click Allow for permissions on Profile Information & Media.

Once successfully authenticated, you will see the Instagram handle of the account you've connected to and a Disconnect button.

Use the down/up arrows to reorder where the Instagram feed appears on the Customer Account Portal. Use the eye icon to toggle the visibility of the Instagram feed on/off entirely.

Order history

Last updated: May 14, 2025

Customers can view all their order history orders for both subscription and one-time purchases from their Customer Account Portal. Once logged in, they'll land on our portal homepage.

Customers view their order by year under Order History.

The following badges can appear on each order mini-card to indicate the status of the order:

  • Processing

  • Shipped

  • Gifted

  • Refunded

By clicking on the order mini-card, the customer can view all details associated with the order – including tracking and carrier information if the order has been shipped.

Manage subscriptions

Last updated: May 14, 2025

Customers can view all their upcoming subscription orders from their Customer Account Portal. Once logged in, they'll land on our portal homepage.

Customers view their active and paused subscriptions under the Subscriptions section and Subscriptions tab.

Note: If a customer has more than 1 active or paused subscription, they will appear in a 2x2 grid on desktop and stacked on mobile. Canceled subscriptions do not appear in the Customer Account Portal as they can't be reactivated by the customer or by the brand.

🕰 FREQUENCY: How do customers edit the delivery frequency of their subscription?

If a customer wants to change the cadence of their subscription deliveries, (ex. 30 days > 45 days) they can opt to "Edit frequency" by clicking Manage subscription.

Customers can click on the Edit frequency icon, indicated with a calendar and clock. They will be directed to a confirmation state which they can select one of the frequencies available in their subscription program.

🗓 SET DATE: How do customers set the next date for their subscription?

If a customer wants to set a new date for their subscription delivery dates to be based on, they can opt to "Set next date" by clicking Manage subscription.

Customers can click on the Set next date icon, indicated with a calendar. They will be directed to a confirmation state which they can select on a calendar a new date for their subscription.

Customers will also see help text: "Your upcoming orders will be updated based on this new date...".

📦 BUNDLES: How do customers edit items in their bundled subscriptions?

If a customer wants to modify the items in their bundled subscription, they can opt to "Edit" by clicking Manage subscription.

Tip: Bundle products are always indicated with an extra 📦 icon instead of a quantity badge.

Customers can click on Edit, located underneath the bundled product.

They will be directed to a modal state where the can adjust quantity, add, and remove items from their bundled box.

If your shop offers different bundle variants, the customer can change the size of their bundled subscription by clicking "Select different size".

💳 EDIT PAYMENT: How do customers edit their payment method for their subscription?

If a customer wants to update the payment method for their subscription, they can opt to "Edit payment" by clicking Manage subscription.

Customers can click on the Edit payment icon, indicated with wallet. They will receive a notification to their email with a link to securely update the payment method associated with their subscription.

⏸️ PAUSE: How do customers pause their subscription?

If a customer wants to pause their subscription, they can opt to "Pause" by clicking Manage subscription.

The customer will be prompted to select a date for their subscription to auto-resume within the next six months.

🛑 CANCEL: How do customers cancel their subscription?

If a customer wants to cancel their subscription, they can opt to "Cancel" by clicking Manage subscription.

Subscription transactions

See how to view the transactions associated with your customers’ subscription orders.

Last updated: May 14, 2025

Within the Smartrr app and the left-hand menu, click Subscriptions then Transactions. Here, you can view each transaction's details including Transaction ID and more.

You can also view subscription transactions by opening details of specific customers from the Customers tab on the left-hand pane.

Bundles features are available to merchants on our . With Bundles, you can offer "build-a-box" style subscriptions for your customers by allowing them to curate their own assortment of recurring products.

Double check: Make sure the same items you added above in your AND your are all selected as products within the Subscription Program you are about to choose.

Next, select the you created above as your Bundle Product. *You will not see this as an option in the modal if the product has not been added to your Subscription Program first.

📦 Tip: Check Use line items if you'd like to pass individual bundle items to your 3PL as line items or custom attributes as opposed to the parent bundle SKU. Read more in our FAQ section below:

Finally, add as many Bundle Variants as you linking to the variants you set up in Shopify for your . Link the variant to the in the above step.

On our , you have access to our implementation team which can help you get Bundles up and running on your shop.

💻 Developers can find additional technical support for bundles by viewing: .

Note: Checkout Extensions are only available to merchants on .

Image (via URL – Use to upload an asset and copy the link)

Shoppers can also access the Account Portal directly using the following link structure:

Similarly, if you have connected a custom domain to Shopify, that link can also be used:

For an example, you can visit the Smartrr Snacks Demo store’s account login page here:

Note: Clicking this button means that the order will process with the next scheduled transaction run for your shop, which is scheduled for once a day. For example, if a customer presses this button at 8PM on a Monday and the shop's transaction settings are set to 9:30AM daily, the customer's order will process at 9:30AM on Tuesday—the next day. Learn more about .

Effective December 4th, 2024: Connected Instagram accounts must use (either "Business" or "Creator").

Note: The list customers see is based on what subscription plans are available in the customer's subscription program. If there is only one subscription plan available within the subscription program, the customer will not be able to switch to another frequency. In this case, .

Customers can click on the Cancel icon, indicated with a stop sign. They will be directed to a confirmation state which they can confirm their desire to cancel. If the stop has features turned on, provide a reason for why they are cancelling.

💎 Excel plan
How to create a Bundle in Smartrr
💎 Excel plan
Bundles: Developer Documentation
Shopify Plus
Shopify's Files feature
https://smartrr.shop/account
Transaction Settings
Professional accounts
How to create a Bundle in Shopify
Injecting Bundle snippets into your theme
Rendering your bundle
How to implement Bundles on your live site
Shopify bundle collection
parent dummy bundle product
parent dummy bundle product
How are Smartrr bundles passed to my 3PL?
parent dummy bundle product
collection you created in Shopify
https://[your-shop-domain].myshopify.com/account
https://[your-shop-domain.com]/account
we recommend turning off "Edit frequency" as a subscription management option
Retention

Updating email address

Last updated: May 14, 2025

Customers can change the email address used to log into their account from their Customer Account Portal. Once logged in, they'll land on our portal homepage.

Customers view their current login information under Settings. Customers can click their email address to change their email.

A modal will open prompting the customer to enter the new email they'd like to use.

Integrations

Instructions on how to integrate Smartrr with some of the leading tech-partners in the ecommerce industry.

Billing schedule

Customize what time of day and in what timezone your recurring subscription orders will be processed

Last updated: May 14, 2025

Within the Smartrr app, navigate to Transaction Settings under CONFIGURATION in the left-hand menu:

Under the Billing Schedule heading, you’re able to set the time of day and time zone for which your store will charge customers for their subscriptions and generate orders. By default, Smartrr charges customers at 9:30AM in the time zone of your store.

Note: your Billing Time will be when your transaction run starts, but depending on the number of customers in queue some might be charged slightly after this time.

Available integrations with Smartrr

Smartrr partners with the ecosystem’s best to allow Shopify merchants to offer curated subscriptions and memberships with ease.

We offer a variety of integrations with various tech and agency partners. For an up-to-date list of all our integrations, view our pages for and .

Tech Partners
Agency Partners

Attentive x Smartrr Integration

Instructions on how to set up SMS subscription management with Smartrr's native Attentive integration.

Last updated: May 14, 2025

Setup

To integrate Attentive and Smartrr, go to the Integrations tab in the Smartrr admin. Find the Attentive card and click Connect.

Click Authorize when prompted to allow Smartrr access to your Attentive account.

Attentive Triggers

The Smartrr x Attentive integration works by sending triggers on a subscriber-level that can be used to create automations inside the Attentive admin based on the below events.

In green we've outlined some example copy for SMS automations that your shop could create using these triggers.

Trigger
Description
Potential SMS Example

🆕 Subscription Created

Sent whenever a new subscription is created

Hi {first_name}, thanks for your subscription! Manage your subscription by creating an account here: {account_page_link}

🔁 Upcoming Subscription Order

Sent 3 days before upcoming order, customer provided option to skip

Heads up: your upcoming subscription will ship in 3 days. Not quite ready? Just reply SKIP

⏭ Subscription Skipped

Sent when a customer skips after receiving the upcoming order notification

Confirmed! Your upcoming subscription will be skipped. Your next order will be on {new_delivery_date}

⏮ Subscription Unskipped

Sent when a subscription order has been unskipped

Confirmed! Your upcoming subscription will no longer be skipped. Your next order will be on {new_delivery_date}

⏸ Subscription Paused

Sent when a subscription has been paused

Confirmed! Your subscription has been paused. Resume anytime via your account: {account_page_link}

⏯ Subscription Activated

Sent when a previously paused subscription has been resumed

Your subscription has been successfully resumed. Your next order will be on {new_delivery_date}

⏹ Subscription Canceled

Sent when a subscription has been canceled

We're reaching out to confirm your subscription has been canceled. We're sorry to see you go.

💳 Payment Method Updated

Sent whenever a customer successfully updates their payment method

Hi {first_name}, your payment method has been successfully updated!

❗️Failed Subscription Payment

Sent whenever a payment method for an upcoming order has failed

Your recent payment wasn't completed. To update your payment method, click here: {account_page_link}

Attentive Journeys

To create a journey in Attentive, navigate to Journeys under Messaging.

Click Create Journey. Create a new journey from scratch.

Select from one of the available Smartrr triggers. You can also filter the trigger list by Smartrr app only.

You're now ready to add steps to your journey. When complete, make sure to Turn on your journey.

Blueprint x Smartrr Integration

The Blueprint x Smartrr integration allows customers to manage their subscriptions via SMS.

Last updated: May 14, 2025

Smartrr's integration with Blueprint works by sending automated SMS for upcoming subscriptions, subscription confirmation, and post-order check-ins. These messages can be used for the following use cases:

  • Welcoming new subscribers

  • Letting a subscriber know when their next shipment is upcoming

  • Allowing customers to SKIP or DELAY via SMS response

  • Resolving issues with delayed shipments or product questions

Setup

First, you'll need to generate a unique access token in the Smartrr App for Blueprint. Log into your Smartrr admin and navigate to Integrations. Under the API Keys tab, select Create Key.

We suggest naming your Token Nickname and Application Nickname "Blueprint". Before creating, ensure you change the permissions for Subscriptions, Customers, and Webhooks from Read to Read and Write. Press Create and then copy your newly created key.

In your Blueprint admin, navigate to your Integrations Hub and click Smartrr Subscriptions.

Paste your copied key from the Smartrr Admin into the field labeled Smartrr Access Token. Click Test connection and wait for the green tick to appear. Next, click Activate to complete integration setup.

SMS Subscription Management

To set up some of the use cases discussed at the beginning of this article, navigate to the Automatics section of your Blueprint admin. Toggle live (or create) the relevant subscription automations.

Note: By default, Smartrr sends upcoming subscription charge messages 3 days before the upcoming charge. Currently, this time frame can't be change.

Failed payments

We make it easy to have a protocol in place for when a customer’s payment method for their recurring subscription order fails.

Last updated: May 14, 2025

Navigate to Transaction Settings under CONFIGURATION in the left-hand menu.

In Smartrr, you're able to define the interval before the transaction is retried and the number of retry attempts. By default, Smartrr will retry failed payments 3 times with a 1 day interval with 1 day in between each failed payment.

If retried payments are still unsuccessful, Smartrr has the ability to auto-cancel the subscription after a certain number of failed payment cycles, or to never automatically cancel the subscription and keep retying the failed payment in perpetuity.

📲 Note: Smartrr does not currently act as a service to gather SMS subscribers. For this integration, we are assuming that your customers are already subscribed via Attentive. For instructions on how to gather Attentive subscribers, .

to learn how to set up journeys in Attentive using Smartrr triggers.

❓ Have more questions about Blueprint? Check out their .

click here
New Subscription
New Subscription Check-in (1st order only)
Upcoming Charge
Recurring Charge Confirmation
Help Center
Jump to the section below

Creating an account

New customers must create an account with your store in order to manage their subscriptions on an ongoing basis.

Last updated: May 14, 2025

Although customers will receive emails regarding their subscription with or without a registered account, every customer must register for an account in order to actually manage their subscriptions (skip, gift, cancel, edit shipping & payment details). Within the admin portal, you can check if a customer has created an account on the customer’s subscription detail page. HAS LOGGED IN indicates they have created an account with your store. HAS NOT LOGGED IN indicates the customer still needs to create an account.

Your customers are able to create an account in one of three ways.

  1. Your customer can sign up on first subscription purchase

  2. Your customer can sign up directly on your website (using the same email as was used for their subscription order)

  3. Your customer can sign up via a direct one-time in invite link sent via your Shopify admin

Option 1: Sign Up on First Subscription Purchase

Initially, your customers will have the ability to activate their account when they recieve an email confirmation of their subscription. If this email is being generated by Smartrr, we will include an option for them to register for an account in the body of the email.

We recommend whether you send subscription purchase confirmation emails (via Smartrr or another ESP) or by SMS notification to always include a link to register for an account after first purchase. Be sure to replace [YOUR-SHOPIFY-STORE-URL] with your store's URL.

https://[YOUR-SHOPIFY-STORE-URL].myshopify.com/account/register

Option 2: Sign Up Direct on Shop Website

Often times, brands will have an icon that represents their icon portal in their navigation bar or menu, or they will list it out directly as Account.

If the customer is creating a new account post-subscription purchase, remind them that they should be sure to use the same email address to create their account as they did while placing their subscription order.

Option 3: Sign Up Via One-Time Invite Link

To resend a customer a one-time link to create an account, follow Shopify's instrcutions to . Remind your customer to use the same email they used to create their subscription.

send individual account invites

Gorgias x Smartrr Integration

Instructions on how to integrate the Smartrr app with Gorgias

To start, navigate to Integrations and locate the Gorgias card. Click Connect.

In the pop-up, enter your Gorgias domain. Click Connect and Create Widget.

Using the Smartrr Widget

The Smartrr widget should appear if the associated customer in Gorgias has a subscription. This widget will allow brands to manage a customer’s subscription without leaving the relevant ticket page in Gorgias. Below is an example of what a full widget will look like:

Smartrr Subscriber Info

At the top of the Smartrr widget, you'll see the following relevant subscriber information:

  • Subscriber name

  • Subscriber email

  • Has logged in

    • TRUE if subscriber has created an account on your site and signed in

    • FALSE if a subscriber has not created an account on your site and signed in

  • Subscriber since

Smartrr Subscription Info

Below the subscriber's customer information, you will see all subscriptions associated with the subscriber and their details:

  • Status

    • ACTIVE, PAUSED, or CANCELLED

  • Subscription program

  • Subscription plan

  • Next billing date

  • Subscription created

  • Order count

  • Product names

  • Product variants

  • Product quantity

  • Product SKU

  • Product amount

You're able to take the following quick subscription-management actions from within Gorgias:

  • Skip next order

  • Pause

  • Set next billing date

  • Unpause

  • Cancel

Any actions taken from the Smartrr widget will be added to the ticket history in Gorgias, as shown below:

Editing the Widget

You can always customize the data and buttons that appear in the Smartrr widget by clicking the Edit Widgets settings button:

You'll be taken to a page where you can configure which buttons and information displays:

Manual Integration

Use the below instructions in the event the above instructions do not work. First, go to Gorgias > Your Profile > Integrations > HTTP Integration > Add New Integration. Fill out the information asked. When asked for URL, enter:

https://api.smartrr.com/vendor/order/formatted?filterLike[emailOrName]={{ticket.customer.email}}

You'll have to add a header called x-smartrr-access-token. This is the access token you generated back in the Smartrr app in the Integrations tab.

Now that your integration has been set up and your widget has been created, return to Gorgias and create a sample ticket. Click on the gear in the upper right hand corner to edit the widget settings.

Scroll down the widget view until you locate Smartrr Integration under HTTP data. Drag over any data that you would like to see to the widget sidebar.​

Triggers

Triggers are currently activated by Gorgias only. Every time one of the actions listed in this section (Ticket created, Ticket updated, Ticket message created) is performed, it will send a request to the Smartrr app to pull data from our API.

Custom Actions

Gorgias allows for users to create buttons (custom actions) in the widget. To create a custom action for Smartrr, head over to the Widget Editor in Gorgias.

Note: Smartrr will automatically create some predefined buttons for you if the integration was done through via the Integrations tab in the Smartrr app. Due to some limitations, actions generated by Smartrr will only apply to the most recent subscriptions of a customer.

Once you’re in the widget editor, click Add Button.

A request window will open. From there, you're able to add custom actions on your end.

Include the same header and token you used to create the integration.

Most Smartrr actions require the PUT method and the URL will look similar to the one below:

https://api.smartrr.com/vendor/customer/{{ticket.customer.integrations.42404.data[0].custRel.id}}/purchase-state/{{ticket.customer.integrations.42404.data[0].sts[0].id}}/skip

Klaviyo x Smartrr Integration

Segment and target your audience in both flows and campaigns with subscription-specific triggers.

Last updated: May 14, 2025

How it works

The following triggers are available to be passed from Smartrr to Klaviyo:

Custom Properties

In addition to passing triggers, the following custom properties will be passed to individual Klaviyo profiles:

Customer Context

Item Context

Subscription Context

Loyalty Context

Payment Context

Order Context

Setup

To integrate Klaviyo and Smartrr, grab your public API key from your Klaviyo dashboard under Account > Settings > API Keys.

Your Public API Key is pre-generated at the top of the page. Copy this key.

In your Smartrr dashboard, navigate to Integrations. Under Manual Integrations, find Klaviyo and press Connect to enter the public API key you copied from Klaviyo.

Heads up: Since Smartrr syncs real-time information into Klaviyo, make sure to take this into consideration when planning out your Klaviyo flows. For example, a flow triggered by the Smartrr: subscription created metric will trigger immediately after someone subscribes, which can result in inundating customers with 3+ emails if they are already receiving both "Welcome" and "Order Confirmation" emails.

So that you can immediately begin using all Smartrr-related metrics in your Klaviyo flows, upon successful connection we will immediately create a profile in your Klaviyo "hello@smartrr.com" that will fire all 11 available triggers once. ✅

Customer Profiles & Payloads

Once your integration is setup and syncing, you'll also be able to view subscription-level metrics detail on customer profiles within Klaviyo.

Click on Details to view the payload information that is passed along with each individual metric.

The information in the payload can be referenced as dynamic tags when designing your Klaviyo emails. For example, if you started a flow with the trigger Smartrr: Subscription created and wanted to reference one of the events in the payload, use the tag {{ event.event_name}} replacing event name with your desired variable in the body of your email.

You can use Klaviyo's preview feature to help locate tags. When in preview mode for a flow email for a customer, click in the information you'd like to populate and the corresponding tag will display. In the below example, we've clicked on the with the dynamic tag for subscription frequency: {{ event.frequency_unit }} . When put into the body of an email this will render the word "month" in the customer's email.

Postscript x Smartrr Integration

Instructions on how to set up SMS subscription management with Smartrr's native Postscript integration.

Last updated: May 14, 2025

Setup

To integrate Postscript and Smartrr, first create a security key pair from your Postscript dashboard under Settings > API.

Once created, show and copy your Private Key to your clipboard. Paste this key in your Smartrr admin under Integrations.

Click Confirm. Once saved, your integration setup is complete!

Postscript Triggers

The Smartrr x Postscript integration works by sending triggers on a subscriber-level that can be used to create automations inside the Postscript admin based on the below events.

In green we've outlined some example copy for SMS automations that your shop could create using these triggers.

Postscript Automations

To create an automation in Postscript navigate to Automations under Messaging.

Note: For Smartrr's integration, please use Legacy Automations.

Click Create Automation. Be sure to choose the Legacy option.

Select Custom Automation.

Select any of the triggers that begin with Smartrr: to proceed.

You're now ready to add your desired SMS copy and set a wait period. You can set a wait time as low as 1 minute.

To add dynamic tags to your SMS automation, click More and Add Tags. The default tags scoped to Postscript include shop_name, first_name, last_name and shop_link. To add Smartrr-specific dynamic tags, reference the below table for tags associated with each trigger:

Tip: Make sure you save your automation and that it's enabled by sure the Active toggle is flipped to green.

Reminder: in the United States, automation "waking hours" are from 11AM to 9PM.

Customer Keyword Responses

Your customers can use specific keywords to trigger certain actions on their subscription.

Skip

To set up a prompt for the customer to SKIP, set up a legacy automation with the automation trigger: Smartrr: Upcoming Order.

To set up a response to SKIP, set up a second legacy automation in response to the trigger: Smartrr: Order Skipped.

FAQs

  1. Where can I track Smartrr messages in Postscript? You can view your message analytics in your Postscript dashboard under Analytics > Messages. You can also view direct customer responses to automated messages in Messaging > Responses.

🕒 Coming soon...

The below features will be coming soon to the Smartrr x Postscript integration:

  • Text DELAY to delay a subscription

  • Ability to pull in dynamic Shopify customer data into SMS

Loyalty Lion x Smartrr Integration

Let your customers use discount rewards generated in Loyalty Lion on subscriptions powered by Smartrr.

How it works

LoyaltyLion platform creates loyalty programs that go beyond points and rewards, driving greater customer lifetime value and cost-effective acquisition through better customer relationships.

Together, Smartrr makes use of the subscription discount vouchers found in LoyaltyLion so all of your customers can take advantage of your loyalty program, wherever they are in your subscription stages.

You can create vouchers for:

  • Initial subscriptions

  • Active subscriptions

  • Discount codes for multiple subscription orders

  • and more…

Setup

Loyalty Lion discount codes work natively with Smartrr, so there's no need for API keys. Simply start by logging into your Loyalty Lion account.

Click on the tab that says Manage.

On the left, find Activity rules and click Create new reward.

Click on Discount.

Choose to set a discount to work on either one-time purchases, subscription purchases, or both depending on your brand's strategy. You can also choose whether this discount will apply to only the first payment, multiple recurring payments, or all recurring payments. Click save.

Subscription codes created from this Discount Reward can then be used on all subscriptions powered by Smartrr.

Notes: 42404 in the above URL is the integration ID which is unique to every integration. You can find in the URL on Gorgias' integration’s page. data[0] and sts[0] refer to the subscription that you want to modify. 0 would be the most recent subscription and incrementing it by 1 will go back one subscription. The double brackets in the URL signify a macro variable in Gorgias which you can learn more about .

To get a list of all actions available to you, you can visit Smartrr’s API documentation .

Effective December 28, 2023, Smartrr now requires both public and private Klaviyo API keys for all shops. If you’re an existing merchant who has enabled our Klaviyo integration, please create a private API key from within your Klaviyo admin. For detailed instructions on how to do this, please visit. . Then, please add this private API key into Smartrr by going to Integrations > Klaviyo > Update. Please complete this action as soon as possible in order to avoid disruption to your Smartrr <> Klaviyo integration.

Smartrr's integration with Klaviyo can be used in conjunction with or in place of Smartrr's native email .

Trigger Name
Fired when...

Once successfully connected, the triggers will sync as soon as the metric itself fires.

If you have a payload in array form, such as items, you can loop through the array to find a specific result. .

📲 Note: Smartrr does not currently act as a service to gather SMS subscribers. For this integration, we are assuming that your customers are already subscribed via Postscript. For instructions on how to gather Postscript subscribers, . You may also need to be on a Postscript plan that allows integrations. Please contact your Postscript representative directly should you have questions on upgrading your plan.

to learn how to set up automations in Postscript using Smartrr triggers.

Trigger
Description
Potential SMS Example
Trigger
Associated Tags
Response
Action
here
here
$email: string;
customer_shopify_id?: string;
customer_smartrr_id: string;
active_subscriptions_count: number;
customer_currency: CurrencyCode;
order_count: number;
total_spent: string;
$first_name?: string;
$last_name?: string;
$phone_number?: string;
$address1?: string;
$address2?: string;
$city?: string;
$zip?: string;
$region?: string;
$country?: string;
item_variant_smartrr_id: string;
item_variant_shopify_id: string;
item_variant_name: string;
item_variant_image: string;
quantity: number;
currency: string;
price: string;
sku: string;
item_smartrr_id: string;
item_shopify_id: string;
item_image: string;
item_image_small: string;
item_name: string;
subscription_smartrr_id: string;
subscription_shopify_id: string;
next_order_date: string;
items: string;
item_names: [string];
item_variant_names: [string];
status: string;
frequency_unit: string;
delivery_frequency: number;
payment_frequency: number;
total_estimated_tax: number;
total_discounts: number;
total_line_items_price: number;
total_line_items_price_after_discount: number;
total_estimated_net: number;
total_shipping: number;
shipping_address1: string;
shipping_address2: string;
shipping_province: string;
shipping_province_code: string;
shipping_city: string;
shipping_country: "string;
shipping_country_code: string;
shipping_zip: string;
shipping_first_name: string;
shipping_last_name: string;
cancellation_reason: string;
was_last_subscription: Boolean;
gift_id: string;
gift_email: string;
gift_phone: string;
gift_note: string;
gift_notify_by: string;
points_earned: number;
earn_event: string;
earn_date: string;
previous_point_balance: number;
current_point_balance: number;
previousTier: string;
newTier: string;
points_earned: number;
earn_date: string;
previous_point_balance: number;
current_point_balance: number;
referral_code: string;
referral_url: string;
referee_first_name: string;
points_earned: number;
referral_date: string;
previous_point_balance: number;
current_point_balance: number;
order_id: string;
order_shopify_id: string;
payment_id: string;
payment_shopify_id: string;
remaining_retries: number;
payment_id: string;
payment_shopify_id: string;
upcoming_order_date: string;
next_date: string;
skipped_date: string;
unskipped_date: string;

🆕 Subscription Created

Sent whenever a new subscription is created

Hi {first_name}, thanks for your subscription! Manage your subscription by creating an account here: {account_page_link}

🔁 Upcoming Order

Sent 3 days before upcoming order, customer provided option to skip

Heads up: your upcoming subscription will ship in 3 days. Not quite ready? Just reply SKIP

⏭ Skipped Order

Sent when a customer skips after receiving the upcoming order notification

Confirmed! Your upcoming subscription will be skipped. Your next order will be on {new_delivery_date}

💳 Payment Method Updated

Sent whenever a customer successfully updates their payment method

Hi {first_name}, your payment method has been successfully updated!

❗️Payment Method Failed

Sent whenever a payment method for an upcoming order has failed

Your recent payment wasn't completed. To update your payment method, click here: {account_page_link}

❌ Customer Deactivated

Sent when when a customer's last subscription has been canceled

We're reaching out to confirm your subscription has been canceled. We're sorry to see you go.

🆕 Subscription Created

{account_page_link}
{delivery_frequency}
{delivery_frequency_unit}

🔁 Upcoming Order

{account_page_link}

⏭ Skipped Order

{account_page_link}
{new_delivery_date}

💳 Payment Method Updated

{account_page_link}

❗️Payment Method Failed

{account_page_link}
{retry_num} 

❌ Customer Deactivated

{account_page_link}

SKIP

Skips customer's next scheduled subscription order.

{shop_name}: Heads up: your upcoming subscription from {shop_name} will ship in 3 days. Not quite ready? Just reply SKIP. To manage your subscription go to {account_page_link}
{shop_name}: Confirmed! Your upcoming subscription will be skipped. Your next order will be on {new_delivery_date}. To manage your subscription go to {account_page_link}

Shopify Questions

Customer Notifications
Click here to read more about how to use Klaviyo's dynamic variable tags
click here
listed above
Jump to the section below

Smartrr: Subscription created

🆕 A customer has purchased a brand new subscription from your shop

Smartrr: Subscription upcoming order

🔜 A customer has an upcoming subscription order in 3 days

Smartrr: Subscription send now

Smartrr: Transaction successful

Smartrr: Transaction attempt failed

Smartrr: Subscription skipped

⏭ A customer or admin has skipped an upcoming order

Smartrr: Subscription unskipped

⏮ A customer or admin has unskipped an upcoming order

Smartrr: Subscription gifted

🎁 A customer has gifted an upcoming order

Smartrr: Subscription next order date change

📅 A customer or admin has changed/delayed the date of customer's next order

Smartrr: Subscription product unavailable

🚫 A product in the customer's subscription has become unavailable (out of stock, deleted/archived, etc.)

Smartrr: Subscription canceled

🔚 A customer or admin has permanently canceled a customer's recurring subscription

Smartrr: Subscription paused

⏸️ A customer or admin has temporarily paused a customer's recurring subscription

Smartrr: Subscription activated (unpaused)

▶️ An admin has re-activated a customer's paused subscription in the admin portal

Smartrr: Subscription auto-resume

⏯️ Sent 7 days before a paused subscription is set to auto-resume

Smartrr: Loyalty points earned

🔺 A customer has earned loyalty points

Smartrr: Bonus points earned

➕ A customer qualifies for a bonus earn event and receives additional points

Smartrr: Successful referral

🤝 A customer when someone has successfully used their referral code

Smartrr: Loyalty points redeemed

💰 A customer has redeemed some % of their loyalty points

Smartrr: Referral code generated

🧑‍💻 A customer has generated a referral code to be shared

Smartrr: Loyalty Tier Advancement

☝️A customer has advanced up to the next tier

Shopify Flow x Smartrr Integration

Connect to enable Shopify Flow triggers and actions from Smartrr and automate tasks and processes within your store.

Last updated: May 14, 2025

Integration Setup

Next, navigate to Integrations in your Smartrr admin under CONFIGURATION. Find the block for Shopify Flow and press Connect. Your connection will automatically be enabled.

Integration Triggers & Actions

The following are available as triggers/actions from Smartrr from within Shopify Flow:

Name
Type
Description

Subscription upcoming order

Trigger

A customer has an upcoming subscription order in {X} days

Subscription transaction attempt failed

Trigger

A customer's order has failed during your shop's Billing Time

Subscription transaction successful

Trigger

A customer's order has successfully been run during your shop's Billing Time

Subscription unskipped

Trigger

A customer or admin has unskipped an upcoming order

Subscription skipped

Trigger

A customer or admin has skipped an upcoming order

Subscription next order date change

Trigger

A customer or admin has changed the next order date for an upcoming order

Subscription send now

Trigger

A customer or admin has hit Send Now on their next subscription order in their account portal

Subscription gifted

Trigger

A customer has gifted an upcoming order

Subscription created

Trigger

A customer has purchased a brand new subscription from your shop

Subscription canceled

Trigger

A customer or admin has permanently canceled a customer's recurring subscription

Subscription activated (unpaused)

Trigger

A customer or admin has re-activated a paused subscription

Subscription paused

Trigger

A customer or admin has temporarily paused a customer's recurring subscription

Skip next order

Action

Skip the next subscription order*

Pause Subscription

Action

Pauses the subscription automatically

*Note—if using "Skip next order" as an action, you'll need to add the variable for the subscription ID:

Setting up a Flow

To set up a flow, open Shopify Flow from within Apps in your Shopify admin. Click Create workflow.

From Installed App Triggers, you will see Smartrr in the sidebar. Click to reveal the full list of triggers and actions available to be added as nodes to your workflow.

Webhooks

Last updated: May 14, 2025

Note: In order to connect your receiving application to Smartrr, you will need the webhook url provided by that application. Please refer to that application’s help documentation regarding webhook urls.

What are webhooks?

Webhooks are automated messages sent between apps when something happens. They are useful as standalone alerts or to use as triggers for another action. They contain a message – or payload – in the form of a url.

How do you use webhooks in Smartrr?

Within the Smartrr app, navigate to Integrations under CONFIGURATION in the left-hand menu. Click Add Webhook.

You can link your webhooks to any of the following subscription events:

  • Subscription activate

  • Subscription cancel

  • Subscription create

  • Subscription failed payment

  • Subscription gift

  • Subscription pause

  • Subscription send now

  • Subscription next send date

  • Subscription skip

  • Subscription successful payment

  • Subscription un-skip

  • Subscription upcoming order

  • Payment method update

Within the field labeled URL, enter the url of the receiving application, then select which event you’d like your webhook to listen for.

Recharge x Smartrr Integration

Connect to your Recharge account to migrate your subscriptions to Smartrr.

Last updated: May 14, 2025

Through the Smartrr app, you can connect to migrate your subscriptions from Recharge and to connect Stripe as a secondary gateway.

Under Integrations, find the Recharge card under Migrations and click Connect.

You will be prompted to add your Recharge API key.

Note: Full migrations are only available on our 📈 Grow and 💎 Excel plans with the help of a Client Success Manager (CSM).

Why did my customer's subscription automatically pause?

Last updated: May 14, 2025

Cause of Subscription Pause

A customer's subscription pauses whenever a subscription order has not been successfully generated 45 minutes or more after an upcoming transaction was scheduled to occur.

The failure of the upcoming transaction can be caused by a variety of issues, including:

  1. Required phone number is missing

  2. A variant in the subscription was deleted, archived, or out of stock in Shopify

  3. The subscription contains an invalid discount code

  4. The shipping address for the subscription is invalid

Recommended Solution

  1. Confirm you have not updated your Shopify settings to require a phone number for all orders

  2. Confirm you have not deleted any products/variants in Shopify

  3. Confirm you have not switched a product from "Default variant" to another variant

  4. Confirm any applicable subscription discount codes are valid

  5. Confirm the shipping address for the subscription is valid

Tip: To check your store's Shopify settings on requiring a phone number for orders, navigate to Settings > Checkout and scroll to Shipping address phone number. We recommend this be set to either or Don't include or Optional. If set to Required, than all previously purchased customer subscriptions without a phone number will fail to process.

Bundles: Developer Documentation

Last updated: May 14, 2025

The ability to trigger the bundle-builder modal can be placed anywhere on your site. For example, it can live on a parent bundle PDP as a CTA button: "Build my bundle".

Initial Setup

Once Subscription Programs and Bundles have been created in the Smartrr admin, (see above article link), you can add the Smartrr bundle builder button to your shop by taking the following steps:

  1. In Smartrr's admin, navigate to Subscription Programs > Bundles

  2. Click Manage

  3. Save the bundle to the theme (or a duplicate theme) that you want the bundle builder button to appear on

Liquid Customizations & Custom Bundles

In the Shopify theme that the bundle has been saved to, click the "more options" icon left of the Customize button, click Edit code and search for snippets that begin with smartrr-bundle-.

In the example above, we've created the bundle All In Cheese and Fruit Bundle in Smartrr. The corresponding file smartrr-bundle-all-in-cheese-and-fruit-bundle.liquid has been injected into the theme's code. This file contains information about the bundle's name and slug, both of which need to be sent to the cart.

Tip: To manually render on any existing page, add {% render 'smartrr-bundle-{bundle-name}' %} to that page's liquid template.

Next, add the following code at the end of <body> in theme.liquid:

Be sure to change the page URL (ex./pages/bundle) to the page where you have rendered the bundle. Prior to that you need to create a liquid file and a page in the Online Store. First head to the 'Edit Code' for the theme you are using. In the 'Templates' section create a new liquid file, using 'Page' as a template and '.liquid' as a file extension. Add the code described in the 'Tip' section to that page. Head to the Shopify admin, click on the 'Online store' navigation button, then click on 'Pages'. Create a new page and use the 'page.{bundle-name}.liquid' file as a 'Theme template'.

Finally, add in the CTA button code that will trigger the bundle to open with the code:

Add a test bundle to your cart in your theme. View /cart.json after adding to view the line item properties that have been added.

Tip: The recommended function for adding to cart is: addBundleToCartAndRedirect in smartrr-bundle-js.liquid.

Line Item Properties

Below are the line item properties that will be added to a given bundle product:

Below are the line item properties from the example above, All In Cheese and Fruit Bundle.

Note: _smartrr_info is stringified JSON. If you're using a JS object to store these line item properties then be sure to use JSON.stringify when adding this information to cart item properties.

When the JSON is parsed, you'll see:

If a bundle purchase is one-time and not a subscription, "selling_plan" will be omitted. Example:

Below is a plain-text schema of the parsed JSON:

Below is the JSON schema that can be used for reference:

Use these line item properties to integrate with any existing 3PL setup to ensure your bundle contains the correct products.

Below is the code for generating line properties( see function addBundleToCartAndRedirect in smartrr-bundle-js.liquid)

Klaviyo’s help documentation

📦 A customer has hit Send Now on their next subscription order in their account portal Note: The "Send now" button ensures the subscription order will be processed at your shop's next . This is different from when Shopify creates the order and an order confirmation email is sent to the customer. When using this trigger in emails, we recommend using language like: "Your order will be processed within the next 24 hours." or "Your order will be processed on the next business day."

💳 A customer's order has successfully been run during your shop's

❌ A customer's order has failed during your shop's

Shopify Flow is an app built by Shopify that empowers you to build custom automations that help you run your business more efficiently. Flow is only available to customers on Shopify's Advanced or Shopify Plus plan.

If you are a shop on Shopify's Advanced or Plus plan, make sure you have downloaded .

If you have completed all troubleshooting steps outlined above and the warning still appears, please contact your Customer Success Manager or email to manually resync the subscription.

For information on how to set up Bundles within the Smartrr app, view: 🧺 If you're on our 💎 Excel plan, our implementation team can set up bundles on your storefront for you. The below provides supporting technical documentation that can be used by in-house developers.

Tip: We recommend testing the bundle on a clean for your shop. This will allow you to preview information about the bundle builder and make it easier to compare end results with your desired custom bundle.

Billing Time
Billing Time
Billing Time
Learn more about Shopify Flow here.
Shopify Flow app from Shopify's App Store
  <!-- END SMARTRR RENDER SNIPPET -->
  {% render 'smartrr-bundle-modal', smartrr_default_page_url: '' %}
  {% render 'smartrr-bundle-css' %}
  <!-- BEGIN SMARTRR RENDER SNIPPET -->
<div data-smartrr-modal-cta>
  <span>Build Your Box</span>
</div>
{
  "properties": {
    "Bundle": "Name of Bundle",
    "Product1": 4,
    "Product2": 2,
    "ProductN": "Number: Quantity",
    "_smartrr_info": "JSON String: Information about the Bundle"
  } 
}
{
  "properties": {
    "Bundle": "All In Cheese And Fruit Bundle",
    "Brie's Fine Cheese": 1,
    "Ben's Cheese": 1,
    "Juicy Apricots": 1,
    "Red Grapes": 1,
    "_smartrr_info": "{\"items\":[{\"id\":41346996043967,\"quantity\":1,\"selling_plan\":\"2153971903\"},{\"id\":41300866465983,\"quantity\":1,\"selling_plan\":\"2153971903\"},{\"id\":41925668634815,\"quantity\":1,\"selling_plan\":\"2153971903\"},{\"id\":41925668470975,\"quantity\":1,\"selling_plan\":\"2153971903\"}],\"date\":1670278109299,\"page\":\"https://briescheese.myshopify.com/\",\"bundle\":{\"name\":\"All In Cheese And Fruit Bundle\",\"slug\":\"all-in-cheese-and-fruit-bundle/777cdce8-451d-41d8-9fe4-136c969fa7c0\"}}"
  } 
}
{
   "items":[
      {
         "id":41346996043967,
         "quantity":1,
         "selling_plan":"2153971903"
      }{
         "id":41300866465983,
         "quantity":1,
         "selling_plan":"2153971903"
      }{
         "id":41925668634815,
         "quantity":1,
         "selling_plan":"2153971903"
      }{
         "id":41925668470975,
         "quantity":1,
         "selling_plan":"2153971903"
      }
   ],
   "date":1670278109299,
   "page":"https://briescheese.myshopify.com",
   "bundle":{
      "name":"All In Cheese And Fruit Bundle",
      "slug":"all-in-cheese-and-fruit-bundle/777cdce8-451d-41d8-9fe4-136c969fa7c0"
   }
}
{
   "items":[
      {
         "id":41346996043967,
         "quantity":1
      }{
         "id":41300866465983,
         "quantity":1
      }{
         "id":41925668634815,
         "quantity":1
      }{
         "id":41925668470975,
         "quantity":1
      }
   ],
   "date":1670278109299,
   "page":"https://briescheese.myshopify.com",
   "bundle":{
      "name":"All In Cheese And Fruit Bundle",
      "slug":"all-in-cheese-and-fruit-bundle/777cdce8-451d-41d8-9fe4-136c969fa7c0"
   }
}
{
   "Array:items":[
      {
         "id":"Number: Variant Id",
         "quantity":"Number: Quantity",
         "selling_plan":"String/Number: Selling Plan ID"
      }
   ],
   "date":"Number: Time of purchase",
   "page":"URLString: Page of purchase",
   "Object:bundle":{
      "name":"String: Name of Bundle",
      "slug":"String: Unique Slug of Bundle"
   }
}
{
   "$schema":"http://json-schema.org/draft-04/schema#",
   "type":"object",
   "properties":{
      "items":{
         "type":"array",
         "items":[
            {
               "type":"object",
               "properties":{
                  "id":{
                     "type":"integer"
                  },
                  "quantity":{
                     "type":"integer"
                  },
                  "selling_plan":{
                     "type":"integer"
                  }
               },
               "required":[
                  "id",
                  "quantity",
                  "selling_plan"
               ]
            }
         ]
      },
      "date":{
         "type":"integer"
      },
      "page":{
         "type":"string"
      },
      "bundle":{
         "type":"object",
         "properties":{
            "name":{
               "type":"string"
            },
            "slug":{
               "type":"string"
            }
         },
         "required":[
            "name",
            "slug"
         ]
      }
   },
   "required":[
      "items",
      "date",
      "page",
      "bundle"
   ]
}
var bundleInfo = {
  items: [],
  date: new Date().getTime(),
  page: window.location.toString(),
  bundle: {
    name: bundle.name,
    slug: bundle.slug,
  },
};
...;
/* For each item in bundle */
bundleInfo.items.push({
  id: lineItem.variant.id,
  quantity: lineItem.quantity,
  selling_plan: sellingPlan,
});
properties[lineItem.product.title] = lineItem.quantity;
/* End For Each */
...;
properties["Bundle"] = bundle.name;
properties["_smartrr_info"] = JSON.stringify(bundleInfo);

RSS Feed

support@smartrr.com
What are Bundles?
Dawn theme

Why is my customer's shipping address invalid? (Phone number formatting)

Phone numbers that don't match Shopify's required format might throw an invalid shipping address error.

Last updated: May 14, 2025

Tip: To check your store's Shopify settings on requiring a phone number for orders, navigate to Settings > Checkout and scroll to Shipping address phone number. We recommend this be set to either or Don't include or Optional. If set to Required, than all previously purchased customer subscriptions without a phone number will fail to process.

If your store has Required checked for customer shopping address phone number, the phone number must match one of the formats required by Shopify. For US-based phone numbers, (starting with +1), these formats include:

  • +1 ###-###-####

  • (###)###-####

  • +1##########

  • ##########

For example:

  • +1 234-567-8901

  • (234)567-8901

  • +12346578901

  • 2346578901

Do not use the + symbol without a country code (ex. +2346578901). Additionally, text input will not be accepted, so you can't write anything like "None" or "No phone number provided".

Can’t find the answer to your question?

We’re sorry you ended up here. But, this isn’t the end.

Is there an important article missing from this Help Center? Do you have a suggestion on something we can be doing better? Are we missing a key feature that would help your business? We’re all ears. In fact, if you have a good idea that we don’t already have on our roadmap, we’ll buy you coffee for a whole week. ☕

It’s the least we can do; suggestions on how to improve our core product not only help us but help you and hundreds of other Shopify stores like yours.

We’re looking forward to hearing from you.

Smartrr’s changelog: Stay up-to-date with Slack

Get timely updates from Smartrr’s changelog pushed directly to your Slack channel of choice.

Last updated: May 14, 2025

To get started, you’ll need to add the RSS app to your Slack workspace.

  1. Click Add to Slack

  2. On the next page, click Add RSS integration

  3. Select the channel you’d like updates to appear in.

  4. Click Subscribe to this feed to finish

Here is what the app integration will look like in your Slack:

As of 2023, Shopify for what format a phone number must be in for a customer's shipping address.

Shoot us an email at .

We aim to keep our merchants consistently up-to-date on our with updates on new features, improvements, bug fixes, and insights into upcoming releases—alongside intermittent company announcements. While you can always visit to view these posts, you can also get them pushed directly to a slack channel in your company’s workspace with a simple RSS integration.

Visit the in the Slack App Directory

Next to Feed URL, paste

has changed the requirements
ideas@smartrr.com
changelog
changelog.smartrr.com
RSS page
https://changelog.smartrr.com/rss

Will updating product prices in Shopify reflect in Smartrr?

If you change the price of a subscription product in Shopify, the old price is grandfathered for existing customers.

Answer

If product prices are changed in Shopify and a customer has an active subscription with that product, the original price the customer paid will stay as is for the term of that subscription.

Additional Information

When using Smartrr, all prices are pulled from the Shopify admin:

Pricing changes do not reflect on a live customer subscription, although new customers will see products at the new price.

If a customer were to cancel their subscription, or remove a product with the old price, and re-added it, it would then adjust to the new current price.

Brands on 📈 Grow and Excel plans can contact their CSMs for assistance to adjust pricing on live customer subscriptions. We recommend customers should be notified by email about this change for full transparency.

💎
Advanced Subscription Program settings tabs
Add the app block to the product page inside the Shopify theme customizer
Customize the app block from right in the Shopify theme customizer
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.
An example of a Customer Details page in the Smartrr admin.
Did someone say "Marketing Banners"?
Loyalty Program Description (optional) displays here if added in the Smartrr admin. Other values (creating an account, orders, referring a friend, bonus earn, etc.) are automatically populated based on your .
Smartrr app block options on the product page
Smartrr Loyalty Points app block
Loyalty modal
Example of magic link passwordless type. Magic links allow the customer to log in with a link sent to their email address.
Example of one-time code passwordless type. prompts the customer to paste a six-digit generated code sent to their email address.
The default passwordless login type is Magic Link. Select to change to One Time Code if you prefer.
Default login page for Magic Link passwordless login.
This is the required reCAPTCHA configuration for using Smartrr Magic Link.
Default email for One Time Code passwordless login type.
Default email for Magic Link passwordless login type.
Learn how to build your own beautiful bundles!
A manual collection will always include the same products of your own selection, unless you add or remove them yourself
Only add the products you want to be available as options within the bundle. DO NOT add the parent dummy bundle product to this collection.
Be sure to label and describe each variant appropriately!
Liquid is an open-source template language created by Shopify and written in Ruby. Described as "the backbone of Shopify themes", Liquid is used to load dynamic content on Shopify storefronts.
Adding multiple bundles in one store will add a layer of complexity to this code, but this is what a simple bundle page looks like in the backend
In the above instance, the items in the parent bundle All-In Cheese Fruit box are separated as custom attributes Cheese No Variant: 1, Grapes Red Globe: 1, and Ben's Cheese: 1. The attribute _smartrr_info appends a JSON breakdown of included bundle variants and their associated selling plans.
When line items are enabled, the Smartrr app will automatically go in and edit the Shopify order to append order items. Bundle items are added at a 100% discount.
Trending lists can be used to promote between 1-4 items in the Customer Account Portal.
In the example above, we can see the customer's next subscription order will process on Wednesday, May 8th.
When a bundle has more item slots to fill, the customer will see a placeholder slot in addition to a progress bar showing their progress to "Box full!"
Our native Instagram feed displays the most recent 12 posts from the connected Instagram shop.
When a bundle has more item slots to fill, the customer will see a placeholder slot in addition to a progress bar showing their progress to "Box full!"
Available dropdown options for Time before retrying a failed payment (The amount of time Smartrr should wait after a failed payment attempt before retrying)
Available dropdown options for Maximum number of failed payment cycles (The number of failed payment attempts before the subscription is auto-canceled)
If a customer is on your website, an account icon like this in the navigation will be the easiest way for them to get to their account page.
Press "Collapse" to hide the information payload once opened.
Example of "SKIP" response.
How to add the subscriptionShopifyID variable when using "Skip next order" action.
Here's an example of a paused subscription.
In this example, a product a customer subscribed to has been removed. Because of this, the subscription has been automatically paused.
Saving to a theme will inject a snippet into the theme's liquid code.
When smartrr-bundle-{bundle-name}.liquid is rendered on the page, you will see the default bundle builder UI.
loyalty event structure