September 22, 2023
Activity log

Running a subscription-first business requires merchants to keep track of the ongoing subscription activity in their stores — from new purchases and renewals, through payment and order processing, to changes and reschedules made by subscribers. Juggling multiple subscription contracts and subscriber adjustments calls for a real-time, organized record of all subscription events.
This week, we’re launching Activity log to give merchants full visibility into their subscription usage and billing activity in a separate view, without the need to work across multiple subscription offers and contracts independently.
Using the log, merchants can get a quick, real-time overview of all subscription-related events in their stores, such as purchase, renewal, payment, order reschedule, item change, or any other modification. They can also zoom in on a specific event and find out the exact date and time, the trigger, and all the details of what exactly was modified.
Currently, merchants can use a date filter to narrow down to a specific day or days they want to look at more closely. Soon, they’ll also be able to filter and export log data to find and analyze the behaviors of individual subscribers and the performance of their selling plans as a whole.
Activity log is enabled for all merchants by default. It can be accessed from the app menu or through a link in the Recent activity section on the Dashboard.
Improvements and fixes
- Added a new setting to Box Booster that expands or collapses the widget by default
- Added an option to set fixed fulfillment day for a day of the week in the Merchant Portal
- Added support for storing the last order date for migrated prepaid subscriptions
- Fixed an issue in which Build-a-Box discounts could be added twice to the same subscription contract
September 15, 2023
Adding SMS notifications

Building subscriber loyalty and engagement depends on regular and ongoing communication between the brand and its audience. Merchants who want to develop closer relationships with their existing subscribers, as well as attract new ones, are more likely to prioritize direct and personal communication channels, like text notifications, or social media.
We’re adding SMS notifications as a new communication channel that allows merchants to reach their subscribers directly with more targeted, point-in-time messaging. Using SMS notifications, merchants can schedule their subscription renewal messages to send out automatically to subscribers at key steps in their subscription journey. Sent at the right moment, these messages increase engagement and management ease, especially for loyal, long-term subscribers.
To account for various subscription offers and subscriber audiences, each merchant can flexibly adjust the content of their notifications. They can also use smart Juo shortcodes to dynamically tailor parts of the message, like time to renewal or login link, to individual subscribers. Subscribers following the link will be able to make last-minute changes in their subscriptions conveniently, without switching context.
SMS notifications are currently a PRO feature that is enabled on request. Early adopters and merchants on the PRO pricing plan can request access and set up the notifications under Settings > Notifications > SMS.
Improvements and fixes
- Added a Custom CSS block to Box Booster in the Shopify theme customizer
- Added tooltips to disabled actions in the Customer Portal when Fixed fulfillment day is enabled
- Updated the appearance and purchase type selection behavior in the Subscription widget
- Changed the close button placement when Box Booster is aligned to the left
- Fixed an issue in which the Box Booster widget was not positioned correctly when placed in the right corner of the screen
- Fixed an issue in which some scheduling jobs have taken wrong parameter values
- Fixed an issue in which adding products to subscription showed success state too early in the Customer Portal
September 08, 2023
New feature: Fixed fulfillment day

As subscriptions become more widespread in ecom, so do next-gen subscription models, like boxes or memberships. Unlike basic subscriptions, which can be billed and sent to each customer on the spot, boxes and memberships are more easily managed and provide a better subscriber experience if they’re sent or enabled on a fixed schedule.
Our new feature, Fixed fulfillment, helps merchants streamline their order fulfillment for better inventory and subscriber experience management. Using this new feature, merchants can set up their boxes, memberships, and traditional subscriptions to be billed and fulfilled always on the same day of the month, so they can handle all the shipments simultaneously.
In order to synchronize inventory restocks with shipments, merchants can also add a buffer period before the planned fulfillment day. Orders placed within the buffer period will be rescheduled to a later date. They can also set separate treatment of the first orders in a subscription — and send them as they come, or wait for the next scheduled fulfillment day. These two options ensure they’ll have enough time to always process the order before the planned fulfillment and that their customers won’t double order on their subscription.
Fixed fulfillment can be set individually for each subscription plan, so different frequencies or different types of subscriptions can be scheduled for different days of the month, giving merchants more control over their inventory flow.
To set up Fixed fulfillment, go to Selling plans > Advanced settings > Fixed fulfillment day.
Improvements and fixes
- Added the possibility to change the placement of the Box Booster notification on screen
- Updated the contract’s next billing date calculation based on “Fixed fulfillment day” settings from the Merchant Portal
- Disabled “Renew now” and “Change next order date” options for subscriptions with fixed delivery dates in the Customer Portal
- Fixed an issue in which prepaid orders could be renewed in inactive subscriptions
- Fixed an issue with incorrect price calculations in the Box Booster
- Fixed an issue in which product quantity changes also triggered product variant replacements, affecting the prices in the Merchant and Customer Portals
- Fixed an issue in which a blank page was displayed when opening the Merchant Portal
- Fixed an issue in which it was not possible to add, update, or remove Selling plans in the Merchant Portal
- Fixed an issue in which the “Update product” modal showed incorrect information about the selected variant in the Merchant Portal
September 01, 2023
Improvements and fixes
- Added Activity log for recording subscription events
- Added support for subscriptions to expire after a specific number of renewals
- Added an option to select a new shipping method when the current method was unavailable while updating box products in the Customer Portal
- Changed the order of the submit buttons in the Cancellation discount flow in the Customer Portal
- Updated the Box Booster notification bubble design
- Fixed an issue in which it was not possible to update or swap a product in a subscription due to a button not working properly in the shipping method sidebar
- Fixed an issue in which subscription item with discount could not be deleted from a subscription contract
- Fixed an issue in which the
customers/redact
and customers/data_request
webhook handlers failed due to an incorrect input schema
- Fixed an issue in which it was possible to send a product update or swap request with a 0 quantity, causing a failure in the Customer Portal
- Fixed an issue in which removing a product failed with a bad request error in the Customer Portal
- Fixed an issue in which removing a product was not followed by a success notification and closing of the shipping method sidebar in the Customer Portal
August 25, 2023
Introducing Build-a-box Booster

Subscription boxes have taken ecommerce by storm as a fun and fresh way for customers to pick and subscribe to their favorite products. Variety and convenience, as well as cost savings these boxes provide make them very effective in increasing AOV and LTV for the brands offering them in their stores.
Yet, custom box builders are still a new thing, so they’re not free from some shortcomings for both merchants and customers. E.g., to enable box building, merchants need to use a dedicated “Build your box” page that has to be added to their store theme. This page only allows customers to select from a limited subset of products and are not always discovered in their shopping journey. As a result, there are many customers who might be willing to buy a box, but end up not doing so.
We’re launching Box Booster today as an enhancement for Build-a-box. Box Booster provides an across-inventory, page-independent, convenient way for the customers to build their boxes while they’re browsing the store. Based on the Fogg Behavior Model, it follows the customer on a page and detects when they’ve added a box-eligible product to their order and are close to unlocking an additional incentive. It then displays a storefront-adjusted, clickable notification that prompts the customer to add more products to their current box and unlock an even bigger benefit. Basically, it lowers the effort required to perform the action and serves as a trigger.
Booster uses PerformanceObserver API to listen to cart changes and adjust the incentives to its content in real time. It also works with all Shopify themes, custom carts, or any 3rd party extensions.
Box Booster is enabled by adding a block in the Shopify theme customizer to the pages where merchants want it to appear. Incentive details, tiers, and eligible products can be set up in the Merchant Portal, under Build-a-box.
Improvements and fixes
- Added enriched product descriptions in the Customer Portal
- Enabled price adjustment settings for Dynamic Boxes in the Merchant Portal
- Enabled cycle completion settings for Dynamic Boxes in the Merchant Portal
- Fixed an issue in which the retention chart showed no data in the Merchant Portal
- Fixed an issue in which the Build-a-box discount was incorrectly applied to subscription renewals even when the minimum quantity requirement was not met
- Fixed an issue in which app installation failed to initialize due to Shopify SDK bot detection
August 18, 2023
Improvements and fixes
- Added an option to change the current subscription cycle in the Merchant Portal
- Added an option to reactivate cancelled subscriptions in the Merchant Portal
- Added an option to select the “1st renewal” cohort on the retention chart and summary in the Merchant Portal
- Added tabs to app settings in the Merchant Portal
- Added the ability to reorder the cancellation poll answers in the Merchant Portal
- Changed column order on the subscriptions list view in the Merchant Portal
- Updated the date picker to include predefined date ranges on the dashboard in the Merchant Portal
- Fixed an issue in which dynamic box quantity was not respected when adding products to box orders or subscriptions
- Fixed an issue in which some scheduling jobs for subscription renewals failed instead of finishing when a subscription had already renewed
- Fixed an issue in which some background jobs failed to complete on retry due to mismatched downstream job states
- Fixed an issue in which subscription renewal processing might not have been idempotent when it failed due to incorrect storage of the processing state
August 11, 2023
Customizable retention flow

