Retrieves the cancellation management and retention settings for the authenticated shop. These settings control the subscription cancellation flow, retention strategies, and customer feedback collection when subscribers attempt to cancel their subscriptions.
What is Cancellation Management? Cancellation management is a retention system that helps merchants reduce subscription churn by understanding why customers cancel and offering alternatives before they leave. It includes cancellation flows, feedback collection, retention offers (discounts, pauses, frequency changes), and automated win-back strategies.
Configuration Components:
1. Cancellation Flow Settings:
2. Cancellation Reasons & Feedback:
Common Cancellation Reasons:
3. Retention Offers (Save Flow):
Example Retention Logic:
Reason: "Too expensive"
→ Offer: 20% discount for next 3 months
→ Offer: Switch to smaller/cheaper variant
Reason: "Have too much inventory"
→ Offer: Pause for 1-3 months
→ Offer: Change from monthly to every 2 months
→ Offer: Skip next 2 deliveries
Reason: "Product quality issues"
→ Offer: Free replacement on next order
→ Offer: Try different product variant
→ Route to customer support
4. UI/UX Configuration:
5. Automation & Notifications:
6. Metrics & Analytics:
7. Advanced Features:
Cancellation Flow Examples:
Basic Flow (No Retention):
Advanced Retention Flow:
Use Cases:
Important Notes:
Best Practices:
Legal & Compliance:
Authentication: Requires valid X-API-Key header
curl --request GET \
--url https://subscription-admin.appstle.com/api/external/v2/cancellation-managements/{id}{
"id": 12345,
"shop": "example-shop.myshopify.com",
"enabled": true,
"allowSelfServiceCancellation": true,
"requireSupportContact": false,
"minimumSubscriptionDays": 30,
"cancellationTiming": "END_OF_BILLING_CYCLE",
"requireCancellationReason": true,
"allowCustomReason": true,
"cancellationReasons": [
"Too expensive",
"Have too much product",
"Product quality issues",
"Switching to competitor",
"Delivery problems",
"Don't need anymore",
"Temporary situation (moving, travel, etc.)",
"Other"
],
"collectFeedback": true,
"feedbackRequired": false,
"showExitSurvey": true,
"retentionOffersEnabled": true,
"retentionStrategies": {
"Too expensive": [
{
"type": "DISCOUNT",
"value": "20",
"duration": 3,
"description": "20% off for 3 months"
},
{
"type": "FREQUENCY_CHANGE",
"description": "Deliver less often to save money"
}
],
"Have too much product": [
{
"type": "PAUSE",
"maxDuration": 90,
"description": "Pause for up to 3 months"
},
{
"type": "SKIP",
"skipCount": 2,
"description": "Skip your next 2 deliveries"
},
{
"type": "FREQUENCY_CHANGE",
"description": "Switch to every 2 months"
}
],
"Product quality issues": [
{
"type": "SUPPORT_CONTACT",
"description": "Let us make it right - contact support"
},
{
"type": "PRODUCT_SWAP",
"description": "Try a different product"
}
]
},
"confirmationFlow": {
"multiStep": true,
"showAlternatives": true,
"requireConfirmation": true,
"cooldownPeriod": 24
},
"notifications": {
"sendCustomerConfirmation": true,
"sendMerchantNotification": true,
"merchantEmail": "subscriptions@example.com",
"enableWinBackCampaigns": true,
"winBackSchedule": [
30,
60,
90
]
},
"analytics": {
"trackCancellationRate": true,
"trackReasonFrequency": true,
"trackRetentionOfferAcceptance": true,
"alertOnHighChurnRate": true,
"churnRateThreshold": 15
},
"uiSettings": {
"buttonText": "Cancel Subscription",
"buttonColor": "#DC3545",
"warningMessage": "We'll be sorry to see you go! Before you cancel, let us try to help.",
"confirmationMessage": "Your subscription has been cancelled. You will receive a confirmation email shortly.",
"thankYouMessage": "Thank you for being a subscriber. We hope to see you again!"
},
"createdAt": "2024-01-15T10:30:00Z",
"updatedAt": "2024-02-20T14:45:00Z"
}Documentation Index
Fetch the complete documentation index at: https://developers.appstle.com/llms.txt
Use this file to discover all available pages before exploring further.
API Key (Deprecated - Use Header X-API-Key instead)
Cancellation management configuration successfully retrieved
CANCEL_IMMEDIATELY, CANCELLATION_INSTRUCTIONS, CUSTOMER_RETENTION_FLOW, CANCEL_AFTER_PAUSE PAUSE_IMMEDIATELY, PAUSE_INSTRUCTIONS, CUSTOMER_RETENTION_FLOW curl --request GET \
--url https://subscription-admin.appstle.com/api/external/v2/cancellation-managements/{id}{
"id": 12345,
"shop": "example-shop.myshopify.com",
"enabled": true,
"allowSelfServiceCancellation": true,
"requireSupportContact": false,
"minimumSubscriptionDays": 30,
"cancellationTiming": "END_OF_BILLING_CYCLE",
"requireCancellationReason": true,
"allowCustomReason": true,
"cancellationReasons": [
"Too expensive",
"Have too much product",
"Product quality issues",
"Switching to competitor",
"Delivery problems",
"Don't need anymore",
"Temporary situation (moving, travel, etc.)",
"Other"
],
"collectFeedback": true,
"feedbackRequired": false,
"showExitSurvey": true,
"retentionOffersEnabled": true,
"retentionStrategies": {
"Too expensive": [
{
"type": "DISCOUNT",
"value": "20",
"duration": 3,
"description": "20% off for 3 months"
},
{
"type": "FREQUENCY_CHANGE",
"description": "Deliver less often to save money"
}
],
"Have too much product": [
{
"type": "PAUSE",
"maxDuration": 90,
"description": "Pause for up to 3 months"
},
{
"type": "SKIP",
"skipCount": 2,
"description": "Skip your next 2 deliveries"
},
{
"type": "FREQUENCY_CHANGE",
"description": "Switch to every 2 months"
}
],
"Product quality issues": [
{
"type": "SUPPORT_CONTACT",
"description": "Let us make it right - contact support"
},
{
"type": "PRODUCT_SWAP",
"description": "Try a different product"
}
]
},
"confirmationFlow": {
"multiStep": true,
"showAlternatives": true,
"requireConfirmation": true,
"cooldownPeriod": 24
},
"notifications": {
"sendCustomerConfirmation": true,
"sendMerchantNotification": true,
"merchantEmail": "subscriptions@example.com",
"enableWinBackCampaigns": true,
"winBackSchedule": [
30,
60,
90
]
},
"analytics": {
"trackCancellationRate": true,
"trackReasonFrequency": true,
"trackRetentionOfferAcceptance": true,
"alertOnHighChurnRate": true,
"churnRateThreshold": 15
},
"uiSettings": {
"buttonText": "Cancel Subscription",
"buttonColor": "#DC3545",
"warningMessage": "We'll be sorry to see you go! Before you cancel, let us try to help.",
"confirmationMessage": "Your subscription has been cancelled. You will receive a confirmation email shortly.",
"thankYouMessage": "Thank you for being a subscriber. We hope to see you again!"
},
"createdAt": "2024-01-15T10:30:00Z",
"updatedAt": "2024-02-20T14:45:00Z"
}