TL;DR

Campanhas conectam paywalls ao seu app com segmentação inteligente. Configure no dashboard, apresente com uma linha de código.

Campanhas

Configure quando e para quem exibir seus paywalls usando campanhas inteligentes

O que são Campanhas?

Campanhas conectam seus paywalls aos placements do app e definem regras de quem deve ver cada paywall. Com campanhas você pode:

  • Mostrar paywalls diferentes para usuários iOS vs Android
  • Fazer testes A/B comparando múltiplos designs de paywall
  • Segmentar por país, versão do app, ou propriedades customizadas
  • Controlar quando a campanha fica ativa (datas de início e fim)

Como Funcionam

Fluxo de uma campanha

1

App chama presentCampaign()

O SDK envia o placement para o servidor (ex: "onboarding")

2

Servidor busca campanhas ativas

Todas as campanhas ativas para aquele placement são avaliadas

3

Regras de segmentação aplicadas

Verifica se o usuário match com os filtros (plataforma, país, etc)

4

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).

Exemplo Rápido

Criando uma campanha no dashboard

  1. Acesse Campanhas no menu lateral
  2. Clique em Nova Campanha
  3. Configure:
    • Nome: "Onboarding iOS Premium"
    • Placement: "onboarding"
    • Paywall: Selecione o paywall criado
    • Plataforma: Apenas iOS
    • Status: Ativa
  4. Salve a campanha
  5. No app, chame Paywallo.presentCampaign('onboarding')

Opções de Segmentação

Filtros disponíveis

Configure quais usuários verão o paywall desta campanha

FiltroOpçõesExemplo de Uso
PlataformaiOS, Android, TodasPreços diferentes por plataforma
PaísesLista de códigos ISOPaywall em português para BR
Versão do AppComparação semânticaApenas para v2.0.0+
Propriedades CustomChave-operador-valorisPremium = false
DatasInício e fimPromoção de Black Friday

Testes A/B

Como fazer teste A/B de paywalls

Para comparar diferentes designs de paywall, crie múltiplas campanhas para o mesmo placement:

  1. Crie 2 ou mais paywalls com designs diferentes
  2. Crie uma campanha para cada paywall:
    • Campanha A: Paywall com trial de 7 dias
    • Campanha B: Paywall com desconto de 30%
  3. Configure ambas com o mesmo placement (ex: "onboarding")
  4. Deixe ambas ativas com mesma prioridade
  5. O servidor distribuirá o tráfego de forma aleatória (50/50 por padrão) entre as variantes
  6. Acompanhe as métricas em Analytics para ver qual converteu melhor

Use Métricas Customizadas para criar análises avançadas comparando taxa de conversão entre diferentes campanhas.

Gerenciando no Código

Apresentando Campanhas no Código

Use presentCampaign() para exibir uma campanha por placement:

import { Paywallo } from '@virex-tech/paywallo-sdk'; // Apresentar campanha por placement const result = await Paywallo.presentCampaign('onboarding'); if (result.purchased) { console.log('Campaign:', result.campaignId, 'Variant:', result.variantKey); }

O servidor decide qual paywall mostrar baseado nas campanhas ativas. Isso significa que você pode:

  • Trocar paywalls sem atualizar o app
  • Fazer testes A/B sem código adicional
  • Criar promoções sazonais que ligam/desligam automaticamente
  • Segmentar por região sem lógica condicional no código

presentCampaign vs presentPaywall

  • presentCampaign(placement) - Usa o sistema de campanhas para decidir qual paywall exibir
  • presentPaywall(paywallId) - Exibe um paywall específico diretamente pelo ID

CampaignResult

Objeto de Retorno

O método presentCampaign() retorna uma Promise com este objeto (estende PaywallResult):

PropriedadeTipoDescrição
presentedbooleantrue se o paywall foi exibido
purchasedbooleantrue se o usuário completou uma compra
cancelledbooleantrue se o usuário fechou sem comprar
restoredbooleantrue se o usuário restaurou compras anteriores
productIdstring?ID do produto comprado (se purchased = true)
campaignIdstring?ID da campanha que foi exibida
variantKeystring?Identificador da variante (útil para testes A/B)
errorError?Erro (se houver falha)

Dicas de Boas Práticas

  • Use nomes descritivos para campanhas: "Black Friday iOS" é melhor que "Campanha 3"
  • Configure datas de fim para campanhas promocionais para evitar esquecer de desativá-las
  • Ao fazer testes A/B, espere dados estatisticamente significantes antes de decidir o vencedor
  • Sempre tenha uma campanha "padrão" ativa sem filtros como fallback para garantir que todos os usuários vejam algo
Paywallo | Analytics, Gestão de Paywalls e Feature Flags