Letting subscribers churn with no attempts to retain them is a huge missed opportunity for merchants. Not trying to understand why they want to cancel their subscription in the first place is another. With customizable, multipurpose retention flow, merchants can not only retain subscribers more effectively, but also collect valuable information in the process. Not to mention, custom flows with targeted incentives will always lead to higher retention and LTV.
Today, we’re adding new customization features to the retention flow to help merchants combine insight gathering with increased subscriber retention. Thanks to flexible incentive awards and survey logic, merchants can now suggest their own reasons for cancellation and decide which specific incentive should follow each reason. For example, they can offer extra discounts if the price is the main concern, or prompt to stay longer in return for additional feedback.
Soon, merchants will also be able to encourage product swaps with personalized product recommendations or suggest subscription cycle adjustments instead of cancelling. The new retention flow is available under Settings → Cancellation flow in the Merchant Portal — just check “Cancellation poll” to enable.
Improvements and fixes
- Added a secondary step when adding, swapping, or removing subscription items in the Customer Portal, which allows to select a new delivery method when the current method is not available after the changes
- Added the possibility to save cancellation reasons as custom attributes of subscription contracts
- Added “one-time” label to products added to next order only in the Customer Portal
- Added cancellation reason to the subscription details view in the Merchant Portal
- Improved search efficiency and accuracy on the subscriptions list view by adding more searchable fields, rank ordering, and prefix matching
- Updated the subscriptions list to show the newest subscriptions first by default in the Merchant Portal
- Fixed an issue in which the savings value displayed in the Subscription Purchased email didn’t take into account the quantity of purchased items
- Fixed an issue in which quantity was not displayed for subscription items in the Customer Portal
- Fixed an issue in which the Edit button was displayed for cancelled subscription boxes in the Customer Portal
- Fixed an issue in which clicking on a menu button again didn’t close the previously opened menu in the Customer Portal
- Fixed an issue in which minimum cycles notification was not properly displayed in the Customer Portal
- Fixed an issue in which cancellation discount offers were still visible for subscriptions in the Customer Portal, despite the discount already being applied to them
- Fixed an issue in which an error message was displayed on the dashboard in the Merchant portal when there were no subscription contracts yet
- Fixed an issue in which pagination for subscriptions was not working properly when sorting by the next renewal date in the Merchant Portal
- Fixed the loading state of the dashboard metrics in the Merchant Portal
August 4, 2023
Multi-property smart search

Zooming in on a group of subscriptions with selected attributes and isolating individual subscriptions for updates is key to streamlined subscription management and customer support, especially for merchants with larger subscriber volumes. As their subscriber bases continue to grow, merchants can no longer handle subscription management effectively without some degree of automation.
With today’s update, we’re giving merchants the ability to find and update subscriptions based on any of their attributes, such as ID, customer name, or email and adjust these subscriptions to their current needs and strategies. With multi-column smart search, merchants can filter out any subscriptions by status or length to only focus on subscribers who have recently purchased, need to update their payment method, or whose subscription is about to renew — making it possible to edit subscription cycle and content details selectively for subscribers.
Introduction of AI into the ecom space has now opened the door for more robust and targeted subscription management. With AI support, Juo merchants will soon be able to collectively adjust groups of subscriptions with a single change, add, or replace command applied to subscriptions with selected tags, properties, or even products.
Currently, single edits is available for all merchants, with bulk editing to be announced next.
Improvements and fixes
- Added metrics overview to the dashboard in the Merchant Portal
- Added searching, filtering, sorting, and pagination options to the subscriptions list in the Merchant Portal
- Added search and filter query parameters to the subscriptions endpoint for the Merchant Portal
- Updated the look of Subscriptions table in the Merchant Portal
- Updated the look and feel of “Add” & “Swap” product actions in the Customer Portal
- Improved the performance overhead of product and subscription reindex jobs by implementing batch processing
- Fixed an issue where certain steps of a background job that processed subscription orders were not idempotent, resulting in multiple events being sent out
- Fixed an issue in which a job was unable to retry due to an atomic job part being started but not finished successfully
- Fixed an issue in which the subscription renewal job became stuck after renewing, because the subscription was processed by a webhook handler before the job was finished
- Fixed an issue in which it was not possible to adjust the shipping rate of inactive subscriptions in the Merchant Portal
- Fixed an issue where random requests were failing in the Customer Portal due to a malformed signature from Shopify
July 28, 2023
Improvements and fixes
- Added an option to edit boxes in the Customer Portal
- Changed the way discounts are applied when updating products in boxes from coupon codes to manual discounts
- Changed the dashboard to use the shop’s timezone instead of the local timezone in the Merchant Portal
- Changed the subscriptions by status chart type from stacked area to line chart in the Merchant Portal
- Fixed an issue in which subscriptions with multiple out-of-stock items attempted to renew when any one of these items went back in stock
- Fixed an issue in which new subscriptions failed to index due to indexing jobs being triggered too soon
- Fixed an issue in which subscriptions with more than 10 line items could not be displayed in the Merchant and Customer Portals
- Fixed an issue in which the app failed to fetch data when no subscriptions were present in the Merchant Portal
- Fixed an issue in which the subscription forecast by status was based on the totals rather than trends in the Merchant Portal
- Fixed an issue in which the retention summary failed to display, despite there being sufficient data to show the current retention value in the Merchant Portal
- Fixed an issue in which the revenue chart in the Merchant Portal displayed an empty state when there were no purchases or renewals during the selected period
- Fixed an issue with subscription sorting not working correctly
- Fixed an issue with in-app pagination not working correctly
July 21, 2023
Klaviyo integration

