Instalação por plataforma
Guias manuais para inserir o script da Pulsant em aplicações e construtores de sites.
Antes de escolher o guia
Estas instruções são integrações manuais do script da Pulsant; não são plugins, apps publicados ou integrações nativas dessas plataformas. Configure os endereços públicos do script e da coleta para seu ambiente, substitua SEU_SITE_ID pelo ID público do site e autorize analytics pela sua CMP. O snippet respeita o consentimento pendente. Para persistência ou gravação de comportamento, integre cada finalidade separadamente. Se o ambiente usa Content Security Policy, permita as origens configuradas do script e da coleta.
<script async src="https://api.pulsant.app/tracker.js" data-collect-url="https://api.pulsant.app" data-site-id="SEU_SITE_ID"></script>Next.js App Router
Crie um componente de instalação no layout do site ou no layout do grupo de rotas que deve receber analytics. O exemplo carrega o script depois que a página fica interativa; os atributos do site são encaminhados ao elemento script. Se a aplicação usa um CMP, envie consentimento depois da escolha da pessoa. A Pulsant acompanha mudanças de rota da SPA, então não injete o script em cada página.
import Script from "next/script";
export function PulsantTracker() {
return (
<Script
src="URL_DO_SCRIPT"
strategy="afterInteractive"
data-collect-url="URL_DA_COLETA"
data-site-id="SEU_SITE_ID"
/>
);
}React com Vite ou outro cliente SPA
Para um app com HTML de entrada, adicione a tag uma vez ao documento raiz. Se preferir renderizar o script pelo React, mantenha o mesmo src e async em um componente raiz estável; não monte uma nova cópia por rota. O tracker observa pushState, replaceState e popstate por conta própria.
<script async src="https://api.pulsant.app/tracker.js" data-collect-url="https://api.pulsant.app" data-site-id="SEU_SITE_ID"></script>Vue e Nuxt
Em Vue sem SSR, use o documento HTML de entrada do app. No Nuxt, declare o script uma vez no app.vue ou em um layout compartilhado com useHead. Configure script e ID como valores públicos de ambiente e não duplique o carregamento em páginas filhas.
useHead({
script: [{
src: "URL_DO_SCRIPT",
async: true,
"data-collect-url": "URL_DA_COLETA",
"data-site-id": "SEU_SITE_ID"
}]
});Svelte e SvelteKit
Em uma aplicação Svelte, coloque o script no documento de entrada ou no componente de layout compartilhado. O elemento svelte:head insere a tag no head do documento também durante SSR. Mantenha-o no layout raiz para não criar uma tag por rota.
<svelte:head>
<script
async
src="URL_DO_SCRIPT"
data-collect-url="URL_DA_COLETA"
data-site-id="SEU_SITE_ID"
></script>
</svelte:head>Astro
Adicione o script ao layout compartilhado. Como o script remoto recebe atributos além de src, use is:inline para o Astro emitir o elemento sem tentar empacotá-lo. O tracker observa chamadas às APIs padrão de histórico; se seu projeto usa view transitions, confira as rotas publicadas para confirmar um pageview por navegação antes de adicionar eventos manuais.
<script is:inline async src="URL_DO_SCRIPT" data-collect-url="URL_DA_COLETA" data-site-id="SEU_SITE_ID"></script>HTML estático
Cole o snippet no head compartilhado do documento, uma vez por página. Mantenha async e confira se o hostname enviado pertence à lista autorizada do site. Para páginas independentes sem navegação SPA, o script registra o pageview inicial automaticamente.
<script async src="https://api.pulsant.app/tracker.js" data-collect-url="https://api.pulsant.app" data-site-id="SEU_SITE_ID"></script>WordPress — código manual no tema
Não existe plugin Pulsant publicado. Para uma instalação mantida no tema, use um tema filho e enfileire o script no frontend. O filtro abaixo inclui os atributos públicos necessários; adapte os dois endereços e o ID. wp_enqueue_script aceita a estratégia async nas versões atuais documentadas pelo WordPress. Uma atualização ou troca de tema pode exigir reaplicar a alteração.
add_action('wp_enqueue_scripts', function () {
wp_enqueue_script('pulsant-tracker', 'URL_DO_SCRIPT', [], null, [
'strategy' => 'async',
'in_footer' => false,
]);
});
add_filter('script_loader_tag', function ($tag, $handle, $src) {
if ($handle !== 'pulsant-tracker') return $tag;
return str_replace(
'<script ',
'<script data-collect-url="' . esc_attr('URL_DA_COLETA') . '" data-site-id="' . esc_attr('SEU_SITE_ID') . '" ',
$tag
);
}, 10, 3);Framer
Use Project Settings → Custom Code para adicionar uma única instalação ao site inteiro. Escolha a posição permitida pelo projeto, salve e publique; alterações de custom code não aparecem apenas por editar um preview. Não cole outra cópia em cada página se o código já estiver configurado globalmente.
<script async src="https://api.pulsant.app/tracker.js" data-collect-url="https://api.pulsant.app" data-site-id="SEU_SITE_ID"></script>Webflow
No painel do site, abra Site settings → Custom code e insira o snippet em Head code. Salve e publique o site: a alteração pode não aparecer no preview do Designer. Se usar código por página, aplique-o somente nas páginas públicas que pertencem ao mesmo site Pulsant.
<script async src="https://api.pulsant.app/tracker.js" data-collect-url="https://api.pulsant.app" data-site-id="SEU_SITE_ID"></script>Shopify — storefront do tema
Não existe app Pulsant publicado nesta versão. Duplique o tema como cópia de segurança e, no editor de código, adicione o snippet em layout/theme.liquid antes de fechar head. A edição é manual, pode ser sobrescrita por uma atualização ou troca de tema e cobre o storefront; não presume acesso ao checkout hospedado da Shopify.
<script async src="https://api.pulsant.app/tracker.js" data-collect-url="https://api.pulsant.app" data-site-id="SEU_SITE_ID"></script>Google Tag Manager — instalação após consentimento
Crie uma tag Custom HTML e use um evento do seu CMP que só ocorra depois da concessão de analytics. O trecho prepara a fila, registra o consentimento concedido antes do carregamento e insere o script uma única vez. Configure a revogação no CMP para chamar revoke. Não use um gatilho anterior ao consentimento para esta tag; se sua política exigir que o script nem carregue antes da autorização, esse gatilho é essencial.
<script>
window.pulsant = window.pulsant || Object.assign(function (...args) { window.pulsant.q.push(args); }, { q: [] });
window.pulsant("consent", { analytics: true, persistent: false, behavior: false });
if (!document.getElementById("pulsant-tracker")) {
var script = document.createElement("script");
script.id = "pulsant-tracker";
script.async = true;
script.src = "URL_DO_SCRIPT";
script.dataset.collectUrl = "URL_DA_COLETA";
script.dataset.siteId = "SEU_SITE_ID";
document.head.appendChild(script);
}
</script>Confirme a origem e a finalidade
As origens de coleta e script são configuradas pelo ambiente; o fallback localhost serve somente ao desenvolvimento. Não copie localhost para produção. Após publicar, confirme o primeiro evento no onboarding, confira o hostname recebido e valide rotas SPA sem instalar o script novamente. O guia não cria integração com checkout nem substitui a configuração de consentimento do seu site.