Docs

Retention

Passing Data to Chargebee Retention

Pass data into Chargebee Retention automatically to enrich subscriber profiles, personalize your page content, define Audiences for targeting, improve your in-app reporting and insights, and/or to augment Chargebee Retention's machine learning-based routing models (if used).

You can pass data to Chargebee Retention by:

This article describes passing data into Chargebee Retention via custom fields in the code snippet.

Which custom fields does Chargebee Retention recommend and why?

To help justify the effort of adding custom fields into the snippet, here are example data fields that Chargebee Retention customers send, along with the use cases to illustrate their value.

FieldDescriptionValueExample Use Cases
First purchase dateFirst date of purchaseTenure-based targeting

Target early, mid, late lifecycle customers w/ different offer types (e.g. late customers = pause, early = discount)

Revenue valueAmount paid per billing interval

Value-based targeting 


Revenue Insights

Targeting based on current subscription revenue, for example:

  • align discounts and promo strengths with revenue value.  

  • exclude low value subs from being displayed  offers
  • making concierge or loyalty offers to high value customers. 


Revenue Insights: pull revenue into Chargebee Retention to show the revenue impact of your retention tests 

Billing term

Current billing frequency (e.g. weekly, monthly, quarterly, annual, etc.)

Term-based targeting and eligibility

Offer plan duration changes (monthly to annual, weekly to bi-weekly, etc.), or include as a targeting criteria (e.g. only offer plan extensions to monthly customers)

Plan NamePlan the customer is on (e.g. by plan, by meals/week, by tier)

Value-based targeting 


Revenue Insights

Offer customers option to switch to a different plan, or to a lower plan (downgrade) instead of canceling

Number of purchasesAll time purchase madeEnables targeting based on total payments

More loyal customers are more likely to purchase again, so offer pauses to your highest volume customers who just need a short break.
Optimize experiences by targeting for audience profiles who are more likely to repurchase x number of times. 

LTVAll time revenue paidEnables targeting based on LTV tranche

Make stronger offers to the most loyal and valuable customers who are more likely to repurchase in the future. Or, target high LTV customers with bonus loyalty incentives.

Product Engagement (frequency)E.g. logins last 30 days, x event last 30 days

Personalized loss aversion on the page


Engagement-based targeting

Show engaged users what they will lose with your software vs. showing inactive users resources to help then get re-engaged. 


Present alternative offers (e.g. pauses, extensions, switches, discounts, support/training) based on engagement

Product Engagement (lifetime)E.g. all-time logins, all-time x eventsPersonalized loss aversionEngagement-based targeting

Personalize the cancel experience based on the maturity of your users in ways that manual segmentation could not by leveraging Chargebee Retention AI.

Allowed date formats

Chargebee Retention validates that data passed via the snippet meet the below date formats:

datetime          = time | date-opt-time
time              = 'T' time-element [offset]
date-opt-time     = date-element ['T' [time-element] [offset]]
date-element      = std-date-element | ord-date-element | week-date-element
std-date-element  = yyyy ['-' MM ['-' dd]]
ord-date-element  = yyyy ['-' DDD]
week-date-element = xxxx '-W' ww ['-' e]
time-element      = HH [minute-element] | [fraction]
minute-element    = ':' mm [second-element] | [fraction]
second-element    = ':' ss [fraction]
fraction          = ('.' | ',') digit+
offset            = 'Z' | (('+' | '-') HH [':' mm [':' ss [('.' | ',') SSS]]])

Example snippet with various property types:

Note

Arrays are not a supported field type. Please break up arrays into single element key/value pairs in order to access them in the Experience and Audience Manager

window.Brightback.handleDataPromise({
  app_id: 'APP_ID',                             // String 
  email: 'jane@Chargebee Retention.com',        // String 
  account: {                               
        internal_id: '123abc',                  // String 
        value: 49.99,                           // Decimal
        created_at: '2020-02-22T06:55:59.000Z'  // Timestamp
      },
  custom: {                                     // Use to add additional parameters 
    additional_fields: {                        // Nested fields are okay,  
          anything_else: ' '                    // Arrays are not supported
    },
    offer_url: 'https://example.com/pause',     // String 
    offer_eligible: true                        // Boolean 
  }
});

To find out how your account Admin can utilize variables by mapping fields check out our help document here.

The Experience and Audience manager supports the following property types

strings, integers or decimal numbers, boolean, dates as numeric strings or literals

Was this article helpful?