Recurly Billing Integration

Brightback's native integration with Recurly makes it easy for you to retain subscribers and revenue by reducing voluntary churn. By connecting Brightback to Recurly, you will be able to enable our four main billing integration use cases: 

  • Attribution - this validates a Brightback Save event by confirming a subscription is still valid when the Save event fires, then retrieving revenue values to calculate and apply revenue to your Brightback dashboards and reports
  • Enrichment - map fields from the Recurly subscription record to personalize your experiences, build custom Audiences for user targeting purposes   
  • Manage offers - directly pause, discount, extend, and update a subscription in Recurly based on Recurly Subscription ID when a customer accepts a Brightback offer
  • Manage cancels - directly cancel a subscription in Recurly when a user completes the cancel request, which can be configured to: include all active subscriptions on a Recurly Account record, to invoice users immediately for all outstanding charges, or to Prorate the subscription. 

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

  • Update a subscription directly in Recurly, following the valid submission of a cancel request or Offer from the Brightack Page.
  • Pull subscription data from Recurly into Brightback 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
  • validate that customers are still paying when Brightback classifies a customer as saved, by looking up the subscriber by their Recurly Account ID and confirming their payment status 
  • calculate the dollar amount in revenue that is saved (or churned) per session, which is a customer that shows intent to cancel by being directed to the Brightback cancel page 

Connecting Brightback to Recurly

In Recurly, head to the Integrations settings in the left sidebar menu.

Select API credentials.

You'll want to use a Private API key. Select Add a Private API key.

Name your API Key Brightback (so you know what you're using it for later) and add Notes if you'd like to remember how it's being used. You also will want to use a Write API key so we can update subscriptions on your behalf. However, if you don't want to give Brightback write access, Read-Only will work for our Attribution and Enrichment use cases. 

Identify that the API key will be used for a third-party application and select Other, and label as Brightback.

Save your changes and your API key will generate! Copy the API key and head back to the Brightback App.

In Brightback, head to the Settings in the lower left sidebar. Find Recurly under Integrations and select Connect.

Pop in the API key you copied in the last step, Save and Continue

You're now connected! Note: we allow you to also add a Test API Key that links to a Sandbox or dev environment, which can be used when generating a sample session via the Session Generator under Targeting. 

In order to use the Recurly integration, you'll need to enable it in settings and send along the Recurly Subscription ID in the request body of the installation snippet,. 

Activating the Integration

Once Recurly is connected, you will need to activate the core use cases of the integration in the Settings Page under Setup.

Enriching your subscription profile  

Once Recurly is connected, you can leverage Brightback's enrichment feature to reduce the engineering time and effort needed to install the Brightback.js snippet. With the integration enabled, Brightback will use the Recurly Subscription ID to lookup and key subscriber data in Recurly (such as first purchase date or billing frequency), and sync it back into Brightback to map to Brightback fields using Field Mappings located under 'Settings' (read below).  

Note: If you do not send a valid subscription id or have a valid connection to Recurly, Brightback will not be able to pull subscription information at load time. In this case, your subscriber would be routed to your control or default cancel experience, and any dynamic field data used for personalization will default to the fallback variables. 

Syncing and mapping Recurly fields into Brightback

Before you can successfully map Recurly data into Brightback, you must first ensure that you are capturing the Recurly Subscription ID via the Brightback.js, and have mapped this field to the Subscription ID in the field mappings page. 

Once successfully connected to Recurly, navigate to 'Field mappings' under Settings, to start mapping. For each Brightback field that you will map to, you must first specify the field data type (e.g. text, date, decimal, email, URL), then select the source field in Recurly, visible under the Recurly source in the menu dropdown. 

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. 

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

Processing Cancels in Recurly

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

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

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

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

Processing Offers in Recurly

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

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

Finally, you will use the "Billing" sidebar to browse and select the Billing coupon created above in Recurly, is applied to your customers' subscription when they accepts this offer!  

  • Pause a Recurly subscription: to automatically pause a Recurly subscription, you will first create a new Pause offer in Brightback, 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 Recurly Plan: to automatically change a Recurly subscription, create a new "Plan Change" offer in Brightback, 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 Recurly Plan: to automatically extend a Recurly subscription, create a new "Extension" offer type in Brightback, 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. 

Validate Saves and Attribute Revenue with Attribution 

The Attribution integration enables Brightback to cross-check your billing system to validate any Brightback Saved or Watch List customers haven't canceled or let their accounts lapse in other ways beyond Brightback, and calculate the dollar amount in revenue saved (or lost) per customer that hits your Brightback Page. Once you've enabled the Recurly Attribution integration, you'll see a Revenue data card start to populate in the Brightback Settings menu showing you the last sync, and how many accounts have matched to a customer in Recurly.

Processing customized Cancels and Saves in Recurly

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

  • Brightback Webhooks - when a customer cancels or accepts an offer (e.g. 1 free month, pause, etc.), then Brightback's Webhook event URL triggers an action in Recurly. Note: you would need to have already set up a Coupon in Recurly, then the Brightback 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 Brightback calls a URL, that can trigger an in-biling action (e.g. https://netflix.com/free-month?customer_id=12345&interval=1).

Passive deflects (scenario 3, above) do not need any subscription modifications in Recurly, and the canceler is redirected back to a returning URL specified in the Brightback.js snippet ('save_return_url').

Need a Brightback developer sandbox for testing the integration with a Recurly dev account? Please contact support@brightback.com or your account manager, who can promptly set up your developer account.   

Install your snippet and send cancel sessions to Brightback

The final step to using our Recurly integration is to send cancel sessions to Brightback with the unique subscription id populated dynamically in the snippet. 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/?compiled=true"
></script>
<script type="text/javascript">
  if (window.Brightback) {
    window.Brightback.handleData({
      app_id: "APP_ID", //your Brightback APP_ID
      subscription_id: "5ca5ee44aca90909d5effa4884b19269", //dynamically populated Recurly subscription id
    });
  }
</script>

You of course can send other properties like usage activity in a custom object for personalization and targeting.  For more info on that or other installation options check out our full article on installing Brightback.

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.