O Service Worker é o componente que torna as Push Notifications possíveis no seu site. Neste guia você entende o papel dele, como se conecta à Inngage e as regras dos navegadores para que tudo funcione.
O que é um Service Worker?
É um script JavaScript executado em segundo plano pelo navegador, independente da página aberta. Ele habilita funcionalidades avançadas como Push Notifications, cache inteligente de arquivos, modo offline e interceptação de requisições.
📌 No contexto de push, o Service Worker é obrigatório: é ele que permite ao navegador receber e exibir mensagens mesmo quando o usuário não está com o site aberto.
Como funciona com a Inngage
- A Inngage solicita ao visitante a permissão para enviar notificações.
- Quando o visitante aceita, o navegador instala o Service Worker no domínio do site.
- O Service Worker passa a "escutar" as comunicações vindas da Inngage.
- Quando uma mensagem é enviada, ele exibe a notificação na tela do usuário.
Regras obrigatórias dos navegadores
O protocolo Web Push, seguido por todos os navegadores modernos, impõe estas regras:
- Apenas um Service Worker pode ser registrado por domínio.
- O arquivo precisa estar acessível na raiz do site, ou em um caminho com permissão explícita (via header
Service-Worker-Allowed). - Deve ser hospedado no mesmo domínio do site — nunca em domínio ou subdomínio diferente.
- O navegador não aceita Service Workers carregados via
<script>na página; precisa ser um arquivo JS independente.
⚠️ Essas regras são definidas pelos padrões da web (W3C) — não são limitações da Inngage.
Formas de instalar o Service Worker da Inngage
- Via Upload/FTP: acesse a raiz do seu site (normalmente
public_html) e faça o upload do arquivosw.jsfornecido pela Inngage. Veja o guia Instalação manual do Service Worker via FTP. - Via VTEX IO / Legacy: veja o guia Instalação manual em VTEX IO.
- Via Cloudflare: veja o guia Instalação via Cloudflare.
- Em subdiretórios ou SW existente: veja os guias específicos desta seção.
Perguntas frequentes
Posso usar um Service Worker hospedado em outro domínio? Não. Por segurança, o protocolo Web Push proíbe Service Workers externos.
Posso incluir o conteúdo do Service Worker num <script> no HTML? Não. Ele precisa ser um arquivo JS independente, hospedado no servidor.
Meu site pode enviar Push sem Service Worker? Não — sem ele o navegador não exibe notificações push.
E se eu instalar a tag da Inngage sem configurar o Service Worker? A Inngage tentará pedir permissão via modal e pop-up, mas esse fluxo exige dupla confirmação do visitante e derruba drasticamente a taxa de opt-in. As On Site Notifications continuam funcionando normalmente. Recomendação: instale o Service Worker corretamente para maximizar conversões.
Posso hospedar o Service Worker em um subdiretório? Sim, desde que a resposta HTTP inclua o cabeçalho Service-Worker-Allowed: /. Veja o guia Instalando o Service Worker em subdiretórios.
Meu site já usa um Service Worker. Como integrar o da Inngage? É possível combinar os dois scripts em um único Service Worker — veja o guia Instalando a Inngage em um Service Worker existente.
O Service Worker da Inngage é seguro? Sim. O script é auditável, não acessa nenhuma informação pessoal do visitante e tem uma única função: exibir as notificações para quem concedeu permissão.

