logo
PáginasComeçando

Referência do formulário de pré-redirecionamento

Planos por capacidade, rótulos do app e campos da API, cookies do visitante, o que o modal mostra, tipos e limites de campo, validações e o que não é.

Avatar for undefined
CodeQR Team
Equipe de Conteúdo

Use esta página para consultar um plano, um campo, um cookie ou um limite do Formulário de pré-redirecionamento. Os passos estão nos guias; o raciocínio por trás do caminho de um lead está em Para onde vão os leads.

Disponibilidade por plano

  • Formulário de pré-redirecionamento (botão, campos da API) — Plano: Business ou superior; ligar a partir de Free, Starter ou Pro é recusado (403)
  • Onde pode ser ativado — Plano: qualquer link curto; QR Codes dinâmicos de todos os tipos; não em QR Codes estáticos
  • Respostas em Respostas, exportação CSV, notificação por e-mail — Plano: qualquer plano que tenha o formulário
  • Registros em Clientes** — Plano: Business ou superior
  • Eventos de lead em Eventos e Análise, webhooks lead.created — Plano: Monitoramento de conversão ligado na página (Pro ou superior); webhooks Pro ou superior
  • Conectores de CRM (RD Station, Kommo, HubSpot, Google Sheets) — Plano: Starter ou superior
  • Páginas por workspace — Plano: Free 1 · Starter 5 · Pro 20 · Business 100 · Scale 500 · Enterprise ilimitado
  • "Powered by CodeQR" no formulário — Plano: somente workspaces Free

Rótulo do app → campo da API

  • botão Formulário de pré-redirecionamento** — Campo da API: preRedirection · Valores: true / false (padrão)
  • Usar formulário da plataformaSelecionar página — Campo da API: pageId + pageUrl · Valores: id da página + https://<domínio da página>/<chave da página>
  • campo de Usar formulário externo** — Campo da API: pageUrl (com pageId: null) · Valores: qualquer URL http(s)
  • Preenchimento obrigatório? — Campo da API: isFormMandatory · Valores: true / false (padrão); exige pageId

Os quatro campos existem em links e QR Codes e aparecem em toda resposta da API e payload de webhook deles. Detalhes e erros: Configure formulários de pré-redirecionamento pela API.

O que o visitante recebe

  • Pessoa, sem cookie skipForm — Resposta: 200, a página do formulário (x-pathname: /<domínio>/pre-redirection/<chave>/link ou /qrcode); o clique ou scan é registrado agora
  • Pessoa com cookie skipForm, ou ?skipForm= na URL — Resposta: 302 para o destino (Regras inteligentes e segmentação aplicadas)
  • Robô, crawler, prévia de link (WhatsApp, Slack, Facebook, Google) — Resposta: 302 para o destino, sem formulário
  • QR Code de WhatsApp depois do formulário — Resposta: 302 para https://wa.me/<número>?text=<mensagem>

O modal mostra título, descrição e imagem do destino (das tags Open Graph) no cabeçalho, e a página de destino desfocada atrás — ou seja, o destino é carregado no navegador do visitante antes de o formulário ser enviado.

Cookies do visitante

  • cq_id — Gravado quando: primeira visita ao link ou QR Code · Valor: id do clique · Path: /<chave> · Validade: 1 hora; 30 dias quando o link tem Monitoramento de conversão ligado
  • skipForm — Gravado quando: depois de enviar ou pular · Valor: FORM_FILLED ou CONTINUED_WITHOUT_FORM · Path: /<chave> · Validade: 1 hora

Os dois cookies são gravados pelo servidor (Set-Cookie), então o teto de 7 dias do Safari para cookies escritos por script não os encurta. Uma janela anônima não tem cookies — o formulário aparece de novo. Os valores de UTM gravados com a resposta são lidos da barra de endereço da página do formulário no momento do envio, não de um cookie.

Formulário (Página da CodeQR)

  • Tipos de página com formulário — Formulário de Contato, Feedback, Newsletter, Cartão de Visita Digital (e os tipos marcados como Em breve, quando lançados)
  • Tipos de campo — Text, Email, Number, Phone, Date, Time, Selection, Multiple choice, Checkboxes, Textarea, Rating, Hidden
  • Opções por campo — rótulo, placeholder, descrição, obrigatório, valor padrão, parâmetro de pré-preenchimento, etapa (1–4), validação (tamanho mín./máx., mín./máx., padrão pronto e-mail · telefone · URL · dígitos · CPF, padrão próprio, mensagem de erro)
  • Limites por envio — 100 campos · 5.000 caracteres por valor · 100 KB no total · valores de UTM cortados em 500 caracteres · 4 etapas
  • Consentimento — sempre exigido: texto de consentimento (padrão ou o seu) + URL da política de privacidade opcional; o botão fica desabilitado até marcar; consentAt e o texto do consentimento ficam gravados com a resposta
  • Antispam — campo honeypot oculto; 10 envios por minuto por IP e página (Muitos envios. Tente novamente em instantes.); revalidação de todo campo no servidor
  • NotificaçãoReceber novos leads por e-mail → proprietários do workspace; assunto New lead on <título da página>
  • Idioma — o formulário aparece no idioma da página; a moldura do modal (denunciar abuso, termos) está em português para todo visitante hoje

Onde a resposta é guardada

FormResponse: página, id do clique, nome, e-mail, mensagem, avaliação, consentAt, consentText, uma linha por campo personalizado (pelo id do campo), duração, utm_* do link curto. Nenhum endereço IP é guardado. Exportação: RespostasExportar CSV (createdAt, name, email, message, rating, completed, duration, consentAt, <rótulos personalizados>, utm_*).

Mensagens de validação

App: Nota: Para formulários externos, não é possível garantir o preenchimento obrigatório, pois o usuário pode fechar o modal a qualquer momento. (embaixo do campo de URL externa) · Pre-redirection pages are only available for dynamic QR codes (botão desabilitado num QR Code estático — texto em inglês no app) · selo Business no botão abaixo do plano Business.

API (400 unprocessable_entity): Pre-redirection page URL missing · Invalid pre-redirection page URL · CodeQR page required for form submission. 404 not_found: Page not found. 403 forbidden: You can only use pre-redirection on a Business plan and above. Upgrade to Business to use this feature.

Ordem de operações numa visita

  1. Link banido, senha, expiração e tratamento de prévias.
  2. Formulário de pré-redirecionamento: aparece quando preRedirection está ligado, pageUrl está definido, o visitante não é robô e não tem cookie skipForm. O clique ou scan é registrado aqui.
  3. Depois do formulário (ou na segunda passagem): Camuflagem de links, Regras inteligentes, Segmentação iOS/Android/Geográfica e então a URL de destino. Os parâmetros de query da primeira visita não são repassados.

Não suportado hoje

  • Tools do servidor MCP (sem campos de formulário); módulos do Zapier, do Make e da Pluga (sem campos de formulário) — use a API.
  • Formulários externos obrigatórios; receber respostas de formulários externos na CodeQR.
  • Repassar os parâmetros de query do link curto ao destino depois do formulário.
  • QR Codes estáticos (a API aceita os campos, mas o formulário nunca aparece).
  • Limite de leads por plano: não existe — mas o limite de páginas por plano se aplica.

Artigos relacionados