Offer codes no App Store Connect: criar um código promo
Por Mehdi Azizi
Publicado em , 8 min
Desde março de 2026, offer codes substituem os códigos promo de compras no app: únicos ou personalizados, resgatados por link, App Store ou app.
No App Store Connect, um código promocional para uma assinatura ou uma compra no app hoje se chama código de oferta, ou offer code. Desde 26 de março de 2026, a Apple não permite mais criar códigos promocionais para compras no app: eles só servem para dar o download de um app pago. Você cria uma oferta no seu produto e depois gera códigos únicos ou um código personalizado. A pessoa resgata o código por um link, na App Store ou direto no seu app.
Meus apps são gratuitos para baixar e vendem assinaturas: os códigos promocionais de app não me trazem nada. Por isso, no código do TradaZen, a indicação de amigos recompensa com um código de oferta, e o próprio app abre o resgate do código. Veja o que mudou, a tabela das ofertas da Apple, como criar os códigos, como resgatá-los e o que a regra 3.1.1 proíbe.
Códigos promocionais e códigos de oferta: o que mudou em 2026
A Apple anunciou em 29 de outubro de 2025 nas suas notícias para desenvolvedores: os códigos de oferta agora cobrem todas as compras no app. Consumíveis, não consumíveis e assinaturas não renováveis se somam às assinaturas com renovação automática. Como consequência, desde 26 de março de 2026, você não pode mais criar código promocional para uma compra no app. Os criados antes continuam válidos até expirarem.
Já os códigos promocionais de app continuam existindo. Segundo a ajuda do App Store Connect, eles dão uma cópia gratuita de um app pago. Cada código vale uma vez e fica válido por quatro semanas. Você pode pedir até 100 por versão e por plataforma, em Promo Codes, na barra lateral do seu app. Quem usa o código não pode avaliar nem comentar o app.
Para um app gratuito que vende uma assinatura, o código promocional de app não dá nada: o que você precisa oferecer é a assinatura, com um código de oferta.
As ofertas da Apple: para quem e como se obtém
Estas são as ofertas da Apple em torno de uma assinatura, mais o código promocional de app, na tabela que deixo à mão para escolher:
| Tipo de oferta | Para quem | Como se obtém |
|---|---|---|
| Oferta introdutória | Novos assinantes do grupo | Automática na compra |
| Código de oferta único | Uma pessoa específica | Link, App Store ou app |
| Código personalizado | Uma campanha, um público | Link ou digitação no app |
| Oferta promocional | Assinantes atuais ou antigos | Proposta pelo seu app |
| Oferta de reconquista | Ex-assinantes | Ajustes, App Store, app |
| Código promocional de app | Só app pago | Digitação na App Store |
Os códigos de oferta foram feitos para você distribuir fora do app: por e-mail, no seu site, num evento, para um criador de conteúdo. As outras ofertas aparecem sobretudo sozinhas ou dentro do seu app, segundo as regras que você define. A oferta introdutória, a do teste gratuito, tem seu próprio guia: introductory offer e teste gratuito.
Criar códigos de oferta para uma assinatura
O procedimento da ajuda sobre códigos de oferta de assinatura tem duas etapas: a oferta, depois os códigos. Os rótulos são os da ajuda da Apple.
1. A oferta. Em Subscriptions, abra o grupo e depois a assinatura. Em Subscription Prices, clique no botão de mais e depois em Create Offer Codes. Em seguida:
- dê um nome de referência, que você vai reencontrar nos seus relatórios de vendas;
- escolha se a assinatura renova no fim da oferta; sem renovação, só é possível uma oferta gratuita;
- marque quem é elegível: novos assinantes, assinantes atuais, ex-assinantes do grupo;
- se a assinatura tiver uma oferta introdutória, escolha se a pessoa aproveita ela primeiro, antes da oferta do código, ou só o código;
- escolha os países e depois gratuito, pagamento adiantado ou pagamento conforme o uso, com a duração e o preço.
Uma oferta criada não pode mais ser editada. Para mudar a elegibilidade, crie uma nova oferta.
2. Os códigos. Dois tipos, gerados na página da oferta:
- Os códigos únicos: um código por pessoa, criados em lotes de 500 a 25.000. Eles expiram no máximo seis meses depois de criados. Você baixa um arquivo com os códigos e seus links.
- Os códigos personalizados: uma palavra que você escolhe, de até 64 caracteres sem caractere especial, por exemplo VOLTAASAULAS (exemplo fictício). Você define quantas pessoas podem usar, até 25.000 por lote, e uma data de término opcional.
Os limites comuns: um milhão de códigos por app e por trimestre, dez ofertas ativas por assinatura, um código por oferta e por pessoa. Um código pode levar até uma hora para ficar utilizável. E, principalmente, seu app precisa estar à venda para os códigos serem resgatados: não dá para oferecer uma assinatura antes do lançamento.
Para testar, a Apple oferece códigos sandbox, de 10 a 10.000 por lote, resgatados nos ajustes da conta sandbox no iOS 16.3 ou superior.
Códigos de oferta para uma compra única ou créditos
A página sobre códigos de oferta de compras no app segue a mesma lógica. Em In-App Purchases, abra a compra e depois Create Offer na seção Offer Codes. A elegibilidade se baseia no histórico de compras no seu app: nunca comprou, comprou nos últimos 30 dias ou há mais de 30 dias. A oferta é gratuita ou paga.
Para gerar os códigos, o app precisa estar à venda e a compra aprovada. Um app tem no máximo dez ofertas ativas ao mesmo tempo. O resgate dentro do app exige iOS 16.3 ou superior.
Como o usuário resgata um código
A documentação do StoreKit descreve três caminhos:
- O link de resgate. O App Store Connect fornece um link de exemplo na página da oferta, ao qual você acrescenta o código. Se o app não estiver instalado, a pessoa é convidada primeiro a baixá-lo.
- A App Store. O código único é digitado na página Redeem Gift Card or Code da conta. Já o código personalizado passa pelo link ou pelo seu app.
- Seu app. Em Swift, é
offerCodeRedemptioncom SwiftUI oupresentOfferCodeRedeemSheetcom UIKit. Com RevenueCat num app Expo, épresentCodeRedemptionSheet.
A documentação do RevenueCat dá o formato do link: https://apps.apple.com/redeem?ctx=offercodes&id={apple_app_id}&code={code}. Ela também avisa que a tela de resgate da Apple se mostrou muito instável desde o lançamento, e sugere o link como alternativa. Veja o princípio, em TypeScript:
import { Linking } from "react-native";
import Purchases from "react-native-purchases";
const PAGE_ECHANGE = "https://apps.apple.com/redeem";
export async function echangerUnCode(): Promise<void> {
try {
await Purchases.presentCodeRedemptionSheet();
} catch {
await Linking.openURL(PAGE_ECHANGE); // alternativa se a tela falhar
}
}
A tela não retorna nenhum resultado. O acesso chega depois, como após uma compra, pelo listener addCustomerInfoUpdateListener que seu app já tem. Para o RevenueCat contabilizar direito a receita desses códigos, ele precisa da sua chave In-App Purchase.
É a estrutura preparada no código do TradaZen. Para usar uma recompensa de indicação, o app abre o link com o código já preenchido: é mais confiável que a tela, onde seria preciso copiar o código. Para digitar um código recebido, ele abre a tela nativa e, como alternativa, a página de resgate da App Store. Um código que a pessoa não sabe onde digitar não serve para nada: a página da conta na App Store é escondida e nada a indica. Um botão "Tenho um código" no seu app resolve isso.
Ofertas promocionais e de reconquista, em resumo
Essas duas ofertas não passam por códigos que você distribui, mas atendem à mesma necessidade: trazer de volta ou manter um assinante.
A oferta promocional é para assinantes atuais ou antigos. Você decide no seu app quando mostrá-la, por exemplo para alguém prestes a cancelar. Segundo a ajuda sobre ofertas promocionais, você pode ter dez ativas por assinatura. Elas valem em todos os países da assinatura, e a pessoa tem direito mesmo se já recebeu uma oferta introdutória. É preciso uma chave In-App Purchase para assinar a oferta.
A oferta de reconquista, ou win-back, é para ex-assinantes. A ajuda sobre ofertas de reconquista detalha os critérios: tempo mínimo de assinatura paga, tempo desde o fim, intervalo entre duas ofertas. A Apple exibe ela sozinha na página de gerenciamento de assinaturas, e no seu app no iOS 18 ou superior. Ela também gera um link para compartilhar, que você só deve enviar para pessoas elegíveis. Para ela aparecer na App Store, é preciso promovê-la com uma imagem de assinatura aprovada, que não repita nem seu ícone nem suas capturas. Falo disso no guia sobre a imagem promocional de uma assinatura.
O que a regra 3.1.1 proíbe
A guideline 3.1.1 exige a compra no app para desbloquear um recurso ou conteúdo. Ela proíbe mecanismos caseiros, como chaves de licença ou QR codes. Um código inventado por você, digitado num campo do seu app para desbloquear o premium, te expõe a uma rejeição 3.1.1, mesmo que seja gratuito. Já os códigos de oferta da Apple passam pela compra no app. A regra completa está no meu guia sobre a guideline 3.1.1.
Outro ponto, para a indicação: a guideline 5.1.2 proíbe exigir a ativação de notificações, localização ou rastreamento para receber uma recompensa, incluindo códigos. Então uma recompensa não pode depender dessas permissões. O detalhe está no guia sobre a guideline 5.1.2.
Oferecer sua assinatura sem errar de ferramenta
Antes do lançamento, para deixar as pessoas testarem o app de graça, use o TestFlight: as compras ali passam pelo ambiente de teste, sem cobrança. Depois do lançamento, use os códigos de oferta. A configuração da assinatura em si está em RevenueCat para uma assinatura iOS.
O iOS & Android Kit parte do código inicial dos meus apps: onboarding, paywall e assinaturas já vêm prontos, e a terceira etapa, "ligar o dinheiro", te guia para configurá-los. A cadeia inteira está na página assinatura in-app iOS. Se você está preparando seu primeiro lançamento, faça seu diagnóstico gratuito: ele coloca as etapas em ordem e te envia meu checklist anti-rejeição da Apple.
Perguntas frequentes
Como gerar um código promocional no App Store Connect?
Para um app pago, abra Promo Codes na barra lateral do app: até 100 códigos por versão, válidos por quatro semanas. Para uma assinatura ou compra no app, crie uma oferta no produto, com Create Offer Codes ou Create Offer, e depois gere códigos únicos ou um código personalizado.
Qual a diferença entre um código promocional e um código de oferta?
O código promocional dá o download de um app pago. O código de oferta dá uma assinatura ou compra no app, gratuita ou com desconto, por um período escolhido. Desde 26 de março de 2026, só o código de oferta pode ser criado para uma compra no app.
Quantos códigos de oferta dá para criar?
Até um milhão por app e por trimestre, somando todos os produtos. Os códigos únicos são criados em lotes de 500 a 25.000, e um código personalizado aceita até 25.000 usos por lote. Uma assinatura tem no máximo dez ofertas ativas ao mesmo tempo.
Dá para usar um código de oferta antes do lançamento do app?
Não: o app precisa estar à venda para os códigos serem resgatados. Antes do lançamento, use o TestFlight para seus testadores e os códigos sandbox para testar o resgate no seu app.
Um assinante atual pode usar um código de oferta?
Sim, se você marcou os assinantes atuais na elegibilidade da oferta. A página da Apple sobre assinaturas explica que ele só pode resgatar um código do mesmo nível da assinatura dele ou superior.
Onde o usuário digita um código de oferta?
Pelo link de resgate, na página Redeem Gift Card or Code da conta da App Store para um código único, ou no seu app se você incluiu a tela de resgate. O código personalizado passa pelo link ou pelo app.

