Adicione o Zenovay a qualquer publicação Ghost em dois minutos. O Code Injection está disponível em todos os planos Ghost, incluindo o Ghost CMS auto-hospedado — sem necessidade de upgrade.
O Code Injection está disponível em todos os planos Ghost, incluindo o Ghost CMS auto-hospedado. Temas personalizados precisam do helper {{ghost_head}} em default.hbs (a maioria dos temas já tem).
Início rápido
- Copie seu snippet de rastreamento do painel do Zenovay.
- No seu admin do Ghost, abra Settings → Code injection → Site Header.
- Cole o snippet.
- Clique em Save.
Instalação
Injeção no Site Header (recomendado)
- Faça login no seu admin do Ghost (geralmente
https://seu-site.com/ghost/). - Clique em Settings (ícone de engrenagem).
- Role até Site → Code injection.
- Cole este snippet na caixa Site Header:
<script defer data-tracking-code="YOUR_TRACKING_CODE" src="https://api.zenovay.com/z.js"></script>
- Clique em Save.
Injeção por post / por página
Para rastrear apenas um post específico:
- Abra o post no editor.
- Clique no ícone de engrenagem (configurações) no canto superior direito.
- Expanda Code injection.
- Cole o snippet em Post Header.
- Atualize o post.
Não cole tanto no global quanto no por post — você vai contar duas vezes.
Verifique sua instalação
- Abra seu site Ghost em uma janela anônima.
- Visualize o código-fonte e procure por
<script defer data-tracking-code=...>no<head>. - Verifique a visualização em tempo real do Zenovay — sua visita aparece em ~30 segundos.
Identifique membros Ghost
O Ghost expõe o membro atual através de /members/api/member/. Identifique em todas as páginas:
<script>
fetch('/members/api/member/', { credentials: 'include' })
.then(r => r.ok ? r.json() : null)
.then(member => {
if (member && window.zenovay) {
window.zenovay('identify', member.uuid, {
email: member.email,
name: member.name,
plan: member.subscriptions?.[0]?.plan?.nickname,
});
}
})
.catch(() => {});
</script>
Rastreamento de inscrições em newsletter
Os formulários de inscrição do Ghost emitem um evento submit padrão:
<script>
document.addEventListener('DOMContentLoaded', () => {
document.addEventListener('submit', (e) => {
const form = e.target;
if (form?.matches('[data-members-form]')) {
window.zenovay?.('track', 'signup', {
form_type: form.dataset.membersForm || 'signup',
});
}
}, true);
});
</script>
Rastreamento de cliques em assinatura paga
O Ghost renderiza botões de acionar portal com atributos data-portal:
<script>
document.addEventListener('click', (e) => {
const target = e.target.closest('[data-portal]');
if (target && window.zenovay) {
window.zenovay('track', 'portal_opened', {
action: target.dataset.portal,
});
}
}, true);
</script>
Para atribuição de receita precisa em assinaturas pagas, use a integração de webhook Stripe do Ghost e envie eventos do Stripe para o Zenovay via rastreamento server-side.
Trabalhando com temas Ghost personalizados
O Code Injection é renderizado através do helper Handlebars {{ghost_head}}. Se você usa um tema personalizado, certifique-se de que default.hbs contém:
{{ghost_head}}
…dentro do <head>, antes de </head>. A maioria dos temas Ghost de terceiros (Casper, Source, Edition, etc.) inclui isso por padrão.
Solução de problemas
Sem dados, tema personalizado. Verifique se {{ghost_head}} está presente no seu default.hbs. Sem ele, o Code Injection não tem onde renderizar.
Sem dados nas URLs /amp/. Se você habilitou a integração Ghost AMP, o Code Injection não se aplica às variantes AMP (o AMP remove scripts arbitrários). Desative o AMP ou aceite que o tráfego AMP não será rastreado.
Visualizações de página duplicadas. Snippet colado no Site Header e no Code Injection por post. Escolha um escopo.
Membros nunca identificados. /members/api/member/ retorna 404 em versões mais antigas do Ghost (< 4.x). Faça upgrade da sua instalação Ghost.
Requisitos do plano
| Edição do Ghost | Code Injection | Temas personalizados |
|---|---|---|
| Ghost(Pro) Starter | ✅ | ❌ (somente Casper) |
| Ghost(Pro) Creator | ✅ | ✅ |
| Ghost(Pro) Team / Business | ✅ | ✅ |
| Ghost CMS auto-hospedado | ✅ | ✅ |
Privacidade
Para rastreamento sem cookies, adicione data-cookieless="true":
<script defer
data-tracking-code="YOUR_TRACKING_CODE"
data-cookieless="true"
src="https://api.zenovay.com/z.js"></script>
O próprio analytics de membros do Ghost usa cookies first-party de qualquer forma, então adicionar o Zenovay em modo sem cookies é um padrão comum.
Próximos passos
- Leia o guia completo de integração com Ghost em docs.zenovay.com para configurações avançadas, incluindo trabalho com temas personalizados e rastreamento de webhook Stripe server-side.
- Configure metas de conversão.
- Precisa de ajuda? Entre em contato pelo [email protected].