Docs

Chargebee Billing Integration Features 

Chargebee Retention's native integration with Chargebee Billing makes it easy for you to retain subscribers and revenue by reducing voluntary churn. By connecting Chargebee Retention to Chargebee Billing, you will get access to our core Billing Integration features, along with a few proprietary features that are built specifically for Chargebee Merchants. This document will take you through each of these features in more detail and explain how they work. We also recommend checking out our article on the Steps to get Chargebee Retention ready to launch for Chargebee Billing Merchants where we will guide you through the process of configuring your Chargebee Retention App to go live with Chargebee.

Core Billing Features 

  • Enrichment - map fields from the Chargebee subscription record to personalize your experiences, build custom Audiences for user targeting purposes
  • Manage offers - directly pause, discount, extend, and update a subscription in Chargebee based on Chargebee Subscription ID when a customer accepts a Chargebee Retention offer
  • Manage cancels - directly cancel a subscription in Chargebee when a user completes the cancel request, which can be configured to: include all active subscriptions on a Chargebee Account record, to invoice users immediately for all outstanding charges, or to Prorate the subscription.
  • Routing Traffic to Chargebee Retention (via Customer Portal, Chargebee Retention.JS or Retention API) - allows you to deploy Chargebee Retention Cancel Experiences to take over the subscription cancellation process with either no-code or low-code deployments.
  • Save Validation + Attribution - Time-Based Attribution this validates a Chargebee Retention Save event by confirming a subscription is still valid when the Save event fires, then retrieving revenue values to calculate and apply the revenue to your Chargebee Retention dashboards and reports
  • Retained Revenue Impact - Retained Revenue Impact pulls in key Repurchase Metrics from your Chargebee Billing Invoices so you can fully quantify the impact of your Retention Integration on downstream orders.

These use cases are core to Chargebee Retention and allow you to perform some of the key elements of your cancel flow, including:

  • Route canceling users to a Chargebee Retention cancel page when they click on the "Cancel Subscription" link in their Customer Portal
  • Pull subscription data from Chargebee Billing into Chargebee Retention to enrich the profile of your customer for using in targeting custom audiences, personalizing the cancel experience, and segmenting data records to build richer save and churn reports
  • Process cancels and offers directly to billing, either using Chargebee Retention Webhooks, pass-thru URLs, or by posting changes directly to the subscription via the Chargebee Retention Integration
  • Validate that my saves are still subscribed when we mark them as a save and tie revenue from my CB billing system into my in-app Chargebee Retention Reports

Connecting Chargebee Retention to Chargebee 

In order for the Chargebee integration to work, you must first connect your Chargebee account to Chargebee Retention. We provide two options to do so, which we cover in more detail in this article. We recommend that you use the Signup API from within Chargebee, as this is the most seamless way to get started with Chargebee Retention.

Once you have integrated, you will see the Chargebee option under Settings > Setup > Billing System. Here you have the option to enable the various features we support for our Chargebee Billing <> Chargebee Retention integration. By default we enable "Enrichment" as this is required for you to use Manage Offers and Manage Cancels effectively. The rest can be toggled on based on your desired settings, but we typically recommend enabling all five of these.

Syncing and mapping Chargebee fields into Chargebee Retention 

Go ahead and map as many fields as you would like. Mapped fields can be used to personalize the cancel page, target the cancel experience/offers, and in reporting via the customer's page.

Example Chargebee payload 

