Clew

Como criar um aviso de paywall num app do v0 sem programador

Um paywall suave num app do v0: quando um usuário do plano grátis chega a uma função paga, um modal explica o upgrade e leva à sua página de preços — segmentado por plano, medido e editável sem deploy.

Tempo
● 20 minutos
Preço
Teste grátis de 14 dias, sem cartão
Quem faz
Você e o chat do v0

Exemplo: um aviso de upgrade num app do v0

Um app de analytics feito no v0 libera exportação em CSV nos planos pagos. Usuários do plano grátis que clicam em data-tour="export-csv" em /dashboard/reports veem “Exportar em CSV é no Team: teste grátis por 14 dias” com link para a página de preços do app.

O que o Clew faz e o que não faz. O Clew mostra o aviso de upgrade — um modal com o seu texto e um link para a sua própria página de preços ou de pagamento — para os usuários escolhidos pelas suas regras. Ele não cobra, não gerencia assinaturas e não esconde nem bloqueia conteúdo: o seu app decide quem tem acesso e o seu provedor de pagamentos faz a cobrança.

Este formato faz parte do plano Pro. Toda conta nova começa com 14 dias de teste grátis com todos os formatos e regras de público, sem cartão. Quando o teste acaba, nada é apagado e o que foi publicado continua aparecendo; tours e tooltips seguem grátis no plano Free.

Como adicionar o aviso de paywall num app do v0, passo a passo

  1. Passo 01

    Copie o seu snippet do Clew

    Crie uma conta grátis (ou entre), adicione o seu site e abra Visão geral no admin. Clique na linha do cartão O widget ainda não deu sinal. para copiar: ela já vem com a chave real do seu site no lugar do marcador.

    <!-- Clew: troque COLE_AQUI_SUA_CHAVE pela chave do site em Admin > Visão geral -->
    <script src="https://tryclew.io/widget/COLE_AQUI_SUA_CHAVE.js" async></script>
    Visão geral do admin do Clew com a linha de instalação e a chave do site oculta (aviso de paywall num app do v0)
    Passo 1 · ilustração esquemática
  2. Passo 02

    Abra o chat do seu projeto no v0

    Abra o projeto no v0. O v0 gera Next.js com App Router, então o arquivo certo é app/layout.tsx.

    Construtor de apps com o painel de chat de IA ao lado da prévia (aviso de paywall num app do v0)
    Passo 2 · ilustração esquemática
  3. Passo 03

    Envie o prompt com a sua chave

    Troque COLE_AQUI_SUA_CHAVE pela sua chave e envie o prompt. Ele usa next/script, que é como o Next.js carrega scripts de terceiros.

    Adicione o widget de onboarding do Clew a este app.
    
    Insira esta tag exata uma única vez, para que carregue em todas as páginas, inclusive depois de mudanças de rota no cliente:
    <script src="https://tryclew.io/widget/COLE_AQUI_SUA_CHAVE.js" async></script>
    
    Este é um projeto do v0 com Next.js App Router: em app/layout.tsx importe Script de "next/script" e adicione <Script src="(a mesma URL)" strategy="afterInteractive" /> dentro de <body>.
    
    Quando o usuário logado estiver carregado, e sempre que a assinatura mudar, chame Clew.identify({ plan: <id do plano atual do usuário como string, ex. "free"> }). Se o widget ainda puder não ter carregado, defina antes o stub de fila: window.TutorKit = window.TutorKit || { q: [], identify: function (p) { this.q.push(["identify", p]); } }; e chame window.TutorKit.identify(...). Adicione um atributo data-tour aos botões das funções pagas (por exemplo data-tour="export"). Não adicione lógica própria de pagamento, bloqueio ou paywall e não mude o que os botões fazem.
    
    Regras:
    - Use a URL do script exatamente como está. Não baixe, não empacote e não instale um pacote npm.
    - Se o projeto define uma Content-Security-Policy, permita https://tryclew.io em script-src e connect-src.
    - Não mude mais nada e me mostre o diff.
    Chat de IA com o prompt do Clew na caixa de mensagem (aviso de paywall num app do v0)
    Passo 3 · ilustração esquemática
  4. Passo 04

    Confira o layout.tsx e publique

    Espere um elemento <Script> em app/layout.tsx. Depois faça o Deploy na Vercel e abra a URL de produção.

    Diff com um componente Script adicionado ao layout raiz (aviso de paywall num app do v0)
    Passo 4 · ilustração esquemática
  5. Passo 05

    Escreva o aviso de upgrade

    No Clew abra Fluxos → + Novo fluxo e escolha Janela modal. Um passo: um título com o benefício (“Exportar para CSV é no Pro”), uma frase de valor e, em Texto do link / URL do link, o botão e a URL da sua página de preços ou checkout.

    Modal de aviso de upgrade sobre um app web, com título de benefício e botão-link para a página de preços (aviso de paywall num app do v0)
    Passo 5 · ilustração esquemática
  6. Passo 06

    Escolha onde, quando e para quem aparece

    No mesmo editor, preencha Onde mostrar (URL da página), Quando mostrar, Segmentação de público e Frequência. Estas são as configurações do exemplo acima:

    ConfiguraçãoValor
    FormatoJanela modal
    Onde mostrar (URL da página)Seção por prefixo /dashboard/reports
    Quando mostrarAo clicar num elemento: [data-tour="export-csv"]
    Segmentação de públicoPropriedade plan é igual a free
    FrequênciaA cada visita
    Editor de tours do Clew com formato, regra de URL, gatilho e regra de público (aviso de paywall num app do v0)
    Passo 6 · ilustração esquemática
  7. Passo 07

    Publique e confira no site real

    Mude Status para Publicado e salve. Abra a página numa janela anônima: o Clew lembra quem já viu um item de “uma vez”, então o seu navegador de sempre pode pular. Visualizações, conclusões e abandonos aparecem nas estatísticas.

    Visão geral do admin do Clew com o cartão verde de widget ativo (aviso de paywall num app do v0)
    Passo 7 · ilustração esquemática

