Automatic Renewal Law (ARL) and Recharge
The goal of Autorenewal Laws (ARL) is to ensure fair and transparent business practices regarding subscription purchases. Many states in the United States have or are in the process of passing ARL regulations.
California was one of the first states to pass ARL in 2010 and many view California’s law as the general standard for ARL. In late 2021, California enacted updates to the law, carrying forward most of the existing requirements and adding new requirements related to the renewal and cancellation process for subscription customers.
Effective July 1, 2022, companies must start sending a reminder notice before renewing a subscription for (1) subscriptions with a term of one year or longer and (2) subscriptions that contain an expiring free trial, gift, or initial discount period that is longer than 31 days.
In addition, for online subscriptions, the update requires that California residents must be allowed to cancel their subscriptions online “without any further steps that obstruct or delay the consumer’s ability to terminate the automatic renewal or continuous service immediately.”
This guide explains what updates Recharge has made to the platform to help your business remain compliant with California’s ARL.
How Recharge is helping you comply with ARL
Recharge is updating multiple default settings in our product on or before July 1, 2022, to help you comply with ARL in California and prepare you for compliance with an increasing number of other states' ARL.
These updates make it easier for you to comply with ARL by designing default settings and notifications to align with the requirements of California’s ARL.
Minimum charge cancellation
On July 1, 2022, Recharge will update the “allow customers to cancel after a certain number of charges” setting to default to a “no restrictions” setting. This means that customers can cancel their subscriptions through their customer portal at any time, including immediately after their first charge.
All existing merchants will automatically have the setting “no restrictions” applied.
You can update the number of charges before cancellation at a later date through your customer portal settings after July 1st.
Update to customer cancellation processes
Cancellation permissions
Recharge is updating a setting that lets you determine if customers can cancel their subscriptions through the customer portal. Starting July 1st, 2022, you will be able to toggle the Subscription Cancellation settings on or off in the customer portal section of your merchant portal.
- When toggled on, customers have the option to cancel their subscription in their customer portal.
- When toggled off, customers must contact you to cancel their subscription.
This setting will be automatically toggled on to let customers cancel their subscriptions through the customer portal.
You can toggle this setting on or off at any time in your customer portal settings after July 1, 2022.
Cancellation reasons
In the past, Recharge required customers to provide a cancellation reason before finalizing their cancellation request. Recharge will add a toggle option in the merchant portal so that you can make it optional for customers to provide a cancellation reason.
Setting the cancellation reasons as optional will be the default selection starting July 1st, making it optional that customers need to provide a cancellation reason.
You can toggle this setting on or off at any time in your customer portal settings after July 1.
Update to automatic processes for customers located in California
To help you comply with the California ARL in the past, Recharge provided all customers with California addresses the ability to cancel their subscriptions in their customer portal, regardless of store settings. California subscribers could cancel at any time in their customer portal, even if your portal settings stated that cancellations could only be processed by the store owner, or if you had a set minimum number of charges.
In an effort to help our merchants with their compliance efforts, Recharge has eliminated this feature. As more states and countries enact laws governing subscriptions, which are often based on California’s ARL, Recharge is focused on setting you up for success by providing a cohesive user experience and proactively preparing you for increased legal compliance efforts.
Update to notifications
On July 1, 2022, Recharge will update the default language for two popular subscription notifications to help you meet the standards defined in the California ARL; the Subscription Activation notification and the Upcoming Charge notification. Recharge will also make a new notification, the 1+ year Upcoming Charge notification, available.
These new notifications will be enabled by default to merchants who sign up for Recharge after July 1, 2022.
Existing merchants who wish to leverage the updated notification messages can select the new “Use default language” option to update their notification templates. You should review the new default language and consider whether any updates should be made to your notifications.
1+ year Upcoming Charge notification
Starting July 1, 2022, you can enable the 1+ year Upcoming Charge notification to be sent to customers with a subscription term of one year or longer that automatically renews. If enabled, this notification will be sent to customers with “long-term” subscriptions who are charged on a frequency of at least every 12 months to remind them of their upcoming charge.
California’s ARL requires that customers with a subscription term of one year or more are notified between 15 and 45 days in advance of their upcoming charge. This notification will be sent 30 days before the charge date by default. You can update this default setting in the merchant portal.
Subscription Activation notification
The updated default language in the Subscription Activation notification will include your store email address on file to direct customers’ questions about their subscriptions. Minor changes to the notification subject line, as well as notifying customers that they can cancel, as well as manage, their subscriptions were developed to comply with the ARL regulations.
The impact these changes will have on your Subscription Activation notification depends on when you last updated the notification. These changes are minor improvements to the standard Subscription Activation notification released in early 2021. Your notifications will change significantly if you are using an older version of the notification template and decide to update to the new, default language.
Download the default language to view the email content used in the Subscription Activation notification.
Upcoming Charge notification
The default language in the Upcoming Charge notification will include additional information about each line item charge, including the subscription’s top-level settings. It will also include a link for customers to cancel their subscriptions and manage their accounts.
The Upcoming Charge notification is sent three days in advance of a charge by default. You will now be able to control the delivery schedule timing for the Upcoming Charge notifications through the Notification settings page in your merchant portal.
Subscriptions containing a free gift, trial, promotional terms, or discounted pricing require a reminder notice between 3 and 21 days before the end of the promotion or trial period. As such, the Upcoming Charge notification will contain a detailed breakdown of a subscriber’s upcoming charge, including all applicable discounts, taxes, and/or shipping prices, and provides a total projected amount for the charge.
The Upcoming Charge notification will also include the{{item.previous_price}}
variable, which detects a price change between the previous and upcoming charges. This variable will trigger the Upcoming Charge notification to include a message indicating there has been a price change since the last charge. Customers are notified for all price changes, including manual pricing adjustments, or price changes made through a workflow.
Expand the following dropdown menu to view the default language used in the Upcoming Charge notification.
Download the default language to view the email content used in the Upcoming Charge notification.
Theme Engine
Merchants using the Recharge Theme Engine must make the following changes before July 1, 2022, so that their customer portals are aligned with our updated product settings related to the updates to the California ARL.
Optional cancellation
In the past, customers were required to provide a cancellation reason before finalizing their request. Starting July 1st, 2022, Recharge will add a toggle option in the merchant portal so that you can make it optional for customers to provide a cancellation reason.
If you are using the Theme Engine, you must update your code to support these changes, even if you intend on requiring customers to provide a cancellation reason when they cancel.
Step 1: Update the cancelSubscriptionFlow
function
Open the Storefront dropdown menu in your merchant portal. Select Theme Editor to update your theme.
- Click Edit code for the theme file you wish to update.
- Open the
_edit-subscription.js file
, located under Assets. - Locate the
cancelSubscriptionFlow
function on line 41. - Replace the existing code with the following code in bold red:
const filteredReasons = filterReasons(cancellationReasons, ReCharge.Novum.settings, subscription);
const cancellation_reason_optional = {{ settings.customer_portal.subscription.cancellation_reason_optional | json }};
reasonsContainer.innerHTML += `
${filteredReasons.map(reason => `
<div class="rc_purchase_type border-light margin-top-10">
@@ -55,10 +56,20 @@ function cancelSubscriptionFlow(event) {
</div>`).join('')}
<br>
<button ${ cancellation_reason_optional ? '' : 'disabled'} class="rc_btn text-uppercase title-bold rc_proceed-btn"> {{ 'cp_proceed_button' | t }} </button>
`;
const proceedBtn = document.querySelector('.rc_proceed-btn');
if (!cancellation_reason_optional) {
proceedBtn.disabled = true;
document.querySelectorAll('input[name="retention_strategy_id"]').forEach(radio =>
radio.addEventListener('change', () => {
proceedBtn.disabled = false;
})
);
}
// add event listener on proceed button
document.querySelector('.rc_proceed-btn').addEventListener('click', renderRetentionStrategiesHandler);Step 2: Update the renderRetentionStrategiesHandler function
- Locate the renderRetentionStrategiesHandler function in the
_edit-subscription.js
file. - Replace the existing code with the following code:
try {
strategyId = document.querySelector('[name=retention_strategy_id]:checked').value;
} catch (error) {
{% if not settings.customer_portal.subscription.cancellation_reason_optional %}
console.log(error)
return
{% endif %}
}
const retentionStrategy = cancellationReasons.find( reason => reason.id == strategyId);
const { incentive_type, discount_code, prevention_text = '', cancellation_reason = 'No reason selected' } = retentionStrategy || {};
let output, btnText, btn, actionUrl, cancellingVerbiage; - Press Save to update the changes to the theme file.
Exemptions for customers with addresses located in California
To comply with the California ARL in the past, Recharge updated the theme code to provide all customers with California addresses the ability to cancel their subscriptions in their customer portal, regardless of store settings.
You must update your Theme Engine code as California customers are no longer exempt from these rules.
- Open the Storefront dropdown menu in your merchant portal. Select Theme Editor to update your theme.
- Click Edit code for the theme file you wish to update.
- Open the
_scripts.js
file, located under Assets. - Locate the function hasCaliforniaProvince.
- Remove the code block from your theme file:
- Press Save to complete the changes.
Translations update
Translations are used to communicate with merchants throughout the cancellation process. You can update certain translations to better match your brand’s voice and messaging.
Update the “Select a reason for cancelling your subscription” translation
By default, customers see the message “select a reason for cancelling your subscription” when they attempt to cancel their subscription. You can update the translation that prompts customers to provide a cancellation reason.
- Select Translations from the Storefront dropdown menu.
- Open the Customer Portal - Themes tab.
- Locate the “Select a reason for cancelling your subscription: (optional)” translation.
- Enter a new translation into the field below. Ensure that the word “optional” is included in your translation.
- Press Save to confirm your changes.
- Updates to translations are visible to customers as soon as they are saved.
Update the “Additional comments” translation
Customers can leave additional comments when they cancel their subscriptions. By default, customers see the “Additional comments (optional)” messaging, which prompts them to leave a comment.
You can update this translation to more accurately represent your brand. You must update both the setting and the theme file to ensure that this change is visible to your customers.
Step 1 - Update the Translations
- Select Translations from the Storefront dropdown menu.
- Open the Customer Portal - Themes tab.
- Locate the “Additional comments optional” translation.
- Enter a new translation into the field below. Ensure that the word “optional” is included in your translation.
- Press Save to confirm your changes.
Step 2 - Update the theme file
- Open the Storefront dropdown menu in your merchant portal. Select Theme Editor to update your theme.
- Click Edit code for the theme file you wish to update.
- Open the
_edit-subscription.js
file, located under Assets. - Locate the textarea element.
- Replace the existing code with the following code:
btn = `<textarea class="textarea-size"
onchange="document.querySelector('[name=cancellation_reason_comments]').value=this.value" placeholder="{{ 'Additional_Comments' | t }}"></textarea><br>`; - Press Save to confirm the changes to your theme.
The updated translation is only visible to customers if changes have been made to both the Translations setting and the HTML code in the theme file.