Integrações

Superwall

Importe eventos de paywall e assinatura do Superwall e use os dados de atribuição do Paywallo pra decidir qual paywall cada usuário vê: por origem, campanha e pago vs orgânico.

Configurar o webhook

Pré-requisito

Ative a integração no dashboard (Configurações → Integrações → Superwall) para gerar a URL do webhook e o secret.

1

No dashboard do Paywallo, vai em Configurações > Integrações > Superwall e copia a URL do webhook e o secret gerado.

2

No dashboard do Superwall, vai em Settings > Webhooks e adiciona a URL no formato https://paywallo.com.br/api/webhook/superwall/{sua-chave-app}.

3

Ainda na tela de webhook do Superwall, adiciona um custom header de autenticação:

HeaderValor
x-paywallo-secreto secret gerado pelo Paywallo

O valor do header é o secret que você copiou do Paywallo. O Paywallo valida esse header em toda requisição. Webhooks sem o header correto são rejeitados com 401.

4

Salva o webhook no Superwall. Os eventos vão começar a aparecer no Paywallo em tempo real.

Eventos obrigatórios

Marque todos esses eventos no Superwall ao configurar o webhook. Eles são necessários pra atribuição e analytics funcionarem corretamente.

initial_purchase
renewal
cancellation
uncancellation
expiration
billing_issue
non_renewing_purchase

Exemplo de configuração

Configuração do webhook no Superwall

Audiences

Segmentar paywalls por origem

O Paywallo envia os dados de atribuição pro Superwall como user attributes (prefixo pw_) automaticamente. Com eles você cria audiences no Superwall pra mostrar um paywall, preço ou oferta diferente dependendo de onde o usuário veio: Meta, TikTok, uma campanha específica ou tráfego orgânico.

Chame syncSuperwallAttributes antes do register

O Superwall avalia as audiences no momento do register, e a variante que o usuário receber ali fica presa a ele até o assignment ser resetado. Como parte da atribuição só resolve alguns segundos depois do primeiro open, chame await syncSuperwallAttributes({ timeoutMs: 1500 }) imediatamente antes de registerPlacement. Sem isso, quem veio de anúncio pode ser avaliado como orgânico e ficar assim.

A função vem do próprio SDK (@virex-tech/paywallo-sdk), pergunta ao servidor se o install casou com algum clique e empurra os pw_* pro Superwall — tudo dentro do timeout que você passar. Ela nunca lança e nunca segura o paywall além desse tempo, então é seguro chamar em todo registerPlacement.

Atributos disponíveis

Todos os atributos abaixo ficam disponíveis como filtro na tela de audience do Superwall. Os que não têm valor pro usuário simplesmente não aparecem. Usuário orgânico recebe só pw_is_paid = false, então dá pra segmentar orgânico sem ambiguidade.

AtributoO que éExemplo
pw_ad_networkRede de origem já normalizada: facebook, ig, fb, apps.facebook.com e afins viram meta. Filtre por meta, tiktok, google ou apple_search_adsmeta
pw_is_paidtrue pra tráfego pago, false pra orgânicotrue
pw_match_typeConfiança da atribuição: deterministic (clique identificado) ou probabilistic (inferido por IP e device — o normal no iOS). Use pra exigir certeza antes de mudar preçodeterministic
pw_utm_sourceOrigem do UTMfacebook
pw_utm_mediumMídia do UTMcpc
pw_utm_campaignNome da campanhablack_friday
pw_utm_contentCriativo / anúnciovideo_a
pw_utm_termTermo ou palavra-chaveapp_dieta
pw_fbclidClick ID do MetaIwAR...
pw_gclidClick ID do GoogleCj0K...
pw_ttclidClick ID do TikTokE5F...
pw_tiktok_campaign_idID da campanha no TikTok17...
pw_tiktok_adgroup_idID do adgroup no TikTok17...
pw_tiktok_ad_idID do anúncio no TikTok17...
pw_referrerReferrer da landing pagegoogle.com
pw_install_referrer_sourceOrigem do install referrer (Android)google-play
pw_attributed_atQuando a atribuição foi capturada (ISO)2026-07-08T...

Criar uma audience no Superwall

1

No Superwall, abre a campanha em Campaigns e vai na aba Audiences > Add Audience.

2

Em Add Filter, digita pw na busca e escolhe o atributo, por exemplo pw_ad_network.

3

Escolhe o operador is e o valor (ex: meta). Dá pra empilhar filtros: pw_ad_network is meta & pw_utm_campaign is black_friday.

4

Aponta essa audience pro paywall ou variante que você quer mostrar pra esse público e salva. Pronto: quem vem do Meta vê um paywall, o orgânico vê outro.

Exemplo

Uma audience com "pw_ad_network is meta" mostra um paywall mais agressivo pra quem veio de anúncio pago do Meta, enquanto o orgânico (pw_is_paid is false) cai num paywall com trial mais longo.

Rastreamento automático de compras

Não chame track de compra manualmente

Compras realizadas via Superwall são rastreadas automaticamente pelo bridge do SDK Paywallo. Não é necessário (nem correto) chamar qualquer método de track de compra no seu código. Fazer isso duplicaria os eventos e distorceria os números de receita no dashboard.

O bridge intercepta os eventos de compra do Superwall e os envia ao Paywallo junto com o contexto de atribuição já disponível na sessão. Basta ter o SDK inicializado antes do primeiro Superwall.register(). O restante é automático.

Verificação de compras e Sandbox

Uma transação só conta como Comprador e entra na receita do dashboard quando está com status verified. Em produção, a verificação vem do webhook da loja (Apple ou Google) confirmando a compra. Sem webhook configurado, a venda fica pendente e não aparece nos contadores de Compradores.

Sandbox: verificação automática

Compras feitas em ambiente Sandbox são verificadas automaticamente pelo Paywallo, sem depender do webhook da loja. O usuário já aparece como Comprador imediatamente, o que facilita testar o funil completo durante o desenvolvimento.

Comportamento esperado no simulador iOS

No simulador iOS com "Erase All Content and Settings", o StoreKit reinicia e toda compra passa a retornar transaction_id: '0'. Além disso, o IDFV muda a cada reset. Por isso os contadores de usuário e compra podem parecer estranhos no Sandbox. Não é bug do Paywallo. Em device real e em produção isso não ocorre.

Essa página foi útil?

Desenvolvido e mantido por Virex