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.

Field Description Value Example Use Cases
First purchase date First date of purchase Tenure-based targeting Target early, mid, late lifecycle customers w/ different offer types (e.g. late customers = pause, early = discount)
Revenue value Amount 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 Name Plan 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 purchases All time purchase made Enables 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. 
LTV All time revenue paid Enables 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 events Personalized 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 


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

  app_id: 'APP_ID',                             // String 
  email: 'jane@Chargebee',        // 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: '',     // 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?