TL;DR
Campanhas conectam paywalls ao seu app com segmentação inteligente. Configure no dashboard, apresente com uma linha de código.
Configure quando e para quem exibir seus paywalls usando campanhas inteligentes
Campanhas conectam seus paywalls aos placements do app e definem regras de quem deve ver cada paywall. Com campanhas você pode:
App chama presentCampaign()
O SDK envia o placement para o servidor (ex: "onboarding")
Servidor busca campanhas ativas
Todas as campanhas ativas para aquele placement são avaliadas
Regras de segmentação aplicadas
Verifica se o usuário match com os filtros (plataforma, país, etc)
Paywall retornado ao SDK
O SDK renderiza o paywall na tela do usuário
Se múltiplas campanhas match para o mesmo placement, o servidor escolhe uma baseado na prioridade configurada ou de forma aleatória (útil para testes A/B).
Paywallo.presentCampaign('onboarding')Configure quais usuários verão o paywall desta campanha
| Filtro | Opções | Exemplo de Uso |
|---|---|---|
Plataforma | iOS, Android, Todas | Preços diferentes por plataforma |
Países | Lista de códigos ISO | Paywall em português para BR |
Versão do App | Comparação semântica | Apenas para v2.0.0+ |
Propriedades Custom | Chave-operador-valor | isPremium = false |
Datas | Início e fim | Promoção de Black Friday |
Para comparar diferentes designs de paywall, crie múltiplas campanhas para o mesmo placement:
Use Métricas Customizadas para criar análises avançadas comparando taxa de conversão entre diferentes campanhas.
Use presentCampaign() para exibir uma campanha por placement:
O servidor decide qual paywall mostrar baseado nas campanhas ativas. Isso significa que você pode:
presentCampaign vs presentPaywall
presentCampaign(placement) - Usa o sistema de campanhas para decidir qual paywall exibirpresentPaywall(paywallId) - Exibe um paywall específico diretamente pelo IDO método presentCampaign() retorna uma Promise com este objeto (estende PaywallResult):
| Propriedade | Tipo | Descrição |
|---|---|---|
presented | boolean | true se o paywall foi exibido |
purchased | boolean | true se o usuário completou uma compra |
cancelled | boolean | true se o usuário fechou sem comprar |
restored | boolean | true se o usuário restaurou compras anteriores |
productId | string? | ID do produto comprado (se purchased = true) |
campaignId | string? | ID da campanha que foi exibida |
variantKey | string? | Identificador da variante (útil para testes A/B) |
error | Error? | Erro (se houver falha) |