Running store-specific workflows, like dynamic boxes or replenishments, merchants also need targeted email flows that can trigger at key moments of subscriber journeys to boost recurring revenue, subscriber loyalty, and further reduce churn.
For targeted customer communication, Klaviyo is a go-to solution and so it was important for merchants to keep their subscriber communication under the same roof. Hence, Klaviyo integration has been the number one request since our official app launch in April.
Today, we introduce Juo + Klaviyo integration to allow merchants set up their own custom email flows in Klaviyo, alongside and fully linked to their subscription workflows in Juo. Thanks to that, merchants can now target subscribers with custom email flows, based on subscription-specific events and attributes, such as the number and type of the products in a subscription, next renewal date, or subscription length.
What’s more, merchants can also combine Juo email templates with their Klaviyo flows to handle payment and inventory-specific cases that would be hard to set up in Klaviyo, such as dunning flows or handling out-of-stock items.
Klaviyo integration will be available for all merchants starting from this week and can be activated with your API key in the app Settings, under Integrations → Klaviyo.
Improvements and fixes
- Added the
write_shipping
scope item to access the Shipping API
- Enabled automated usage fees for all shops by default
- Updated tiered discounts to only apply to products purchased via the Build-a-box page
- Updated migrated subscriptions to display the actual creation date
- Updated subscription list page to use the actual creation date for migrated subscriptions in the Merchant Portal
- Updated the dashboard in the Merchant Portal to use the merchant’s actual timezone instead of UTC
- Updated the visual appearance of the filter button on the dashboard in the Merchant Portal
- Removed variant selector when only one variant was available when adding products in the Customer Portal
- Fixed an issue in which the Dynamic box parent product was not automatically fulfilled when the fulfillment order was already in progress
- Fixed an issue in which changing subscription products failed due to delivery price changes in the currently used delivery method
- Fixed an issue in which social login failed to validate the token upon login to the Customer Portal
- Fixed an issue in which store settings failed to sync during new app version deployment due to an unhandled promise rejection
- Fixed an issue in which changing subscription delivery failed when the new delivery method was carrier-provided
- Fixed an issue in which creation dates of migrated subscriptions were displayed instead of creation dates of original subscriptions
- Fixed an issue in which retention points were in reverse order, causing the retained subscription forecast chart to display more retained subscriptions than actually predicted in the Merchant Portal
- Fixed an issue in which the “Subscriptions by status” chart line was not being stacked properly, causing zero-value lines to overlap with other line on the dashboard in the Merchant Portal
- Fixed an issue in which two data points were present for a single day on the dashboard in the Merchant Portal
- Fixed an issue in which it was possible to retrieve products from a previous order in a subscription that didn’t belong to a given subscriber in the Customer Portal
- Fixed an issue in which it was possible to add a cancellation discount to a subscription that didn’t belong to a given subscriber in the Customer Portal
- Fixed an issue in which removed selling plans were not removed from indexes, leading to extraneous subscription plans being displayed in the Customer Portal
July 14, 2023
Lossless migration CLI

Onboarding new merchants who have offered subscriptions before is much more challenging than installing afresh. Each subscription contract in Shopify is linked to multiple other entities: products, subscribers, payment information, shipping details, subscription orders, etc. In other words, migrating from one platform to another is usually full of edge-cases and nuances.
Failing to migrate any part of the subscription ecosystem can lead to missed future orders, cancellations, or even losing current subscribers over the need to resubscribe or create a new customer account.
By our standards, there’s only one way to do it right: lossless migration. We’ve been working for some time on an auxiliary migration CLI, enabling 100% accurate, seamless migration of not only current, but also historical subscription data.
Currently, Juo makes it possible for merchants, no matter if they use Subscriptions API or not, to switch their subscription solution seamlessly, without losing any subscription contracts, or subscribers in the process.
With this week’s update, not only current but also legacy data, including subscription order history and key subscription events, will be transferred in migrations.
This means, new customers migrating to Juo will maintain their subscription order and data continuity, with Juo as a single source of truth as to how their subscriptions performed before and after migration. Subscribers will also see their past and present subscription information in the Customer Portal for smooth and uninterrupted (no action required) subscription experience.
Improvements and fixes
- Added linear regression to the new subscriptions forecasting to improve the accuracy of revenue, retention, new subscriptions, and retained subscriptions forecasts
- Added currency conversion to display revenue metrics in the shop’s currency
- Added missing chart legends and updated the existing legends visually in the Merchant Portal
- Improved content on the Selling plan management page to make it clearer in the Merchant Portal
- Updated the Forecasted label on the Dashboard page in the Merchant Portal
- Renamed “Selling plans” in the menu to “Subscribe & save” in the Merchant Portal
- Changed the Subscriptions by status chart from a bar chart to a stacked area chart for better readability in the Merchant Portal
- Fixed an issue in which Dynamic box parent products were not auto-fulfilled when they were the first line items in pending orders
- Fixed an issue in which the app usage rates were applied twice to some items when Build-a-box was purchased in production
- Fixed an issue in which the forecasted retention chart in the Merchant Portal did not include forecasted new purchases
- Fixed an issue in which subscription renewal emails were sent with an incorrect next billing date
- Fixed an issue in which the pricing policy was not applied properly when the current subscription cycle was changed by a value higher than one
- Fixed an issue in which migrated subscriptions could not be processed if they were migrated after the zero renewal cycle
- Fixed an issue in which the summary of forecasted retained subscriptions displayed an incorrect value in the Merchant Portal
- Fixed an issue in which subscription chart metrics were not up to date for a day in the Merchant Portal
- Fixed an issue in which the last day of the selected date range was missing from the chart in the Merchant Portal
- Fixed an issue in which active subscriptions summary and retained subscriptions forecast summary did not match the data in the Merchant Portal
- Fixed an issue in which the loading animation was missing on the pagination buttons in the Merchant Portal
- Fixed an issue in which the success message was shown in the toast when a subscription failed to renew in the Customer Portal
- Fixed an issue in which rescheduled jobs were retried after an excessively long delay
- Fixed an issue in which resuming a subscription didn’t properly trigger a renewal job
July 07, 2023
Forecasts

