Skip to main content
All CollectionsToolsRetentionEngine
RetentionEngine Setup and Best Practices
RetentionEngine Setup and Best Practices
Ashley Kim avatar
Written by Ashley Kim
Updated over 8 months ago

RetentionEngine is a no-code cancel flow that is your first step toward retaining your customers. RetentionEngine allows you to collect cancellation reasons from churning customers and offer them incentives to keep their subscriptions active.

Getting Started

The Retention Engine tool is easily accessible within the Stay Merchant portal under the Tool's section.


Step 1: Elements

Elements are all the pieces you need to build your Engine. These include the cancellation reasons/exit survey responses, treatments, and pause options. Styling, such as logo, colors, font, and copy edits are also part of the Elements.

Setting Up Cancellation Reasons

You'll need 5-8 main reasons why your customers cancel/would cancel their subscriptions. There are default cancellation reasons already added to your Engine, but it is highly recommended that you create reasons specific to your store.

Best Practice Tips for Cancellation Reasons

  • Be specific with your cancelation reasons. “It’s too expensive” vs. “Doesn't fit into my budget anymore” have different sentiments. The former says that customers think you priced the product too high, whereas the latter says the customer can’t afford it anymore, not that the product isn’t worth the cost.

  • Think through all the reasons that someone may comment with 'Other' (e.g. it doesn’t work with my diet/health anymore) and create those as cancellation reasons. If you’re offering 'Other' as a cancellation reason, you will want to make sure it is not the top 3 most popular reasons. If it is, analyze the comments left with the cancellation and make sure that is offered as a selectable (and thus, treatable) cancellation reason.

Creating Cancellation Reasons

  • To create new cancellation reasons, click the Add New+ button at the top of the list. If you want to edit existing reasons, please delete the current one and create a new one. You cannot edit existing reasons, as it would change variables in the machine learning process.

  • Decide if you want to offer 'Other' as a cancellation reason. On the right-side menu, scroll down to the 'Other Reason Options'. If you wish to offer 'Other' as a cancellation reason, make sure to toggle it on. We recommend enabling it at first to gather more information about cancellation reasons.

Note: The order in which the cancellation reasons are presented to customers is randomized each time to prevent order bias. The order in which you see the cancellation reasons in your editor is not the order that your customers will see the reasons.

Cancellation Reason Examples

Reasons will vary per vertical and brand, but below are general reasons that you may want to consider including.

  • It's too expensive

  • Doesn't fit into my budget anymore

  • I don't like the taste

  • I don't see/feel results

  • I have too much right now

  • I don't use the product anymore

  • I found another brand I like better

  • I'm buying in-store

  • I had a technical problem

  • Customer support has been poor

Setting Up Treatments

Think through 3-5 base treatments that you would like to offer to your customers in attempt to save them from churning. Once you have our base treatments down, it is recommended that you create variations of the treatment so the machine learning can test the treatments against each other and optimize experiences based on treatment performance.

Note: Before you create your treatments, it is recommended that you have the contents for the treatments ready and outlined (e.g. copy, any relevant discount codes, variant IDs of free gifts, and images/GIFs/videos). Once you create the treatments, you will not be able to edit them without duplicating the treatment and making edits in the new copy. Similar to cancellation reasons, existing treatments cannot be edited, also due to machine learning.

Best Practice Tips for Treatments

  • Create 2-3 variants of the treatments. For example, if you’re offering a discount, create multiple treatments based on discount value (e.g. 18% and 22% variations for a 20% discount). If you’re offering a free gift, test different gifts. You can also test different images, videos, copy, etc.

  • Add images/videos to the treatment cards. Try to limit text. Memes/humor work well in the image/videos, if that fits in with your brand.

  • Try a more casual/straightforward CTA on the treatment acceptance buttons than the default “Accept Offer”, such as "Apply Discount” and “Add Free Gift".

Creating Cancellation Reasons

  • Make sure you've selected the Treatment Library Dropdown: Click on the second icon on in the Elements step.

  • To create treatments, click the Add New + button. If you want to edit an existing treatment, you'll need to duplicate the treatment and make edits to the new treatment. Click the copy icon next to the treatment on the right-side menu. You can then deselect the old treatment, which will make the treatment inactive. You can also delete or archive the treatment.

Note: A delete option will be available if data has not yet been collected for that treatment. The archive option will be available if data has been collected (such as the screenshot below). Archiving a treatment will remove it from your analytics.

  • Once you click the + button to create a new treatment, open the dropdown to select the treatment type. Below is a breakdown of the different treatment types.

Gift - This is a manual gift treatment. It requires your CX team to manually add the gift to each subscription that claims it.

