Ridurre il churn degli abbonamenti su Polar
Come Polar gestisce disdetta a fine periodo e revoca, nuovi tentativi sui pagamenti falliti, customer portal, sconti, motivi di disdetta e webhook.
Polar ti offre più strumenti contro il churn di quanto ti aspetteresti da una piattaforma di fatturazione giovane: disdetta a fine periodo che il cliente può annullare, motivi di disdetta registrati, un’opzione di pausa e nuovi tentativi automatici sui rinnovi falliti. Questa guida spiega come funziona ciascun elemento e come aggiungere sopra un passo di retention e il win-back.
Si attiene alla documentazione di Polar: managing subscriptions, recovering failed payments, customer portal, discounts, update subscription, webhook events, analytics, fees e il changelog (tutti consultati a novembre 2026). La documentazione di Polar cambia in fretta, quindi verifica la versione dell’API che usi.
Polar è il merchant of record
Polar vende ai tuoi clienti come merchant of record, gestendo imposte, pagamenti e contestazioni. La sua pagina sulle commissioni dice che ogni contestazione costa 15 $, vinta o persa, dedotti dal tuo saldo. La sua pagina sulle verifiche degli account spiega che Polar tiene d’occhio i tassi di chargeback e, per gli ordini sotto un certo valore, può rimborsare automaticamente quando riceve un segnale precoce dai circuiti delle carte. Non rispondi tu alle contestazioni, ma il modo in cui gestisci le disdette incide direttamente su quante ne ricevi.
Due modi in cui un abbonamento finisce
La pagina managing subscriptions di Polar descrive due percorsi.
| Disdetta a fine periodo | Revoca | |
|---|---|---|
| Come | PATCH /v1/subscriptions/{id} con cancel_at_period_end: true, o l’interruttore nella dashboard |
DELETE /v1/subscriptions/{id} |
| Accesso | Mantenuto fino a current_period_end |
Termina subito, benefit revocati |
| Rimborso | Non applicabile | Nessuno emesso |
| Reversibile | Sì, fino alla data di fine (uncancel) | No |
Per un cliente che chiede di disdire, la disdetta a fine periodo è l’impostazione giusta: mantiene ciò che ha pagato e può cambiare idea. Lo dice Polar stesso: usa la disdetta a fine periodo se vuoi poter annullare la decisione. Annullare la disdetta riporta cancel_at_period_end a false e svuota ends_at e canceled_at.
Registra il motivo
Quando disdici a fine periodo tramite l’API, Polar accetta un motivo e un commento facoltativi. Gli otto codici motivo sono too_expensive, missing_features, switched_service, unused, customer_service, low_quality, too_complex e other. Polar chiede di impostarli solo quando il cliente li ha davvero indicati, per esempio in un sondaggio, e avverte che il commento è visibile al cliente nel suo storico acquisti, quindi le note interne non vanno lì.
Gli analytics di Polar mostrano i motivi di disdetta in grafici su cui puoi cliccare per vedere gli abbonamenti e i commenti dietro. Distinguono anche «canceled» (il cliente ha chiesto di disdire durante il periodo) da «churned» (l’accesso a pagamento è effettivamente terminato), una distinzione utile quando misuri un flusso di disdetta.
Pausa
Secondo il changelog di Polar, una pausa è programmata per la fine del periodo di fatturazione. A quel punto la fatturazione si ferma e i benefit vengono revocati, ma l’abbonamento e il metodo di pagamento restano salvati. Puoi permettere ai clienti di mettere in pausa dal customer portal, e i webhook subscription.paused e subscription.resumed ti dicono quando lo stato cambia.
Il customer portal
Il customer portal ospitato di Polar permette ai clienti di disdire (a fine periodo per impostazione predefinita) e di aggiornare il metodo di pagamento predefinito. Cambi di piano, cambi di postazioni e pausa o ripresa dipendono da interruttori nelle impostazioni del portale. L’aggiornamento del metodo di pagamento è disponibile solo nel portale ospitato, il che tiene i dati delle carte lontano dai tuoi server; la Customer Portal API che puoi usare per un tuo portale non lo copre.
Se i clienti disdicono dal portale ospitato, vanno direttamente alla disdetta. Se vuoi prima un passo di retention, collega il pulsante «Disdici» della tua app al tuo flusso e tieni il portale ospitato per i dati di pagamento.
Sconti
Gli sconti di Polar si applicano una volta, per un numero fisso di mesi o per sempre. Per dare uno sconto a un abbonato esistente, imposta discount_id con l’endpoint update subscription; Polar applica la modifica al prossimo ciclo di fatturazione, e null la rimuove. La documentazione di Polar non dice se sostituire uno sconto ricorrente ne azzera i mesi rimanenti, quindi provalo in sandbox prima di farci affidamento.
Cosa fa Polar con i pagamenti falliti
Polar documenta il suo comportamento in recovering failed payments:
- Quando l’addebito di un rinnovo fallisce, l’abbonamento diventa
past_duee scattasubscription.past_due. - Polar riprova quattro volte: 2, 5, 7 e 7 giorni dopo il tentativo precedente, cioè 2, 7, 14 e 21 giorni dopo il primo fallimento.
- Se il cliente aggiorna il metodo di pagamento nel portale, Polar riprova subito l’addebito.
- Se tutti i tentativi falliscono, o il rifiuto indica che il metodo di pagamento non funzionerà mai, Polar smette di riprovare, l’abbonamento termina e i benefit vengono revocati, e scatta
subscription.revoked. - Un grace period a livello di organizzazione può ritardare la revoca dei benefit. Non cambia il calendario dei nuovi tentativi.
Gli ordini dei meter a consumo seguono un calendario diverso e non toccano l’abbonamento in sé; vedi la pagina sulla fatturazione di Polar. I tempi dei nuovi tentativi sono fissati da Polar; ciò che puoi aggiungere è una comunicazione chiara con il cliente mentre l’abbonamento è scaduto, indirizzandolo al portale per aggiornare la carta.
Webhook da ascoltare
Dai webhook events di Polar:
| Evento | Significato |
|---|---|
subscription.updated |
Scatta a ogni modifica, comprese quelle qui sotto |
subscription.canceled |
Disdetta richiesta; l’abbonamento può essere ancora attivo fino a fine periodo |
subscription.uncanceled |
Il cliente ha annullato una disdetta in sospeso |
subscription.revoked |
L’accesso termina: fine periodo raggiunta dopo la disdetta, o nuovi tentativi esauriti |
subscription.past_due |
Un pagamento di rinnovo è fallito e può ancora essere recuperato |
subscription.paused / subscription.resumed |
Lo stato di pausa è cambiato |
subscription.cycled |
Un rinnovo |
Per una disdetta a fine periodo, Polar invia subito subscription.updated e subscription.canceled (stato ancora active, cancel_at_period_end true), poi subscription.updated e subscription.revoked quando il periodo finisce. L’indicazione di Polar è di non rimuovere l’accesso su subscription.canceled, ma di aspettare la fine del periodo o subscription.revoked.
Un flusso di disdetta su Polar, passo per passo
- Collega «Disdici» nella tua app al tuo flusso, non a una chiamata API immediata.
- Chiedi perché, usando gli otto codici motivo di Polar così le risposte corrispondono agli analytics di Polar, più un campo di testo libero.
- Mostra una sola offerta adatta al motivo.
too_expensive: uno sconto per qualche mese.unused: una pausa.missing_featuresotoo_complex: una risposta da una persona. - Tieni «Disdici ora» visibile a ogni passo, che conclude in un clic.
- Applica il risultato. Sconto:
PATCHcondiscount_id. Disdetta:PATCHconcancel_at_period_end: true, il motivo e, se il cliente l’ha scritto, il commento. Evita la revoca a meno che il cliente non abbia chiesto una fine immediata, perché non si può annullare e non emette rimborsi. - Conferma la data di fine da
current_period_end, e offri un pulsante «mantieni il mio abbonamento» fino ad allora.
Win-back
Parti da subscription.revoked. Conserva il motivo indicato dal cliente, aspetta, poi contattalo con qualcosa che risponda a quel motivo, e mandalo a un nuovo checkout, con uno sconto se è il caso.
Farlo con NoChurn
NoChurn legge abbonamenti e webhook Polar e aggiunge un flusso di disdetta con motivi, offerte e una disdetta in un clic sempre visibile, ospitato o headless tramite l’API, più email di win-back a 30, 60 e 90 giorni in base al motivo della disdetta e un churn score da 0 a 100. Polar resta il merchant of record: checkout, pagamenti, recupero dei pagamenti, rimborsi e contestazioni restano a Polar, e le contestazioni compaiono in NoChurn in sola lettura. NoChurn è gratuito sotto i 300 $ di MRR, con ogni funzione in ogni piano (il tuo dominio email da 9 $). Vedi NoChurn + Polar.