Lately we added Subscription Analytics to help merchants get insight into how their subscriptions have performed to date. Today, we’re adding Forecasts to let them look into the future of their subscription performance and adjust their inventory strategies in advance.
Forecast predictions are based on statistical analysis methods, which factor in variables such as differences in billing cycle lengths, subscriber base growth speed, actual and expected churn rates, as well as subscriber recovery ratio.
Subscription merchants typically combine a couple of revenue streams and distribution channels within a single store, so they need even more careful inventory and budget planning to cater for that. Being able to see how much demand for specific products they can expect, e.g. next month is key to avoid either under- or overstocking and the issues they entail.
Going to Subscription Analytics on the dashboard, merchants will now be able to see how their subscriptions are going to perform up to a month in advance in terms of revenue, retention, and active subscriptions. Using a date range selector, merchants can also narrow this down to a shorter period, like two weeks or a couple of days. They can also use a filter next to the revenue tab to switch between all orders, new subscriptions, or renewals.
And soon merchants will also be able to see similar predictions for other metrics, like their current subscriber retention, number of subscriptions, new subscribers and even the most popular products, leading to more organized and sustainable inventory management.
Adding products to existing subscriptions
Being able to add more items to existing subscriptions is a great way to delight subscribers and let them experiment (not to mention AOV). Up till now, only merchants were able to add products to subscriptions for their subscribers. Customer support-wise, it was far from ideal.
So, with this week’s update, also subscribers will be able to add new products to their existing subscriptions themselves, anytime, in the Customer Portal. To keep the add experience flexible, they will also be able to decide if they want to add a product permanently to their subscriptions, or just add it to the next order to give it a try first.
While adding new products, subscribers will also retain their existing loyalty benefits (like bulk or loyalty discounts), for a more subscription experience. This feature will be available by default for all Juo merchants starting from this week.
Improvements and fixes
- Added the Summary block for the Build-a-box functionality
- Added application usage fee charged weekly to all shops billed based on usage
- Added storage for additional subscription information, like creation date and order history, to facilitate migrations
- Improved the accuracy of the activity log to accommodate more complex data changes within the system
- Fixed an issue in which subscription renewals failed to process correctly when an error occurred between charging and processing
- Fixed an issue in which the subscription timeline links directed to the order list instead of individual orders
- Fixed an issue in which Build-a-box discounts were not applied to subscriptions when there were too many discounts or items added to an order
- Fixed an issue in which Dynamic Boxes failed to process when subscriptions had too many line items
- Fixed an issue in which Dynamic Boxes defaulted to “Repeat the last step” instead of “Repeat the cycle”
- Fixed an issue in which the Dynamic Box parent product failed to auto-fulfill correctly when there were multiple fulfillment orders
- Fixed subscription renewal notification message in the Merchant Portal
- Fixed an issue in which some toast messages used incorrect language version in the Customer Portal
- Fixed an issue where users were unable to set the previous renewal date after it had been modified in the Customer Portal
- Fixed an issue in which the reconciliation job failed despite no issues being detected
- Fixed an issue with extraneous jobs registered for syncing product boxes
- Fixed duplicate “Subscription Renewed” event
June 30, 2023
Improvements and fixes
- Added an option to show more than 6 top products on the Dashboard in the Merchant Portal
- Added automated prioritization of subscription renewal jobs when out-of-stock items become available
- Added daily reconciliation of renewal jobs for all active subscriptions
- Increased delay for subscription renewal attempts when items are out of stock
- Restored information about minimum billing cycles in the Customer Portal
- Set up the reconciliation job to fail instead of complete when there are missing renewal jobs
- Fixed an issue in which outdated billing prevented the Merchant Portal from loading properly
- Fixed an issue in which the retention chart didn’t show new subscriptions when no subscriptions were purchased on a given day
- Fixed an issue in which Last order information couldn’t be fetched after removing products
- Fixed an issue in which recording an activity log entry prevented storing the billing plan for newly installed applications
- Fixed an issue where per-installation settings didn’t work correctly
- Fixed the dunning period deadline calculation to be based on the original renewal date and first billing attempt date
- Fixed an issue in which the “Renew now” action timed out while waiting to process an issued billing attempt
- Fixed an issue in which subscription changes took longer to process when there was a pending renewal
- Fixed an issue in which the Subscription details page failed to load when the minimum billing cycle requirement was met
- Fixed an issue in which
purchased
and renewal
subscription events recorded with incorrect values
- Fixed an issue in which the notification for minimum billing cycles was visible in the Merchant Portal even though the requirement had already been met
- Fixed an issue in which the Edit shipping modal failed to open in the Merchant Portal
- Fixed an issue in which dashboard summaries showed incorrect values when future dates were selected in the Merchant Portal
- Fixed an issue in which some chart bars overlapped with forecasted bars on the Dashboard in the Merchant Portal
- Fixed an issue in which the retention forecast in the Merchant Portal didn’t show the sum of new subscriptions from the previous period
- Fixed the source maps in the Customer Portal
- Fixed an issue in which product swap sidebar didn’t close after swapping products in the Customer Portal
June 23, 2023
Announcing Workflows with Dynamic boxes

Sending one and the same products repeatedly in a subscription is not only limiting for merchants, but also monotonous for subscribers. This is the so-called subscription fatigue, which sooner or later ends up with churn. If merchants want to maintain high retention rates across the subscriber lifecycle, they need to shift toward more personalized and varied subscription experience.
Our biggest announcement so far, Subscription Workflows help merchants transition from generic, one-fits-all subscription offers to dynamic and contextual subscription workflows. Using workflows, merchants can set up and gradually adjust what subscribers get with each subscription order, based on the items they’ve subscribed to, the current number of renewals, and even individual subscribers’ characteristics.
Starting from this week, merchants can set up their own Dynamic boxes. This is also the first stepping stone for Workflows — a new core feature in Juo that will allow to build personalized and adaptive subscription experiences with total flexibility and automation.
Using product purchase as a trigger and applying a set of pre-defined conditions and actions, merchants can use Dynamic boxes to craft unique SKU swapping sequences, build starter kit + replenishment offers, or add free products or extra discounts to subscriptions for increased loyalty and retention.
And applying subscriber tags for segmentation, they can even adjust the content of subscriptions orders based on subscriber segments, so that subscribers with different sets of tags will also receive different products. The entire workflow can be set up and customized in the Dynamic boxes tab in the main menu.
Improvements and fixes
- Added an option to update SKU prices for subscriptions when inventory prices change
- Added a possibility to collapse the Subscriptions option in the Subscription Widget when it’s not selected
- Added an option to associate subscription plans with products on the variant level so that only selected product variants can be added to subscriptions
- Added notification toasts that provide visual feedback for subscriber actions in the Customer Portal
- Added an event to record Build-a-box product orders
- Added
RewriteFrames
to Sentry integration for better error reporting
- Improved queue jobs monitoring to detect stalled or failed background jobs more quickly and with greater confidence
- Updated the subscription table to only show product images if there’s more than one product in the Merchant Portal
- Updated product images visually and added a tooltip with the product title to the subscriptions list in the Merchant Portal
- Fixed an issue in which Dynamic box products in the last order were displayed with discounted prices instead of “Included” labels and were not grouped below the parent products
- Fixed an issue in which the “Subscription Retention” chart did not display new subscriptions in the Merchant Portal
- Fixed an issue in which the subscription value was not captured properly if payment had not yet received payment
- Fixed an issue in which multiple payment requests could be initiated for an app that was not completely installed
- Fixed an issue in which fulfillments of the Dynamic box parent products were displayed as “Shipped” on the Subscription details view in the Customer Portal
- Fixed an issue in which redirects from the public app to the custom app failed due to missing host parameter
- Fixed an issue in which total revenue was using an wrong currency in the Merchant Portal
- Fixed an issue in which selling plans from other apps were sometimes listed in the Subscription Widget
- Fixed an issue in which
load()
failed to return Promise
in the SDK
- Fixed an issue in which failed subscription renewal events were recorded with incorrect IDs
- Fixed an issue in which the renewal message was displayed for new subscriptions in the Customer Portal
- Fixed the issue that resulted in incomplete error reporting in Sentry by updating Sentry to the latest version and using
debug_id
- Fixed an issue in which errors originating in the Customer Portal were not reported in Sentry
- Fixed an issue in which stack frames were incorrectly rewritten before being sent to Sentry
June 16, 2023
Launching: Subscription Analytics

