Retain Customer by Increasing the Subscription Billing Interval
Overview
This guide shows you how to implement the Update Subscription Item endpoint to change a subscription’s billing interval from shorter to longer, effective on the next billing date.
Use case
- On May 8th, a customer clicks through an email reminder to manually renew an annual Cloudify subscription, which has a monthly billing interval, by the July 1st renewal date.
The email redirects the customer to a landing page that displays the following options:

This image is for illustration purpose only
- The customer selects the annual renewal option and then clicks a button to proceed. The page uses the Update Subscription Item endpoint to change the subscription from one that has a monthly billing interval to one that has an annual billing interval.
- On July 1st, the Cleverbridge platform automatically bills the customer $900 for the next annual billing interval.
Implement Update Subscription Item endpoint
Before you start
Make sure that the subscription:
-
has the status
Active -
contains only a single item
-
is effective at the time of the next billing date
-
renews annually
ImportantGet the customer's consent for changes to subscriptions. To avoid chargebacks and customer inquiries, it is also essential that you coordinate all price increases with Client Experience.
In the European Economic Area (EEA), Strong Customer Authentication (SCA) is required for recurring electronic payments when the amount changes. This means that some of your customers will have to authenticate their payment, which in turn might impact the renewal success rate.
For more information, see Best Practices: Obtain Customer Consent.
Parameters
To update the customer's subscription data in the Cleverbridge platform, set the parameters in the Update Subscription Item API call to the values listed in the table.
Parameter | Type | Required | Example | Notes |
|---|---|---|---|---|
AlignmentSettings | obj | No | AlignToCurrentInterval: false GetCustomerPricePreviewOnly: false | The subscription is changed as requested in the API call. |
ProductId | int | Yes | 292124 | Product ID for the new product (in this use case, it is the ID of the product with an annual billing interval). |
RunningNumber | int | Yes | 1 | Running number of the item in the subscription. |
SubscriptionId | str | Yes | S67204221 | The unique identifier of the primary subscription. |
UpdateAction | str | No | upgrade | The value set does not affect transaction processing. |
Other considerations
-
Changes made by this function, including the price and/or quantity, apply to all future billing events unless changed subsequently.
-
Use of the
CustomerPriceparameter in the API response is optional. Before doing so, see Understand Customer Price. -
Use of the
AlignmentSettingsparameter for the subscription in the API response is required. Before doing so, see Get Started with Subscription API > Alignment Settings. -
When you add a subscription item, a history of revisions is created automatically. It is important to confirm that the current version receives the update.
For more information on which API endpoint to use, see Guidelines for When to Use UpdateSubscriptionItem vs. UpdateSubscriptionItemPrice.
NoteThe
UpdateActionparameter is currently used for documentation and tracking only. The value set does not affect transaction processing.The supported values are as follows:
- For upgrades, set the parameter to
upgrade(or1for JSON)- For downgrades, set the parameter to
downgrade, (or2for JSON)- For all other changes, set the parameter to
update(or0for JSON)
Usage Notes
Changing the billing interval of a customer’s subscription is achieved by setting up two products in the Cleverbridge platform, one for each of the two billing intervals. Usually, these products are functionally identical to each other, but are not required to be.
Diagram
flowchart LR
classDef mainColor fill:#ffffff,color:#96C34B,stroke:#96C34B,stroke-width:2px;
A([" May 8th<br/>Customer selects the annual renewal option <br/> "]):::mainColor
--> B([" May 8th<br/>Page uses <i>Update Subscription Item</i><br/>to switch from monthly to annual billing <br/> "]):::mainColor
--> C([" July 1st<br/>Cleverbridge automatically bills<br/>$900 for the next annual billing interval <br/> "]):::mainColor
Updated 6 days ago