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 can:

  • validate that customers are still paying when Brightback classifies a customer as saved, by looking up the subscriber by their Recurly 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 
  • 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
  • cancel a  subscription directly in Recurly, following the valid submission of a cancel request from a Brightback page

Connecting Brightback to Recurly

In order for the Recurly integration to work, you must first connect your Recurly account to Brightback by creating a restricted API key, then you need the unique subscription reference id of the canceller. This unique id is captured dynamically from the brightback.js code snippet (or alternatively, may be mapped from your Salesforce CRM account if it exists there) when the user first initiates a session by clicking to cancel. If you haven't already, review the documentation on how to install the brightback javascript snippet

Connect the Recurly integration in just a few simple steps, starting in the 'Settings' tab located in the lower left of the navigation bar of the Brightback application. View the full step-by-step guide to connecting Recurly to Brightback. 

Note: to enable Recurly to process the cancellation and include enrichment data you must create an API key with write access. 

Once Recurly is connected, you will immediately benefit from save validation and revenue attribution as well as processing cancellations which can be enabled during onboarding.

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 RecurlyID 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 sub 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. 

Example Recurly payload

  "recurly.subscription.account.email": "jane@brightback.com",
  "recurly.subscription.account.last_name": "Jane",
  "recurly.subscription.coupon_redemptions": "BRIGHTBACK10",
  "recurly.subscription.plan.id": "123456QWERTY",
  "recurly.subscription.unit_amount": 99,
  "recurly.subscription.account.id": "1234",
  "recurly.subscription.plan.interval_unit": "months",
  "recurly.subscription.plan.code": "individual_trial_annual",
  "recurly.subscription.activated_at": "1970-01-01T00:00:00Z",
  "recurly.subscription.created_at": "1970-01-01T00:00:00Z",
  "recurly.subscription.plan.interval_length": 12,
  "recurly.subscription.id": "CADBED4B846B483BB3C25A63E1DA4E72",
  "recurly.subscription.trial_started_at": "1970-01-01T00:00:00Z",
  "recurly.subscription.account.first_name": "Jane Brightback",
  "recurly.subscription.account.created": "1970-01-01T00:00:00Z",<br>

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

Processing Cancels and Saves in Recurly

The Brightback cancel flow works with Recurly in a number of ways, including enriching the subscriber data record in Brightback, validating and attributing revenue for saves or cancels, and directly or indirectly applying subscription changes against the Recurly subscriber ID. This section deals with how to process cancels and saves in Recurly when triggered by cancel/save events in Brightback, as clarified in the scenario below.

The cancel user flow (below) starts when the subscriber clicks "cancel" in your site or app. This loads the brightback.js snippet, generates a new session in Brightback and returns the cancel page URL that the user will be redirected to (Brightback can test and evolve multiple versions of the cancel page experience). The snippet also captures the subscriber data included in the payload. The cancel session has three potential outcomes: 1) subscriber cancels, 2) subscriber actively deflects from canceling by accepting an offer, 3) subscriber passively deflects by closing their browser tab, bouncing, or clicking 'nevermind' on the Brightback page experience. 

In the first two scenarios above, the cancel or offer accept events trigger real-time billing changes that process the cancels and offers in Recurly. These triggers can be implemented using one of the following approaches: 

  • Directly via the Brightback integration (for cancels only): enable 'read_write' access when connecting Recurly to Brightback. When a customer submits a valid cancel request via your Brightback page, Brightback cancels the matching Recurly subscription ID. Confirm by navigating to Customers | Subscriptions in Recurly, and confirming that the customers' subscription is pending cancel. Note: direct integration support for processing saves and offers are not yet available. Currently, use the Webhooks or Pass Thru URLs methods indicated below to do so, or you can configure Brightback to process manually via support case creation for your CX team). 

  • 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.    

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

Still need help? Contact Us Contact Us