Como usar os descontos do Polar como ofertas de retenção
Como transformar descontos do Polar em ofertas de retenção: tipos e durações, aplicar um a uma subscrição ativa, motivos de cancelamento e armadilhas.
Um cliente prestes a cancelar por causa do preço é um dos poucos casos em que um desconto é mesmo a resposta certa. O Polar não traz um ecrã próprio de oferta de retenção na documentação que analisámos, mas tem as peças para construir um: descontos com duração, uma API para associar um desconto a uma subscrição ativa e motivos de cancelamento na subscrição.
Este guia mostra como estas peças encaixam, quando um desconto é a oferta certa e os erros que transformam os descontos de retenção numa redução de preço permanente. Baseia-se na documentação do Polar: discounts, a referência da API create discount, manage subscriptions, a referência da API update subscription e a página de webhook events (todos consultados em novembro de 2026).
O que pode ser um desconto do Polar
Os descontos do Polar têm dois tipos e três durações.
Tipos
- Percentagem: na API, expressa em pontos base. 1000 pontos base são um desconto de 10%.
- Fixo: um montante fixo de desconto.
Durações (para subscrições)
| Duração | O que faz |
|---|---|
once |
Aplica-se uma vez |
repeating |
Aplica-se durante um número definido de meses; duration_in_months é obrigatório |
forever |
Aplica-se indefinidamente |
As compras únicas aplicam sempre um desconto uma vez, qualquer que seja a duração.
Restrições
No dashboard ou na API, um desconto pode ter:
- Um código, se os clientes o tiverem de introduzir eles mesmos.
- Datas de início e de fim.
- Um número máximo de utilizações.
- Os produtos a que se aplica. Deixar isto vazio aplica o desconto a todos os produtos, incluindo os que criar mais tarde.
O Polar indica que, depois de um desconto ter sido utilizado, o tipo, a duração e o montante já não podem ser alterados. Acerte-os antes de usar um desconto numa oferta real.
Aplicar um desconto a uma subscrição ativa
Este é o passo-chave para a retenção. O guia manage subscriptions do Polar mostra um PATCH para /v1/subscriptions/:id com um discount_id no corpo.
- O desconto fica associado à subscrição ativa.
- A alteração aplica-se no próximo ciclo de faturação. O Polar não volta a faturar o período atual.
- Passar
nullcomodiscount_idremove o desconto atual.
Como a alteração produz efeito no próximo ciclo, diga-o na oferta: “A sua próxima renovação será 30% mais baixa” é exato. “Reembolsámos 30%” não é.
Saber porque é que o cliente sai
Um desconto só ajuda quando o motivo é o preço. O Polar guarda o motivo na subscrição:
customer_cancellation_reason, com valores comotoo_expensive,missing_featureseother.customer_cancellation_comment, o texto livre do cliente.
Quando um cliente cancela no Customer Portal ou quando você cancela pelo dashboard ou pela API, a página de webhook events do Polar diz que envia de imediato subscription.updated e subscription.canceled. A subscrição mantém o estado active com cancel_at_period_end a true e só passa a canceled quando o período termina. Até lá, o cliente pode desfazer o cancelamento, o que envia subscription.uncanceled.
Isso dá-lhe dois momentos para fazer uma oferta:
- Antes do cancelamento, na sua própria app, quando o cliente carrega em “Cancelar” e lhe pergunta porquê.
- Depois de um cancelamento agendado, enquanto a subscrição ainda está ativa, com um email que oferece o desconto e um link para desfazer o cancelamento.
Construir o passo da oferta
Um passo de retenção simples, na sua própria app, antes de o cliente chegar à ação de cancelamento do Polar:
- Pergunte o motivo com uma lista curta que corresponda aos valores do Polar (demasiado caro, faltam funcionalidades, outro) mais um campo de texto livre.
- Se o motivo for o preço, mostre uma oferta: por exemplo, 30% de desconto nos próximos três meses. Crie este desconto antecipadamente como um desconto percentual
repeatingcomduration_in_monthsa 3, limitado aos produtos relevantes. - Se o cliente aceitar, chame o endpoint de atualização da subscrição com o
discount_id. Confirme o novo montante e quando começa. - Se o cliente recusar, cancele. O botão de cancelar tem de estar visível em todos os passos, e uma recusa tem de levar diretamente ao cancelamento. Veja regras de click to cancel.
- Registe o resultado: motivo, oferta mostrada, aceite ou recusada. Guarde-o ao lado do
customer_cancellation_reasondo próprio Polar.
Para os outros motivos, um desconto é normalmente a ferramenta errada. “Faltam funcionalidades” pede uma nota sobre o roadmap ou um seguimento quando a funcionalidade for lançada. “Não o uso” pede ajuda ou um plano mais pequeno. O nosso guia sobre pausa vs desconto como ofertas de retenção faz a correspondência entre motivos e ofertas.
Armadilhas a evitar
Descontos para sempre
Um desconto de retenção forever é uma redução de preço permanente para quem carregar em Cancelar. A notícia espalha-se. Prefira once ou um desconto repeating curto.
Códigos partilhados
Um desconto de retenção com um código público acaba em sites de cupões. Aplique os descontos de retenção por ID através da API em vez de distribuir códigos, e defina um número máximo de utilizações e uma data de fim como salvaguarda.
Acumular com descontos existentes
A chamada de atualização define o discount_id da subscrição, por isso associar um desconto de retenção pode substituir um desconto que o cliente já tem. Verifique se existe um desconto antes de fazer uma oferta, ou pode subir-lhe o preço por engano.
Oferecer a mesma coisa duas vezes
Se um cliente recusou um desconto ao cancelar, não envie o mesmo desconto no primeiro email de reconquista. Mude a oferta ou mude a mensagem.
Momento pouco claro
Como o desconto começa no próximo ciclo de faturação, um cliente que espera uma poupança imediata pode sentir-se enganado. Mostre o montante e a data exatos da próxima renovação.
Um exemplo concreto
Suponha que um cliente num plano mensal carrega em Cancelar e escolhe “demasiado caro”.
- A sua app mostra: “Fique por menos 30% nas próximas 3 renovações. Ou cancele já.” Os dois botões estão igualmente visíveis.
- O cliente aceita. O seu backend chama o endpoint de atualização da subscrição com o ID do desconto
repeatingque preparou. - Confirma por email: o período atual não muda, e as próximas três renovações são 30% mais baixas, a partir da próxima data de faturação.
- Guarda o motivo, a oferta e a aceitação.
- Antes de o desconto acabar, decide se diz alguma coisa. Uma nota curta de que o preço normal volta numa dada data evita uma surpresa e um possível pedido de reembolso.
Se o cliente tivesse recusado, a sua app cancelaria logo a subscrição, e o Polar mantê-la-ia ativa até ao fim do período com cancel_at_period_end definido.
Medir se funciona
Para cada oferta, acompanhe:
- Quantas vezes foi mostrada e quantas vezes foi aceite.
- Dos que aceitaram, quantos ainda eram subscritores três e seis meses depois.
- A receita mantida face ao desconto dado.
Uma oferta que muitos aceitam mas que só adia o cancelamento um ciclo é um custo, não um salvamento. Para uma visão mais ampla, veja boas práticas de fluxos de cancelamento e inquéritos aos motivos de cancelamento.
Fazer isto com o NoChurn
O fluxo de cancelamento do NoChurn pergunta o motivo e mostra uma oferta adequada (um desconto, ou uma pausa ou mudança de plano quando a sua configuração de faturação o permite), com o cancelamento num clique visível em todos os passos. Funciona alojado, ou em headless através da API para que o passo se integre na sua própria app. No Polar, a subscrição e a faturação ficam no Polar enquanto merchant of record. As respostas alimentam os emails de reconquista aos dias 30, 60 e 90 e o score de churn. Veja NoChurn + Polar.