A quick pulse-check of the main subscription metrics may allow merchants to assess if they are at a profit. But to craft a long-term subscription strategy and assess its effectiveness, they will need much more insight than that.
That’s why we’re launching a Subscription Analytics dashboard that enables merchants to go a layer deeper and observe how their subscription KPIs grow over time.
Top-level metrics, like revenue, retention, or number of active subscriptions still give merchants a clear idea of how their subscription offering is faring. But then, they can track the progress day by day, month by month or year by year, either in broad or by focusing on a narrower date range to get a more detailed picture.
They can also zoom in on subscription-oriented metrics, and see how their volume of active and retained subscriptions increases with every subscription cycle. There are a few product-oriented metrics as well to easily check which SKUs are doing the best subscription-wise — and an Activity log for a quick glance into the recent subscription activity. To see these changes, just log in to Juo and open the new Dashboard.
Improvements and fixes
- Added subscriptions count metric checked every hour for analytical purposes
- Added Swap and Remove buttons for subscription items which have been deleted from the store in the Merchant Portal
- Improved layout and element spacing in the Customer Portal
- Updated subscription order to display active subscriptions first in the Customer Portal
- Updated the activity panel on the Dashboard in the Merchant Portal
- Changed Polish label on the Skip button in the Customer Portal
- Changed “Powered by Juo” to “Subscriptions by Juo” in the Customer Portal
- Changed the color of the Play button from black to white on the Dashboard in the Merchant Portal
- Removed Update and Swap buttons for subscription items which have been deleted from the store in the Customer Portal
- Fixed an issue in which Subscription History background didn’t match a selected theme
- Fixed an issue in which the user was not correctly redirected to an error page when entering an invalid or forbidden URL in the Customer Portal
- Fixed an issue with subscription processing that occurred when a subscription was renewed multiple times within the same cycle (for example, a monthly subscription renewed twice in a given month)
- Fixed an issue in which subscription retries were not delayed for a sufficiently long period when a billing attempt failed
- Fixed an issue in which swapping was not possible for items with an empty
pricingPolicy
- Fixed an issue in which failed requests returned HTML instead of JSON when behind the App Proxy
June 09, 2023
Handling out-of-stock items

When the volume of subscription orders rapidly increases, both merchants and their subscribers need more robust ways to handle subscriptions with out-of-stock items.
The merchants can now allow for subscriptions to renew, regardless of whether or not they contain out-of-stock items, or wait until the out-of-stock items are available again. To choose one of the two options, go to Settings → Inventory.
The subscribers are also getting more control over their subscriptions with out-of-stock items. Whenever their subscription fails to renew due to availability issues, they will get an out-of-stock notification email, prompting them to swap or remove the said item(s) from their subscriptions. (To turn on this notification and adjust the content go to Settings → Email templates)
After the swap or removal is confirmed, the subscription will automatically renew. The subscribers will also be able to check if their subscriptions contain out-of-stock items and how this affects their subscription renewals in the Customer Portal.
Improvements and fixes
- Added the possibility to remove items from subscription boxes in the Merchant Portal
- Added the possibility to capture reasons for failed renewals, including removed or out-of-stock items
- Added new email template for subscriptions containing out-of-stock items
- Added information about recent renewals to the subscription view and confirmation dialog in the Customer Portal
- Added information about renewal failure due to removed or out-of-stock items to the Merchant and Customer Portals
- Added a visual indicator for out-of-stock items in the Merchant and Customer Portals
- Added a safety mechanism to prevent customers from accidentally editing their subscriptions twice in the Customer Portal
- Added debug IDs to sourcemap files
- Improved the settings for handling subscriptions with out-of-stock items in the Merchant Portal
- Changed the subscription renewal attempt schedule to match the billing attempt schedule for removed or out-of-stock items
- Changed the timeout duration for subscription renewal from 10 to 20 seconds
- Fixed an issue in which replacing an item in subscription failed due to conflict with billing cycle processing
- Fixed an issue in which unauthorized requests from the Customer Portal resulted in internal server error instead of unauthorized error
- Fixed an issue in which the direct login link redirected back to the login form in the Customer Portal
- Fixed an issue where the “Renew Now” feature was timing out because it was waiting too long for billing status information
June 02, 2023
Introducing variable discounts

New discount features have been on our roadmap for some time now, but requests from merchants made us ship them faster. On top of fixed discounts for subscription orders, we’re now adding a completely new type: variable discounts. This new feature allows merchants to add percent-off discounts that will increase (or decrease) after a given number of subscription cycles. In the MVP version, the merchants can choose the initial and the updated discount and the number of orders before it’s updated.
The discount amount and the interval can both be set up during selling plan creation, under Discounts. For greater control, the enhanced version will also allow to specify how much the discount should increase or decrease with each subscription order (to be launched soon).
Improvements and fixes
- Added billing entries for different transaction types to improve billing granularity
- Added support for multiple pricing policies in subscription plans to
enable discounts based on the number of renewals
- Improved the selling plan creation modal in the Merchant Portal
- Improved the appearance of the Customer Portal settings input forms to match those in the Merchant Portal
- Fixed an issue in which adding new boxes was not possible
- Fixed an issue in which the order refund webhook handler failed due to receiving incorrect input
- Fixed an issue in which tiered discounts were not being applied on renewals
- Fixed an issue which prevented updating a product when a discount was applied to it
- Fixed an issue in which an incorrect title was displayed on the subscription cancellation confirmation modal in the Customer Portal
- Fixed an issue in which some management options were not visible in the Customer Portal
- Fixed an issue in which the languages in parts of the notification emails did not match
- Fixed an issue in which new orders containing more than 10 line items failed to process
- Fixed incorrect subscription contract id formatting which caused errors in Shopify API queries
May 26, 2023
Launching subscriber retention flow

Keeping retention rates high is at the core of any successful subscription brand. The new retention flow in Juo helps delight and retrieve a hesitant subscriber who attempts to cancel their subscription. Merchants can choose how to handle cancellation requests and combat churn by offering a one-time, n-time, or a permanent discount to subscribers, who can then keep their subscriptions with an extra % off. The discount and the message that goes with it can be set up in the Settings tab, under Retention.
New Customer Portal customizations
The subscriber-facing side of Juo got a major revamp and now it adjusts itself automatically to the storefront design. The keep things even more flexible for merchants, we’re giving them full control over the look and feel and the management options available in the Customer Portal.
Following this update, the merchants can further adjust the colors and style of key UI elements (like buttons or inputs). They can also decide which actions should be available to their subscribers, turning on or off product, delivery, and subscription management options in the Customer Portal. To adjust them, go to Subscription settings → Customer Portal.
Improvements and fixes
- Added a safety mechanism to prevent merchants from accidentally editing their subscriptions twice in the Merchant Portal
- Changed the renewal job timeout for editing subscriptions in the Merchant Portal from 60 to 10 seconds
- Added a date picker to delivery date settings in the Merchant and Customer Portals
- Updated key management actions to display on modals in the Customer Portal
- Added visual improvements to the subscription details page in the Customer Portal
- Added visual improvements to the subscription list page in the Customer Portal
- Migrated the settings storage from Shopify Metafield to an internal database
- Fixed an issue in which the loading animation didn’t appear during variant editing in the Customer Portal
- Fixed an issue in which the total price for the subscription order was not calculated correctly in transactional emails sent to subscribers
- Fixed an issue in which changing the subscription cycle failed because the renewal date was in the past in the Merchant and Customer Portals
- Fixed an issue in which the merchant was not redirected to the Tiered discount editing page after adding a new discount in the Merchant Portal
- Fixed an issue in which the subscription management requests were completed before the renewal jobs were properly registered for subscriptions
- Fixed an issue in which product indexes were not being removed when removing products from Shopify
May 19, 2023
Revamping the Customer Portal

