Pular para o conteúdo principal
7 min de leitura

Integração com Squarespace

Adicione o Zenovay ao seu site Squarespace através do painel Code Injection. A integração não requer código, funciona em todos os templates do Squarespace e respeita o banner de consentimento GDPR/CCPA do Squarespace por padrão.

O Code Injection requer um plano Business ou superior (a partir de $23/mês). Planos Personal não expõem o Code Injection.


Início rápido

EtapaOndeO que fazer
1Painel do ZenovayCopie seu snippet de rastreamento
2Admin do Squarespace → Settings → Advanced → Code InjectionCole-o em Header
3SalveClique em Save no topo do painel
4Painel do ZenovayVisitantes em tempo real aparecem em ~30 segundos

Método 1: Code Injection para todo o site (Recomendado)

O painel Code Injection do Squarespace escreve HTML bruto no <head> de todas as páginas. É a forma recomendada de adicionar qualquer análise ou pixel de terceiros.

Passo a passo

  1. Faça login no painel de administração do Squarespace.
  2. No menu inicial, clique em Settings.
  3. Role para baixo e clique em Advanced.
  4. Clique em Code Injection.
  5. Cole o snippet do Zenovay na caixa Header:
<script defer data-tracking-code="YOUR_TRACKING_CODE" src="https://api.zenovay.com/z.js"></script>
  1. Clique em Save no topo do painel.

Verifique

Abra seu site ao vivo em uma janela anônima e visualize o código-fonte. Procure por <script defer data-tracking-code=...> entre <head> e </head>. Sua visita deve aparecer na visualização em tempo real do Zenovay em ~30 segundos.


Método 2: Code Injection por página (planos Premium / Business)

Se você quiser rastrear apenas páginas específicas, use a injeção por página:

  1. No admin, passe o mouse sobre a página no painel Pages.
  2. Clique no ícone de engrenagem para abrir as Page Settings.
  3. Abra a aba Advanced.
  4. Cole o snippet na caixa Page Header Code Injection.
  5. Salve.

A injeção por página é executada depois da injeção para todo o site. Não cole o rastreador em ambos os escopos — você vai contar duas vezes.


Rastreamento de eventos personalizados

Após o carregamento do rastreador, você pode chamar window.zenovay() de qualquer Code Block em uma página.

Rastreie cliques em CTA

  1. No editor de páginas, adicione um bloco Code ao lado do seu botão.
  2. Defina o idioma como HTML.
  3. Cole:
<script>
  document.addEventListener('DOMContentLoaded', () => {
    const cta = document.querySelector('[data-zv-cta="hero"]');
    if (!cta || !window.zenovay) return;
    cta.addEventListener('click', () => {
      window.zenovay('track', 'cta_clicked', { location: 'hero', page: location.pathname });
    });
  });
</script>
  1. Adicione um atributo data-zv-cta="hero" ao seu botão editando as configurações do bloco (alguns templates exigem envolver o botão em um bloco de código para vincular atributos brutos).

Rastreie envios de formulário

Os formulários nativos do Squarespace emitem um evento Y.Mojito.SquarespaceFormFront, mas a abordagem mais simples e compatível com todos os templates é ouvir o evento submit:

<script>
  document.addEventListener('DOMContentLoaded', () => {
    document.querySelectorAll('form[data-form-id]').forEach(form => {
      form.addEventListener('submit', () => {
        if (window.zenovay) {
          window.zenovay('track', 'form_submitted', {
            form_id: form.getAttribute('data-form-id'),
            page: location.pathname,
          });
        }
      });
    });
  });
</script>

Identifique clientes logados (Member Areas)

Se você usa Squarespace Member Areas, pode identificar clientes após o login. Adicione isso em Code Injection → Footer (para que seja executado depois que o Squarespace hidrata o contexto do membro):

<script>
  document.addEventListener('DOMContentLoaded', () => {
    const memberId = window.SquarespaceMemberAccountContext?.context?.memberId;
    const email = window.SquarespaceMemberAccountContext?.context?.emailAddress;
    if (memberId && window.zenovay) {
      window.zenovay('identify', { userId: memberId, email });
    }
  });