Note: If you want to offer a free gift, it is recommended that you select the Automated Gift treatment instead, as it does not require manual addition of the free gift to subscriptions.

Relevant Information - This treatment only contains text/image/video, which is great for educational purposes or FOMO. It does not offer a gift or discount to customers.

Contact Support - This treatment opens the default email app to email customer service. This is an appropriate treatment to show customers who are canceling due to 'Technical Issues'.

Coupon - This treatment is for offering a discount code to apply to the subscription.

Note: The discount codes need to be created in Shopify. There will be a section in the coupon treatment set-up that will ask you to enter the coupon ID. This is where you will enter the Shopify discount code.

It is also recommended that you create variants of the discount to include irregular discount amounts (e.g. 17% off vs 20% off vs 22% off), as it's proven to be effective!

Automated Gift - Unlike the manual nature of the regular Gift Treatment, as explained above, this Automated Gift treatment automatically adds the gift to the subscription's next order.

Note: You'll be prompted in the treatment set-up to enter the variant ID of the product or variant that you want to offer as a free gift. This does not need to be $0 in Shopify. It will automatically be added to the subscription's next order at a quantity of 1 and a price of $0.

Setting Up Pause (Skip) Options

The pause options are secondary treatments. Once the main treatment is presented to the customer, the customer can choose to accept the treatment or 'Continue to Cancel'. If they continue to cancel, they will be presented with 'Pause' options, should you make that available. It is highly recommended that you offer pause options as a secondary treatment, as it is a highly better alternative to canceling the subscription.

Note: The 'Pause' options are actually skip options. You'll be able to offer your customers the option to skip their subscription for 1,2, 3, 6 billing cycles or 1, 2, 3, 6 months.

  • You can select/deselect the √ next to each option. It is recommended that you offer either skipping billing cycles or skipping months.

  • To edit the verbiage of the skip action, click the pencil icon. Make sure the skip action lines up with the CTA copy.

Customizing Confirm Cancellation Screen

The next page on the Elements step, is the Confirm Cancellation section. This confirmation screen comes after the customer has selected a cancellation reason and denies the treatment and pause options.

  • Customize the copy on the Exit confirmation screen. Using the text boxes in the right-side menu, you can edit the default copy that customers will see when they are on the screen to confirm their cancellation. Additionally, you can select Media content to add to this page for a more personalized experience.

  • Decide if you want to offer an alternative action on the cancellation confirmation screen. Depending on how aggressive you want to be in preventing cancellations, you can enable a link on the confirmation screen that would redirect the customer to the page you set in the 'Action URL'. By default, this feature is disabled.

  • Errored Experience Cancelation Request: This screen is shown if an error occurs while trying to save a customer. They will still have the option to cancel their subscription. You can edit the default language if you wish.

  • Contact Support Email: If there is an error, we will display this email to your customers to reach out to for support.

Customizing Final Exit Screen

Moving down the line on the Elements step, the next screen is the Final Exit Screen, which is what customers see after they've cancelled their subscription or accepted a treatement.

  • Lost Customer: This copy will be show to customers if they have proceeded through the and rejected the treatment offered, opting to ultimately cancel their subscription.

  • Saved a Customer: This copy would be shown to a customer who has accepted a treatment option and was thus "saved" by your flow.

  • Leave 'Contact Support for Cancel' disabled. By default, this feature is disabled. As compliance laws are constantly changing and getting stricter (especially in California), we highly recommend leaving that feature disabled to allow customers to cancel their subscriptions directly in their portal. You shouldn't generally require your customer to reach out to you directly to cancel, as this will lead to higher CX tickets for your team and greater friction with your consumers.

Styling The Engine

Next, you'll need to customize the styling to match your branding. You'll need the following handy:

  • Brand Logo - The logo will be shown at the top of the screen

  • Primary Color - This color will your button color and headline background color

  • Secondary Color - This color will be your font colors

  • Font - You'll need to choose your font from the default options provided in the dropdown.

If you'd like to add any CSS edits, you can do so in the CSS editor. For more information regarding the adding custom CSS , please see here.

Lastly, on the Experience Texts screen, you can edit general text that shows on multiple pages.


Step 2: Flow

Now that you have all the Elements set up, you're ready to set up the Flow. The Flow is where you map the treatments and pause options to the cancellation reasons/exit survey response. You can also set any necessary conditions on the treatments.

Setting Up the Exit Survey Response Flow

