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
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": "email@example.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 firstname.lastname@example.org 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 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 email@example.com or your account manager, who can promptly set up your developer account.