The number of subscribers who manage their subscriptions in Juo has grown a lot in the past few weeks. How they can do it impacts the subscriber experience directly, so the quality here cannot be compromised. That’s why we’re introducing a sleeker, mobile-first Customer Portal, which makes subscription management more streamlined and more intuitive than ever.
This brand new design is also brand compliant, which means the merchants don’t have to worry about matching the look and feel to their storefronts. The color scheme and fonts will just adjust to their current themes automatically.
More management options in the Merchant Portal
We’re pushing further with the new additions to the Merchant Portal that add another layer of information around the payments and dunning. Now, merchants will always be able to see if and when the payment went through thanks to handy statuses that display right under the payment method in the subscription details view. If it didn’t go through, they will also see the date of the next retry and current retry attempts. The next step? More flexibility and control over the dunning flow.
With the new update, the merchants can also generate a link to the Customer Portal log into it as any of their subscribers. Thanks to that, they can not only preview what their subscribers are seeing when they log in, but also will be able to help them with some more advanced settings or requests.
Improvements and fixes
- Added a 10-minute delay before renewing a subscription after any changes are made to avoid duplicate renewals due to mistakes
- Added a waiting period for payment processing to finish before refreshing the subscription view in the Merchant and Customer Portal
- Added an option to redirect from the public app to the custom app when both are installed in the store
- Added unavailable products to the available-products request response from the Merchant Portal
- Changed last delivery section visibility in the Customer Portal, it’s visible now when products from the subscription are different than in the last order
- Changed the isolation method from iframe to web component in the Customer Portal
- Fixed an issue in which the “free shipping” label was showing the price instead on the subscriptions list page in the Customer Portal
- Fixed an issue in which the scroll position remained the same when moving to a different page in the Customer Portal
- Fixed an issue in which the subscription payment status label was displaying the subscription status instead
- Fixed the issue in which the currency format was displayed incorrectly for certain locale and currency pairs in the Merchant and Customer Portals
- Fixed the reset CSS in the Customer Portal
- Fixed input type for base_fee and transaction_fee in the database
May 12, 2023
Improvements and fixes
- Added “Edit / View subscription” buttons to post-purchase email notifications
- Added an option to update the product variant and quantity on the Subscription details view in the Merchant Portal
- Added usage-based charging in the app to enable transaction fee payments
- Fixed an issue in which the user was able to change the shipping country in an existing subscription in the Merchant and Customer Portals
- Fixed an issue in which box items were not grouped properly in the ‘Last delivery’ section in the Customer Portal
- Fixed an issue in which an additional scrollbar appeared in the Customer Portal
May 05, 2023
Merchant Portal redesign
We’re going live with a new Merchant Portal design: more polished, more modern, and bringing all the key subscription information to the fore. The product list is not at the top, right where the merchants need it for straightforward product and discount management. The shipping method and subscription cycle information are laid out in separate boxes under the products to make tracking and editing less of a fuss.
The merchants will now also find the subscription cost and total lifetime value right under the subscription ID — so they’re always in the know about how well individual subscriptions fare in terms of LTV. To see all these new additions, just navigate to the Subscriptions tab and open any selected subscription.
Improvements and fixes
- Added a mode (disabled by default) to embed the Customer Portal without an iframe, and a modern CSS reset for better theme integration
- Added an option to update the delivery price in the Merchant Portal
- Added GTM integration
- Added the Last delivery panel to the subscription view in the Customer Portal
- Fixed an issue in which Total value was incorrect on the subscription view in the Merchant Portal
- Fixed an issue in which the UVP section in the Juo Subscription Widget was unstyled
- Fixed an issue where adding variants to Build-a-box was failing because of a missing product relation
- Unified the app metafield namespace
April 28, 2023
Custom selling plans and notes
We’re adding more flexibility to manage existing subscriptions this week. Merchants can now set custom selling plans with individualized delivery intervals for each subscriber.
Also, merchants can now add notes to each subscription, e.g. special customer request or important information to remember about. Anything that matters to improve subscriber experience. Notes will be automatically added to all subsequent orders.
Improvements and fixes
- Added an API endpoint to create a custom delivery price in a subscription contract
- Added customer panel to the subscription view in the Merchant Portal
- Fixed an issue in which the “Build a box” button for adding a new box was only visible when there were no boxes added
- Fixed an issue where the customer’s phone number was missing and non-editable in both the Merchant Portal and the Customer Portal
- Fixed an issue where subscription details could not be viewed if there were more than 5 line items
- Fixed an issue in which it was not possible to add a discount for a selected subscription line item in the Merchant Portal
- Fixed an issue in which the “Retry now” link for billing attempts was not visible after a failed payment in the Merchant Portal
- Fixed labels for the Billing & Delivery column on the Subscriptions list in the Merchant Portal
April 21, 2023
Public app status
Today, we’re excited to announce that after an unsurprisingly smooth review, Juo has become a public app on the Shopify App Store. Still in beta, still working in stealth with selected merchants, hence still temporarily unlisted, but officially public. The new status will allow us to ship new platform features faster and in a much more convenient way for merchants.
New discounts options for merchants
Treating each subscriber individually is key to retention. With Juo’s new functionality merchants can now add discounts at the subscription level. Discounts can be applied once, several times, or permanently for a given subscription or particular products in it. This option can also be used to grant subscribers a free product—simply add a product to the subscription with a 100% discount.
Improvements and fixes
- Added information to the Theme Customization mode to notify merchants when the Subscription Widget is added to a product that has no selling plans available
- Added the possibility to set different scopes for different custom apps
- Added locale detection based on the currently selected locale in the Shopify store
- Added a new, more informative header panel to subscription view in the Merchant Portal
- Added new endpoints for products and variants in the Merchant Portal
- Added scopes re-authorization only when needed. The app will not require re-authorization for new optional scopes unless it is required
- Changed Revenue data point to display revenue from the last 30 days in the Merchant Portal
- Fixed an issue in which the Juo Subscription Widget style reset was not loaded properly
- Fixed an issue in which the loading state was not working correctly before loading started
- Fixed an issue in which the modal close button did not work in the Merchant Portal
- Fixed an issue in which requests were unauthorized when read scope was required and the app had already been granted write access
- Fixed an issue where discounts that had reached their usage count were still visible in the subscription view of the Merchant Portal
April 14, 2023
Improvements and fixes
- Added a “Manage subscription” block linking to the Customer Portal to add to your theme
- Fixed an issue in which the available product variants were shown with incorrect prices when updating the products in the Customer Portal
- Fixed an issue in which some requests could fail due to Shopify API throttling, caused be the extensive cost of some queries
- Fixed an issue in which the error toast was shown when the app required re-authorization
- Fixed the response code when invalid JWT token was used to authorize a request
- Fixed an issue in which the app install could go into a charge request loop
- Fixed a flash of unstyled content before the skeleton loader
April 7, 2023
Managing multi-subscription customers
For larger stores with multiple subscription orders, tracing these orders back to individual subscribers can be a real hurdle. We’re now making it easier for merchants to get an overview and manage their multi-subscription customers under the new “Subscribers” tab. The tab contains a list of all subscribers, along with the number of active subscriptions they have, and their current status.
The merchants can also display and update additional deets about each subscriber (like shipping and payment information or their current order info), by clicking the “Manage” link next to each subscriber’s name. To keep these things accessible, the new tab sits right under Dashboard in Juo.
Improvements and fixes
- Added an option to add products to subscriptions in the Merchant Portal
- Enabled billing for the public app
- Switched to Shopify product picker when changing subscription products in the Merchant Portal
- Changed the error response to unauthorized response when the API request didn’t contain the shop parameter
- Fixed an issue in which adding products to a box was not working correctly
- Fixed an issue in which a product kept the previous quantity after editing in the Customer Portal
- Fixed an issue in which the product price could change after the quantity change
- Fixed an issue in which product swapping didn’t work for products with different selling plans
- Fixed an issue in which product swapping failed to work
- Fixed an issue in which the subscription widget threw a console error if no discount was applied in the selling plan
- Fixed an issue in which opening a link in a new window/tab didn’t work in the Merchant Portal
- Fixed an issue in which stock items were not indexed immediately after the app installation
- Fixed an issue in which per application settings were being merged together
- Fixed an issue in which JSON was shown instead of an error page in the Merchant Portal
March 31, 2023
Onboarding flow for new merchants