{
"integration_type": "BILLING",
"data_type": "CHARGEBEE",
"display_name": "Chargebee",
"objects": [
  {
    "requires_external_id": false,
    "fields": [
      {
        "name": "subscription.id",
        "label": "Subscription Id",
        "type": "text",
        "maps_to_type": [
          "text"
        ]
      },
      {
        "name": "subscription.created_at",
        "label": "Subscription Create Date",
        "type": "date",
        "maps_to_type": [
          "date"
        ]
      },
      {
        "name": "subscription.activated_at",
        "label": "Subscription Activation Date",
        "type": "date",
        "maps_to_type": [
          "date"
        ]
      },
      {
        "name": "subscription.billing_period",
        "label": "Billing Period",
        "type": "integer",
        "maps_to_type": [
          "integer"
        ]
      },
      {
        "name": "subscription.billing_period_unit",
        "label": "Billing Period Unit",
        "type": "text",
        "maps_to_type": [
          "text"
        ]
      },
      {
        "name": "subscription.started_at",
        "label": "Subscription Start Date",
        "type": "date",
        "maps_to_type": [
          "date"
        ]
      },
      {
        "name": "subscription.mrr",
        "label": "Subscription MRR",
        "type": "decimal",
        "maps_to_type": [
          "decimal"
        ]
      },
      {
        "name": "subscription.customer.id",
        "label": "Customer Id",
        "type": "text",
        "maps_to_type": [
          "text"
        ]
      },
      {
        "name": "subscription.customer.first_name",
        "label": "Customer First Name",
        "type": "text",
        "maps_to_type": [
          "text"
        ]
      },
      {
        "name": "subscription.customer.last_name",
        "label": "Customer Last Name",
        "type": "text",
        "maps_to_type": [
          "text"
        ]
      },
      {
        "name": "subscription.customer.company_name",
        "label": "Customer Company Name",
        "type": "text",
        "maps_to_type": [
          "text"
        ]
      },
      {
        "name": "subscription.customer.email",
        "label": "Customer Email",
        "type": "text",
        "maps_to_type": [
          "text"
        ]
      },
      {
        "name": "subscription.customer.created_at",
        "label": "Customer Create Date",
        "type": "date",
        "maps_to_type": [
          "date"
        ]
      },
      {
        "name": "subscription.plan_id",
        "label": "Plan Id",
        "type": "text",
        "maps_to_type": [
          "text"
        ]
      },
      {
        "name": "subscription.plan_amount",
        "label": "Plan Amount",
        "type": "decimal",
        "maps_to_type": [
          "decimal"
        ]
      },
      {
        "name": "subscription.plan_quantity",
        "label": "Plan Quantity",
        "type": "text",
        "maps_to_type": [
          "text"
        ]
      },
      {
        "name": "subscription.plan_unit_price",
        "label": "Plan Unit Price",
        "type": "integer",
        "maps_to_type": [
          "integer"
        ]
      }
    ]
  }
]
}

Missing a field? Please contact retention-support@chargebee.com and we'll look into adding it.

Processing Cancels in Chargebee 

When a user completes a cancel on the Chargebee Retention page, we will update Chargebee to mark the subscription as canceled. This process works as follows:

  • Cancel the matching Chargebee Subscription ID via the Chargebee integration. When a customer submits a valid cancel request via your Chargebee Retention page, Chargebee Retention cancels the matching Chargebee Subscription ID. Confirm by navigating to Customers | Subscriptions in Chargebee, and confirming that the customers' subscription is pending cancellation.

You can choose how to apply the cancel in Chargebee under the Setup tab for the integration.

Select the options that match how you currently handle cancellations in Chargebee and hit Save & Close.

Processing Offers in Chargebee Billing 

We support the ability for you to map Discounts, Pauses, Extensions, and Plan Changes directly to Chargebee Subscriptions. When the user selects one of these Offers in the cancel flow, we will apply it directly to the corresponding Subscription in Chargebee. To get started with Offer Management, go ahead and enable this toggle on the Settings page.

Next, create a "Discount" type offer in Chargebee Retention, where you will finalize the offer content, button copy, and define where the offer appears on your Chargebee Retention page ("Placement").

Pause a Chargebee subscription 

To automatically pause a Chargebee subscription, you will first create a new Pause offer in Chargebee Retention, per the steps above, this time selecting the "Pause" offer type. However, when configuring billing, you will now have the option to define a pause duration, based on the pause Duration and Interval (below). An example here might be to test a 2 month Pause of your product/service, targeting customers who do not intend to use it for a period of time (e.g. are going on vacation or project has delayed).

Change a Chargebee Plan 

To automatically change a Chargebee subscription, create a new "Plan Change" offer in Chargebee Retention, per the steps above. When configuring billing, simply select a plan from the available list in the dropdown, which will be automatically updated upon offer user accepts this offer type.

Extend a Chargebee Plan 

