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:
app_id
This article describes passing data into Chargebee Retention via custom fields in the code snippet.
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:
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. |
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]]])
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