</script>

A superfície de contexto interno do Squarespace é de melhor esforço — envolva em try/catch se depender dela.


Rastreamento de compras no Squarespace Commerce

Para lojas Squarespace Commerce, dispare um evento purchase na página de confirmação de pedido:

  1. Vá em Settings → Advanced → Code Injection.
  2. Na caixa Order Confirmation Page (não na caixa Header comum), cole:
<script>
  document.addEventListener('DOMContentLoaded', () => {
    const orderId = document.querySelector('[data-order-id]')?.dataset.orderId
                 || window.location.pathname.split('/').pop();
    const total = document.querySelector('.order-total .price')?.textContent;
    const revenue = parseFloat((total || '').replace(/[^0-9.]/g, ''));
    if (window.zenovay && revenue > 0) {
      window.zenovay('track', 'purchase', {
        transaction_id: orderId,
        revenue,
        currency: 'USD',
      });
    }
  });
</script>

Para atribuição de receita precisa, incluindo reembolsos e assinaturas, prefira webhooks do Stripe no lado do servidor — o fallback client-side acima perde pedidos quando os compradores fecham a aba antes que a página de confirmação seja renderizada.


Requisitos do plano

PlanoCode InjectionInjeção por páginaEventos de Commerce
Personal
Business⚠️ Complemento
Basic Commerce
Advanced Commerce✅ + carrinho abandonado

Problemas comuns

O plano Personal não tem Code Injection. Este é o ticket de suporte mais comum. Você precisa do Business ($23/mês) ou superior.

Templates Squarespace 7.1 vs 7.0. Ambos suportam Code Injection de forma idêntica — o caminho no menu é o mesmo. A única diferença: alguns templates 7.0 têm uma opção separada "Page Header" nas configurações do template; ignore-a e use o painel padrão Settings → Advanced → Code Injection.

Páginas AMP / de bloqueio. O Squarespace serve uma variante AMP de posts de blog (/?format=amp). Seu rastreador não carregará nesses casos porque o AMP remove tags <script> arbitrárias. Se AMP for importante para você, desative a entrega AMP em Settings → Marketing → SEO.

Navegação estilo SPA em alguns templates. A maioria dos templates do Squarespace faz recarregamentos completos da página nos cliques de link. Alguns (notavelmente Brine e Native) têm transições de página via AJAX que não disparam um novo carregamento do <head>. Se você vê visualizações de página subestimadas nesses templates, chame window.zenovay('trackPageView') manualmente a partir de um listener popstate.

Banner de consentimento de cookies. Se você ativou o banner de cookies integrado do Squarespace (Settings → Cookies & Visitor Data), ele não bloqueia seu Code Injection personalizado. Para bloquear o Zenovay até o consentimento, use o modo data-cookieless="true" em vez disso, que não requer banner de consentimento na maioria das jurisdições.


Solução de problemas

SintomaCausa provávelCorreção
Sem dados, plano PersonalCode Injection desabilitado abaixo do BusinessFaça upgrade do plano
Sem dadosSnippet colado mas não salvoClique em Save no topo do painel Code Injection
Sem dados em posts de blogVariante AMP sendo servida ao seu dispositivo de testeDesative AMP ou teste a URL canônica
Algumas páginas ausentesCode Injection por página apenas em algumas páginasMova o snippet para o Header global
Visualizações de página duplicadasSnippet colado no Header global e no Header por páginaEscolha um escopo

Privacidade e conformidade

Para rastreamento sem cookies (sem cookies, sem armazenamento local), adicione data-cookieless="true":

<script defer
        data-tracking-code="YOUR_TRACKING_CODE"
        data-cookieless="true"
        src="https://api.zenovay.com/z.js"></script>

Consulte Conformidade de Privacidade para o panorama completo.


Recursos relacionados


Precisa de ajuda? Entre em contato pelo [email protected] ou visite nossa Central de Ajuda.

Esta página foi útil?