To automatically extend a Chargebee subscription, create a new "Extension" offer type in Chargebee Retention, per the steps above. When configuring billing, simply select the Duration and the Interval from the available list in the Extension dropdown. An example here might be to offer an extended trial of your product/service, such that your customer still retains full use and control over their account. Note if you use the Calendar Billing feature on Chargebee Billing to configure a specific billing date, the extension duration must align to the billing date. Please refer to this page for more details on Calendar Billing.

Route Canceling Subscribers to Chargebee Retention Page 

For Chargebee Merchants, Chargebee Retention provides three primary methods to route canceling subscribers to a Chargebee Retention Experience:

  • Customer Portal
  • Retention API
  • Chargebee Retention.JS Snippet

Customer Portal 

If you are using the Customer Portal to manage your subscription cancellation flow, you can now deploy Chargebee Retention without writing any code.

We cover how to set this up in more detail in this article. Right now this feature has to be enabled on a per-customer basis, so if you are using the Customer Portal and would like to integrate with Chargebee Retention, please reach out to your TAM or retention-support@chargebee.com and we will assist you with setting this up.

Retention API 

You can now integrate Chargebee Retention and Chargebee using the Retention API that is native to Chargebee's existing Billing APIs.

We cover how to set this up in more detail in this article. You will get the Retention API instructions in your Configure Chargebee settings if you complete the Chargebee Singup flow.

Chargebee Retention.JS Code Snippet 

If you are not using the Chargebee Customer Portal and would rather use a JS snippet than an API, you have the option to use the Chargebee Retention.JS Code Snippet to deploy the Chargebee Retention Cancel Button to your account management page. Below is an example of the minimum properties you would need to send in order to create unique cancel sessions.

<a id="bb-cancel" href="/fallback">Cancel</a>
<script type="text/javascript" src="https://app.brightback.com/js/current/brightback.js"></script>
<script type="text/javascript">

  if (window.Brightback) {
    window.Brightback.handleData({
      app_id: 'APP_ID',
      email: 'jdoe@example.com',
      account: {
        internal_id: '1234AZ55'
    }
  });
}

</script>

You will also need to ensure you pass the Chargebee Subscription ID for that subscription via the Chargebee Retention JS. This ChargeBee Subscription ID is captured dynamically from the Chargebee Retention.js code snippet (or from your Salesforce CRM account) when the user first initiates a session by clicking to cancel and it is required for us to be able to process cancels and offers in your experience. If you haven't already, review the documentation on how to install the Chargebee Retention javascript snippet.

Save Validation + Attribution 

The Time-Based Attribution feature enables Chargebee Retention to cross-check your billing system to validate any Chargebee Retention Saved or Watch List customers haven't canceled or let their accounts lapse in other ways beyond Chargebee Retention, and calculate the dollar amount in revenue saved (or lost) per customer that hits your Chargebee Retention Page.

Retained Revenue Impact Reporting 

The Retained Revenue Impact Reporting feature adds Repurchase Metrics such as First Time Repurchase Revenue, Total Repurchase Orders, Average Repurchase Orders, Cumulative Retained Revenue and Winback Metrics such as First Winback Rate, Total Winback Orders, Average Winback Orders, Cumulative Winback Revenue. This allows you to quantify the financial impact of your retention efforts further so that you can understand how Deflects and Cancels are converting into downstream orders.

Processing customized Cancels and Saves in Chargebee 

If your Chargebee account is not configured properly, or you don't use Chargebee to manage subscriptions, you may alternatively automatically cancel or modify your subscriptions using Chargebee Retention's webhooks or pass through URLs (which requires some engineering to set up), as follows:

  • Chargebee Retention Webhooks - when a customer cancels or accepts an offer (e.g. 1 free month, pause, etc.), then Chargebee Retention's Webhook event URL triggers an action in Chargebee Billing. Note: you would need to have already set up a Coupon in Chargebee, then the Chargebee Retention webhook will apply the coupon to the actual customer.
  • Pass Thru URLs - when a customer cancels or accepts an offer (e.g. 1 free month) then Chargebee Retention calls a URL, that can trigger an in-biling action (e.g. https://netflix.com/free-month?customer_id=12345&interval=1).

Need a Chargebee Retention developer sandbox for testing the integration with a Chargebee dev account? Please contact retention-support@chargebee.com or your account manager, who can promptly set up your developer account.

Was this article helpful?
Loading…