We focused more on self-service this week with the new onboarding flow that the merchants can follow to get started with subscriptions without dev assistance. The onboarding flow covers 3 steps that every merchant needs to perform to create a working subscription offer: (1) creating a selling plan, (2) installing the subscription widget on their product page, and (3) adding a link to Manage subscriptions to their login screen.
More tricky steps (2) and (3) are covered in Help articles that are linked under the respective onboarding sections, so if anyone gets stuck, they can watch a how-to video or follow a step-by-step guide to get back on track. Note that the merchants who are already actively selling subscriptions (and so have performed these steps) will not see the onboarding. New merchants will find it on the Dashboard.
Improvements and fixes
- Added more data points (paused and cancelled subscriptions, revenue) to the Dashboard in the Merchant Portal
- Added an option to edit the subscription plan in the Merchant Portal
- Added “eligibility for subscriptions” information in the Merchant Portal
- Added per-application settings for the Merchant Portal
- Added an option to change the product variant in the Customer Portal
- Added an option to swap box items in the Customer Portal
- Added selling plan names to the alternative plan selection step in the Customer Portal
- Added error pages to the Merchant and Customer Portals
- Added
Content-Security-Policy
header to the Merchant and Customer Portals
- Added check if the link to the Customer Portal has been added to login.liquid file
- Added support for local delivery and pickup delivery when changing products in subscription
- Added automatic tagging for box orders (
products_box
tag)
- Added visual feedback after pressing a button on the shipping modal
- Added an alternative database storage for store settings
- Added an option to set a default error handler and override it per resource to the SDK
- Added
subscriptions.juo.app
domain
- Changed app url to
https://subscriptions.juo.app
- Changed the selling plan group API routes to always use the plural form
- Fixed a false-positive error being reported when a running background job is rescheduled
- Fixed an issue in which displaying Revenue caused an error when there was no revenue provided
March 24, 2023
New ways to adjust products in subscription
This week we’re adding more flexibility and ease to how merchants and subscribers can manage their active subscriptions. With this update, both groups can easily change the number of products in subscription with just one click and the remove and swap functionalities for the subscribed products are now easily accessible from the subscription details view in the Customer and Merchant Portals.
The swap functionality got a major upgrade, too — and now uses product suggestions on top of the classic search. Whenever the merchant or subscriber wants to swap a product, different variants of this product are being suggested to make the replacement easier. The product tiles under swap now also show more information about the product variant, quantity and price, so there’s no doubts about what’s being changed for what and how this affects the price.
More flexible handling out-of-stock items
So far, subscriptions would only automatically renew if they contained no out-of-stock items. For out-of-stock items, renewals attempts were made for 3 months, followed with a cancellation. Now, the merchants who experience frequent stock fluctuations can decide if they want to let subscriptions with out-of-stock items renew automatically, or not. To enable this feature, just check “Renew when products out of stock” under Settings. Once it’s active, the subscriptions containing out-of-stock items will be renewed and charged according to the billing plan, and then processed and shipped by the merchants independently as the missing items become available again.
Improvements and fixes
- Added eligibility for subscriptions information in the Merchant Portal
- Added empty states on the Dashboard in the Merchant Portal
- Added support for product edits to migrated subscriptions
- Added an endpoint for subscription line removal
- Added auto-create auth0 client after the Shopify app is installed
- Added handling for mandatory GDPR webhooks
- Added app installation event tracking
- Improved the subscription widget appearance for very small devices and narrow column layouts
- Improved currency formatting in the subscription widget
- Reordered navigation links and changed “Manage” to “Selling plans” in the Merchant Portal
- Fixed an issue in which merchants were able to pick occupied delivery intervals when creating selling plans
- Fixed an issue in which changing delivery interval triggered a validation error
- Fixed issues that prevented installation when entity-level activity log was enabled
- Fixed an issue that occurred when a migrated subscription was coming with an origin order id set
- Fixed the params format in the Subscription Renewed event
- Fixed date formatting issue in the renewal email affecting renewals scheduled for the next day
- Fixed an error that occurred when editing a subscription due to incorrect rounding of a discount amount
- Fixed an issue in which available products endpoint was showing products that had no available variants
- Fixed an issue in which spacebar didn’t work in the product search in the Merchant Portal
- Fixed an issue in which “0 more” was shown for subscriptions with just one item in the Merchant Portal
- Fixed an issue in which fake data was displayed instead of the skeleton loading in the Merchant Portal
- Fixed an issue in which fake data flashed on screen before the skeleton loader kicked in
March 17, 2023
Improvements and fixes
- Added user activity tracking log
- Added subscription purchase and renew events to the activity log
- Added variant names to the product list on the Subscriptions page in the Customer Portal
- Added tooltip and savings editing for cart subscriptions in the Shopify theme editor
- Removed the recent activity placeholder from the Merchant Portal
- Fixed an error with loading the subscriptions list
- Fixed an issue in which the product image got squeezed up when the product name was too long
- Fixed savings calculation for cart subscriptions
- Fixed an issue in which the purchase event failed to record due to an incorrect context state
March 10, 2023
To make the subscription experience seamlessly integrate with the merchants’ storefront, we’re adding more customization options to the subscriptions widget. Some examples: background and text color, font weights, purchase option labels, and even the USP messaging. In order to start customizing, simply go to the Shopify theme editor and add the new widget to the product page.
On top of that, the widget now loads up and operates much quicker, so it’s always there when the subscribers need it!
Improvements and fixes
- Added an option to change products in subscription in the Merchant Portal
- Added visual feedback to buttons performing a long running action
- Added close buttons to modals
- Added an event to track a successful subscription renewal
- Added user information to the Sentry error tracking in the Customer Portal
- Added client-side error validation to the selling plan creation flow
- Added async context store for all internal backend components
- Fixed the search functionality for product swaps (case insensitive)
- Fixed an issue in which modals haven’t been visible on some mobile devices in Customer Portal
- Fixed an issue in which subscription product quantity update was blocked when the quantity was higher than 1
- Fixed an issue in which the price formatting threw an error on load
- Fixed the links to admin resources that were not working correctly
- Fixed an issue in which an incorrect error message was displayed when billing and delivery frequencies were mismatched
March 3, 2023
New: Cart subscriptions
We’ve got something cool for merchants looking to boost LTV this week. Cart subscriptions make it super simple for customers to buy all their cart items at the same time in subscription.
To activate this feature, simply add the Subscribe Cart widget next to, under, or above the Checkout button to the Cart page template. Once active, customers will see a “Turn into subscription” checkbox and will be able to turn their cart content into a recurring order. And now they’re no longer customers, they’re subscribers.
Improvements and fixes
- Added information about applied discounts to the Subscriptions view
- Fixed an issue in which shipping calculations for subscriptions were using regular prices instead of discounted ones
- Improved the look and feel of the subscriptions list in the Customer Portal
- Added information about applied discounts to the Subscriptions view
- Added a generic error message toast following failed API requests in the Customer Portal
- Fixed an issue in which Subscription UI extension form stopped working at all
February 24, 2023
Local delivery and pickup for subscriptions
Flexible shipping options can make or break a subscription, so we’re tackling some of the delivery challenges this week, by making local pickup and local delivery functions available for subscriptions.
Thanks to local pickup, merchants can define additional, local pickup points, where subscribers can pick up their subscription orders quicker and more conveniently. With local delivery, merchants can also specify the entire areas to which they deliver, based on a distance from their location or on area codes. Both can be set up in Shopify settings and will now also work for subscriptions.
Subscribers can edit shipping methods
In the spirit of making Subscribers’ lives easier, we’re now giving them the possibility to modify their current subscription delivery method. If your Subscriber wants to change their pickup point or go from, say, InPost to DHL, they can easily do so via the Customer portal (provided that both options are available, of course). That’s more freedom for them, less hassle for you.
Improvements and fixes
- New discount type: Free product (Shopify Plus only)
- Added subscription contract update to include automatic discounts
- Added support for Free product discounts to Tiered discounts
- Added support for dedicated Shopify Function IDs map per custom app
- Fixed minimum billing cycles count confirmation modal
- Fixed an issue with products not being properly added to a box
- Disabled the possibility to edit subscription items in a box
- Added endpoint with available shipping methods to subscription contracts
- Added endpoint that updates subscription shipping method
- Added subscription line grouping by parent products
- Updated product and discount metafields to match new Tiered discounts and Free product automatic discounts
- Added additional metafield values for Build-a-box discounts
- Added
parentProductId
field to subscription line
- Added
/products/by-ids
customer endpoint that retrieves products by ids
- Stopped retaining completed indexing job runs
February 17, 2023
Post-cancellation flow
We’ve been working on the post-cancellation email flow this past week, improving the subscribers’ experience and putting the merchants more in control. Now, when a subscriber chooses to cancel their subscription, they will automatically receive a confirmation email. When it’s the merchant who cancels, they can choose to either send the confirmation email to the subscriber, or not. The update is available for all merchants automatically, but you can adjust the email behavior in Settings.
Improvements and fixes
- Customer Portal loads faster thanks to pre-loaded iframe components
- Fixed an issue with subscriptions renewing despite containing discontinued products
- New logo featured in the Merchant Portal
- Added error handlers to
IORedis
and Queue
- Added
Product
upsert for OneToMany
/ OneToOne
relations
- Updated
ioredis
to 5.3.1
in an attempt to fix the stalled worker issues
- Fixed an issue in which new line characters didn’t render properly in email settings
- Fixed an issue in which a selling plan failed to create when billing options were not additionally specified
- Fixed an issue in with the login form on some browsers due to missing
crypto.randomUUID()
implementation
- Fixed an issue in which the Customer Portal frame wasn’t resizing properly in browsers that don’t implement
ResizeObserver.contentBoxSize
- Fixed an issue in which the churn stat was showing NaN% when there were no subscriptions
February 10, 2023
New subscriber login view