Here, you will decide which treatments you want available for each cancellation reason.

  • Click the reason you want to set the logic for. In the screenshot above, "Funds are a little tight right now" is the reason we are setting up the treatment map for.

  • Select/deselect the treatments you want offered/shown for the reason. By default, all the treatments will be selected. When you have multiple treatments selected, the machine learning will kick in to test and optimize the treatments based on their save rates.

  • Decide if you'll be offering pause options for the reason. Also by default, the pause options (skip months/billing cycles) will be enabled for all cancellation reasons. It is recommended that you leave it enabled, as skipping is a better alternative to canceling, should the customer decline the treatment they are offered.

Setting Up the Treatment Flow

The treatment flow is where you will be able to set conditions around showing the treatments to specific users. By default, the rule will be set to 'Activate for Everyone', meaning the treatment will be an option to show to everyone who selects the relevant cancellation reasons.

To set conditions on the treatment, select 'Activate With Conditions'.

When you click the conditions dropdown, you'll see several filter options you can leverage to segment treatments. Below are the two most common filters and their use cases:

Product Id and Product Variant Id - Use this filter to show the treatment to subscribers on certain products/variants. You can also use the filter to not show the treatment to subscribers on certain products/variants.

Number of Orders - Use this filter to show treatments to subscribers who have had certain number of orders on their subscriptions. You may have treatment discounts at different values for different order number thresholds.

Note: If you set multiple conditions (e.g. Product Id and Number of Orders), they work together as "AND" statements. Subscribers will need to meet all conditions to qualify for the treatment.

Setting Up the Pause Option Flow

Same as the treatment flow, you'll have the option to set conditions for showing or not showing the pause options. You would rarely limit pause to only certain subscribers, but the option is there for you, should you need it.


Step 3: Settings

Now that you're done with creating Elements and setting up the Flow, you'll need to tend to a few final touches before you're ready to activate the engine.

Confirming Your Engine Settings

The two things to pay attention to in Your Engine settings are:

  • Website URL - This is where your customers will be redirected to at the end of their cancellation flow, whether they accepted a treatment or cancelled their subscription.

  • RetentionEngine Tab Title - This is the browser tab title that customers will see on their device.

Confirming Notification Settings

The notification settings cover both notifications sent to your team and customers. This includes your team list, notifications sent to your team when certain actions are taken, notifications sent to customers when actions are taken, and general notification settings.

  • Edit List - Add/remove email addresses via 'Edit List' so the list only includes members on your team that you want receiving client notifications, if any.

  • Instant Gift Notifications - This notification is enabled by default, which sends your team an email whenever a gift treatment is claimed. Since the gift treatment you use should be the 'Automated Gift' treatment, it is recommended that you disable the 'Instant Gift Notification' toggle, as to not confuse your CS team.

  • Customer Notifications - Notifications are available for you to send to customers after certain actions are taken, but they are not necessary to send. The cancellation email also serves the same purpose as the cancellation email that is sent via Stay or Klaviyo. Please note that the emails are plain text and are not customizable. You can click the arrow icon to send yourself a test email.

  • Client Notifications - Likely, you do not want to receive a notification for every action, but if you do, select the ones you want. You can click the arrow icon to send yourself a test email as well.

Confirming Gaming Prevention Settings

Gaming prevention is built into RetentionEngine to prevent customers from "shopping around" for discount/gift incentives by canceling their subscriptions over and over again.

  • Gaming Prevention Days - By default, the gaming prevention is set to not show another discount or gift treatment to a customer for 60 days after they claim one.

Note: There are rare cases in which a customer may cancel their subscription, then reactivate it, then cancel it again, all within an hour of the first cancelation. If this is a common behavior for your customers, you may want to disable it the cooldown period so the customer can go through the cancellation flow again.


Announcement Banner

Make special announcements to your customers with a banner fixed at the top of your cancellation experience. Displays on the Exit Survey screen only.

Advanced Settings

  • RetentionEngine Link Generator: Need to send a link to RetentionEngine directly to a customer? Use this form to create a link.

  • Cancelation API Call URL: You can optionally provide an API endpoint that should be called when a customer cancels their account

  • Conditional End Screen Redirect: Add dynamic redirect links for each experience outcome * Conditional redirects that are left empty in this section will make use of the default redirect link.

  • Resolution Claimed Redirect URL: Once an offer is claimed, this is where the customer will be redirected.

  • Customer Canceled Redirect URL: Once a customer has canceled, this is where the customer will be redirected.

  • Company URL Name: Edit the company name for the engine URL.

Step 4: Activate Engine

Once you've completed steps 1–3, you're ready to publish your engine. All you need to do is toggle on the option highlighted below and when customers choose to cancel, they will follow the engine you've created above.

And just like that, your cancel flow is live!

Did this answer your question?