Skip to main content
Juo provides out-of-the box email notifications for subscription purchase, renewal, upcoming payment, failed payment, cancellation, and pending renewal (items out of stock). In addition to these automatic notifications, or instead of them, merchants can also integrate Juo with Customer.io to manage their subscription-related communication there. Before using Customer.io integration, enable it in the Juo admin panel under Settings > Integrations.

Juo <> Customer.io campaign triggers

Juo is currently syncing the following events with Customer.io:
Event nameSent when
Started SubscriptionSubscription is purchased
Paused SubscriptionSubscription is paused
Skipped SubscriptionSubscription is skipped
Renewed Now SubscriptionSubscription is triggered using the Renew Now option
Reactivated SubscriptionSubscription is reactivated from the Canceled status
Replaced Line SubscriptionA product is swapped
Line Added SubscriptionA product is added to subscription, as recurring or as one-time
Line Removed SubscriptionA product is removed from subscription
Next Billing Date Updated SubscriptionNext billing date is changed
Plan Changed SubscriptionSubscription delivery frequency is changed
Plan Changed Subscription LineProduct delivery frequency is changed
Cancelled SubscriptionSubscription is cancelled
Failed SubscriptionSubscription has failed e.g. because of too many failed payment attempts
Upcoming Renewal Subscription3 days before a subscription is scheduled to renew
Billed SubscriptionSubscription is successfully paid
Billing Failed SubscriptionSubscription payment fails
Renewal Requires ActionPayment requires additional authentication (e.g. 3D Secure for credit card payments)
Product Out Of Stock SubscriptionSubscription renewal fails due to one or more products being out of stock
Chargeback SubscriptionChargeback request is initiated by the customer
Note that in order to sync events between Juo and Customer.io you need to turn on the integration first. Events that happened prior to the integration will not be visible in Customer.io.
You can use the above events as triggers to send subscription notifications. For example, if you want to send an email after a subscription has been purchased in your store, select Started Subscription as a trigger in your Customer.io campaign or workflow.

Juo <> Customer.io event properties

Each of the events that is synced between Juo and Customer.io comes with a set of properties that can be used as dynamic variables in the email and SMS notifications set up in Customer.io. To access the properties that are available for each event, open the event payload in Customer.io’s data explorer or preview your campaign content using a recent event from the integration.
Property nameDescriptionType
OrderIDID of the subscriptionnumber
ItemsList of products in the subscriptionarray
ItemNamesList of product names in the subscriptionarray
DiscountCodeDiscount code applied to the subscriptionstring
DiscountValueNumeric value of the discountnumber
OrderIntervalFrequencyNumeric value of the frequency index, e.g. 1 for every 1 monthnumber
OrderIntervalUnitType of interval unit, e.g. week or monthstring
CurrentCycleIndex number of the current subscription order. 0 is the initial order.number
NextBillingDateDate of the next scheduled renewal, e.g. "2025-04-28T11:07:23.000Z"string
SavingTotal savings in subscriptionnumber
ShippingCostShipping cost of the next subscription renewalnumber
valueTotal order value (without shipping), mapped from linesTotalnumber
QuickLinksURLs that redirect customers to specific subscription management viewsobject
QuickActionsOne-click subscription action URLs and upsell product detailsobject
Depending on the event type, some additional properties may become available, such as:
Property nameDescriptionType
errorMessageProvides more background on the reason for payment failure, e.g. “Payment method was revoked”string
NextActionUrlLink to where subscribers can finish their payment validation when requiredstring
PaymentMethodTypePayment method type for upcoming renewal notifications (recurring or intentional)string
CancellationReasonReason for cancelling the subscription provided by the customerstring
reasonCodeChargeback reason code, e.g. "MS02"string
reasonMessageChargeback reason, e.g. "Refusal by the Debtor"string
attemptContains the number of the failed billing attemptnumber
For details on using QuickLinks and QuickActions in your campaigns, see the Quick actions for Customer.io guide.
Property nameDescriptionType
ActiveSubscriberIndicates whether the customer has at least one active subscriptionboolean
ActiveSubscriptionIDsList of IDs of the customer’s active Juo subscriptionsarray
ActiveSubscriptionVariantIDsList of Shopify variant IDs included in the customer’s subscriptionsarray
NextReplenishmentDateDate of the next scheduled billing for any active subscriptionstring
UpcomingRenewalPaymentUrlURL where the customer can complete payment for an upcoming renewalstring
TotalRecurringOrdersTotal number of subscription-based orders placed by the customernumber
TotalRecurringRevenueTotal revenue generated from all of the customer’s subscriptionsnumber
Property nameDescriptionType
ProductIDAllows to display the ID of the product in subscriptionstring
ProductNameShows the name of the productstring
VariantNameShows the name of the variantstring
QuantityShows the product quantitynumber
ItemPriceShows the price per single itemnumber
RowTotalShows the price of all items of the same type (Item x Quantity)number
ImageURLAllows to display the product imagestring
CategoriesShows the collection or collections to which an item belongsarray
ProductURLURL of the product page in your storestring
Here’s an example of how you can use properties to display additional subscription information in each email, including:
  • products ordered
  • product quantity
  • total price for the products
  • subscription benefits
  • total item and shipping value
Properties for displaying subscription details
**Your subscription details**


{{ trigger.Items[0].ProductName }}
x {{ trigger.Items[0].Quantity }}


${{ trigger.Items[0].RowTotal }}




- Shipped every: {{ trigger.OrderIntervalFrequency }} {{ trigger.OrderIntervalUnit }}
- Next billing date: {{ trigger.NextBillingDate | date: "%B %d, %Y" }}
- Save ${{ trigger.Saving }} in subscription


Total: ${{ trigger.value }}
Shipping: ${{ trigger.ShippingCost }}
Feel free to copy them into your Customer.io email editor as you set up the content. Use campaign preview with a recent event to verify how subscription order information will be displayed in your notifications.