The Customer Portal login screen got a slight design revamp. Thanks to the latest adjustments, it looks more subtle and is more compliant with the store branding, even without any additional customizations.
More detailed membership listing
For merchants who like a quick overview of how their subscriptions perform, the listing view for Memberships now features a few extra deets to help them stay on top of everything:
- Membership: Shows membership status (Active, Inactive, Expired)
- Subscription (Former Status): Shows subscription status
- Expires on: Shows membership expiration (end) date
Improvements and fixes
- Fixed Memberships not appearing on orders list due to the Shopify query error
- Minor UI improvements to Tiered discounts in the app
- Improved the stability of the product picker for various edge-cases, now it works correctly in all corner-cases
February 3, 2023
Improvements and fixes
- Subscribers can check shipping costs in the Customer Portal
- Next payment date is no longer shown for inactive subscriptions
- Increased latency period on “Renew now” button to prevent accidental renewals
- Fixed the browser’s back / forward buttons behaviour in the Merchant Portal
January 27, 2023
Minimum required renewals
To prevent subscribers from cancelling their subscriptions too quickly, merchants can set up a minimum number of renewals to take place before a subscription can be modified. So, subscribers and merchants will only be able to cancel, pause, or skip a subscription after it has been renewed at least so many times.
Improvements and fixes
- Added charge retry date to the Customer and Merchant Portals
- Added remove Tiered discounts functionality
- Improved the UI for Tiered discounts
January 20, 2023
New logo is here!

Over the past weeks our design team has been working on the new brand and… Many brainstorms, discussions, and design reviews later, we finally have a logo that captures the feeling and essence of Juo. To the Moon!
Improvements and fixes
- Memberships can now be cancelled and refunded
- New details available in the Merchant Portal: membership status and expiration date
- Fixed widget selector issue when dropdown was activated
January 13, 2023
Better subscription management for merchants
Merchant Portal got a massive update to help merchants search and navigate their subscriptions with ease. Subscription list view now shows more deets and customer info is available right from the Merchant Portal.
Improvements and fixes
- Added a link to customer details page in Merchant Portal
- Added possibility to retry charge attempt to Customer and Merchant Portal
- Fixed an issue with adding and editing products in Tiered discounts
- Fixed an issue with next billing attempt date not updating after a failed attempt
- It’s now possible to add multiple Tiered discounts with the same name
January 6, 2023
New in: Tiered discounts
With Tiered discounts, merchants can offer discounts based on the number of products currently in cart. The more products the customers buy, the bigger discount they will receive.
Improvements and fixes
- Merchants can’t accidentally select different frequencies for shipping and billing within one subscription
- Fixed delivery frequency format
December 30, 2022
Customizable email notifications
To make subscriber communication on-brand, merchants can edit the content and visuals in email notifications. Merchants can choose between Polish and English language versions and adjust either of them to their needs.
Depending on their subscription flow, merchants can also turn on or off individual notifications for subscriptions, renewals, cancellations, and payments.
Improvements and fixes
- Subscriptions will not renew when some products are currently not in stock
- Accurate page titles will be displayed to customers in the Customer Portal
- Building foundations for our new Build-a-box feature
December 23, 2022
Premium memberships (a.k.a. Clubs)
With Memberships, merchants can build their own premium clubs (similar to Amazon Prime or Allegro Smart) with free deliveries or discounts as the main incentives. Except for custom implementations, we’re pretty sure you won’t find this feature anywhere else!
Improvements and fixes
- Fixed empty shipping line check for value
- Default interval for selling plans changed from from 1 week to 1 month
December 16, 2022
More freedom to edit subscriptions
Except for adding and removing products from subscriptions, merchants can also swap products within a subscription (one condition: both the old and the new product have to be in the same selling plan).
Subscribers can change, remove, or add products to their subscription entirely on their own in the Customer Portal.
Automatic tagging for subscription orders
All subscription orders will now automatically receive a subscription_*
tag to help merchants search, filter, and analyze how their subscriptions perform. Tags can also be used to create targeted, subscriber-only marketing campaigns.
subscription_start
for initial order
subscription_order_NUMBER
for all orders
subscription_CONTRACT_ID
for all orders
Improvements and fixes
- Added links to individual orders in the subscription activity timeline
- Added “Show all orders” link to see all orders from a given subscriber
December 9, 2022
Subscriber-scheduled renewals
Rather than skipping a replenishment, subscribers can now just pick a different date for their next subscription renewal. Convenient! They can also change the delivery frequency, choosing one of the alternative frequencies available for their subscription.
Improvements and fixes
- Improved Customer Portal layout spacing on mobile
- Improved popup positioning for better user experience in the Customer Portal
- Fixed an error where merchants could only add 10 products to a selling plan
December 2, 2022
Flexible login options for subscribers
Subscribers have more flexibility logging into their customer accounts. They can choose between a code sent to their email, social sign-in with Google, or Facebook. If subscribers are logged in to their customer account already, they can just go directly to their subscription settings from there — no additional login is required.
Full Polish language support
For Polish-speaking merchants and subscribers out there, Polish is now fully supported on the storefront and in email notifications. The language used is based on the language settings in Shopify.
Improvements and fixes
- When subscription fails to renew, both subscribers and merchants receive an email notification