Armadilhas: aviso de paywall num app do v0

Server components não podem chamar identify

Clew.identify() roda no navegador. Ele vai num client component ("use client") que tenha a sessão, não num server component nem no layout.

Espere os dados antes de apontar para gráficos

Dashboards desenham placeholders primeiro. Prenda os passos a títulos e botões, ou use Depois de N segundos de alguns segundos para o aviso de paywall aparecer junto com os dados.

O aviso não substitui a checagem de acesso

Se a função paga está acessível para usuários grátis no seu app, o modal aparece, mas a função continua funcionando por trás. Confira se o servidor aplica o plano; o aviso é só a mensagem.

Atualize a propriedade depois do upgrade

As propriedades ficam no navegador até o app enviar um valor novo. Chame Clew.identify({ plan: "pro" }) depois de um upgrade bem-sucedido, senão o novo cliente continua vendo o aviso.

Perguntas e respostas

Onde a propriedade plan é definida?

Num client component com a sessão, logo que ela carrega.

Por que não uma tag script comum no v0?

No App Router, next/script é o jeito suportado de adicionar scripts de terceiros; uma tag solta num componente pode renderizar duas vezes ou nenhuma.

O Clew recebe o pagamento?

Não. O botão leva à sua própria página de preços ou checkout; o Clew nunca lida com cartões, assinaturas ou acesso.

O aviso de paywall é grátis?

Ele precisa do formato modal e de uma regra de público, ambos no Pro. O teste de 14 dias inclui os dois, sem cartão.

Uma linha no seu site e, depois, tours, tooltips e checklists sem deploy.

Pegar minha chave grátisComo o Clew funcionaPlano gratuito para sempre, sem cartão

Tours de produto, pop-ups e onboarding na era da IA

7 padrões com número de passos, regras de texto e métricas, o que a IA muda e um checklist antes de publicar. PDF, 2 páginas. O que tem no guia →

O guia está em inglês.