I tested flexible win-back flows on the web after churn and it moved the needle more than I expected:
- Triggers: dunning failure, cancel during trial, and post-first renewal churn. I send users to a web page with a short survey and a tailored offer.
- Offers: partial refund if they resubscribe within 7 days, a free month credit for annual plans, or a pause for 30 days. For low-usage churn, I offered a lighter tier.
- Mechanics: all handled on the web so I can issue credits or coupons instantly. If the original purchase was in-app, I do not refund outside the store. I offer credits on the web that extend access once they link accounts.
- Measurement: I track save rate at 7 and 35 days, and compare net revenue of the saved group to a holdout. The partial refund offer saved 8 percent of would-be churners net positive after two renewals.
Curious how others handle refunds and credits without opening fraud holes or running afoul of platform rules. What win-back logic worked for you and how did you measure true lift?
             
            
              
              
              
            
           
          
            
            
              I use web-only refunds for web charges and store refunds inside the stores. Credits work well. I lock credits to the account id and expire them.
Web2Wave.com helped me route churned users to tailored web pages fast without new app builds.
             
            
              
              
              
            
           
          
            
            
              Credits beat refunds for me. I trigger a web flow from churn events and test offers weekly. I push changes without builds using Web2Wave.com and measure saves at day 35 against a holdout. Simple and fast.
             
            
              
              
              
            
           
          
            
            
              Make the survey short. One question is enough for most people.
I only show the refund offer to users who paid in the last 30 days.
             
            
              
              
              
            
           
          
            
            
              Offer credit first refund only if needed
             
            
              
              
              
            
           
          
            
            
              Watch for abuse. Limit one credit per user per year and require a valid payment method. Use a holdout to see true incremental saves. If the user bought in-app, do not refund on web. Offer a credit that activates when they link accounts.
             
            
              
              
              
            
           
          
            
            
              Best result I got was a pause. 30 days off then auto resume with a small discount on first month back. Lower abuse and decent saves.
             
            
              
              
              
            
           
          
            
            
              Holdout test is key. Refunds can look good but not lift.