Descrição geral
Este guia abrange problemas comuns de implementação, melhores práticas e soluções para o ajudar a evitar problemas de rastreio e garantir a exatidão dos dados.
Erros comuns de implementação
Erro 1: Implementação duplicada (Nativo + GTM)
Problema: o erro mais comum é implementar simultaneamente o SDK JavaScript nativo e o SDK do Google Tag Manager. Isso faz com que todas as sessões e eventos sejam rastreados duas vezes, aumentando todas as métricas em 200%.
IMPORTANTE! O Singular não desduplica eventos automaticamente. O uso de ambos os métodos de implementação duplicará a contagem de todos os seus dados.
Como identificar esse problema:
- Verifique o código-fonte do seu site para o script Singular SDK
- Verifique se há tags Singular no Gerenciador de tags do Google
- Nas ferramentas de desenvolvimento do navegador, filtre as solicitações de rede por
singulare conte quantas solicitações são disparadas no carregamento da página (deve ser 1, não 2)
Solução:
- Decidir qual o método de implementação que pretende utilizar(recomenda-se JS nativo)
- Remover completamente a outra implementação
- Teste para verificar se apenas um pedido é disparado por evento
- Monitorize os seus dados durante 24-48 horas para garantir que as métricas voltam ao normal
Erro 2: Formato incorreto da ID do produto
Problema: Usando o formato incorreto para sua ID do produto. A ID do produto deve ser consistente para o aplicativo da Web em todos os subdomínios.
Erros comuns:
- Usar um URL de site:
www.mycompany.com❌ - Usar traços:
my-company-store❌ - Utilização de DNS avançado:
mycompany.com.store❌ - Utilização de espaços:
my company store❌
Formato correto (notação de DNS inverso):
-
com.mycompany✓
DICA! Pense na sua ID de produto como um identificador de pacote de aplicativo móvel. Use letras minúsculas, comece com seu domínio ao contrário e use pontos para separar componentes.
Como identificar esse problema:
- Verifique os pedidos de rede nas ferramentas do programador - procure erros 400 ou 403
- Verifique o parâmetro
ina carga útil do pedido nas ferramentas de desenvolvimento do navegador. - Verifique se há erros na consola do browser
Solução:
- Obtenha o valor correto da sua Página de Aplicações Singulares (BundleId)
- Atualize sua implementação com o formato correto
- Teste e verifique os códigos de status 200 nas solicitações de rede
Erro 3: Eventos disparados várias vezes
Problema: Os eventos são disparados várias vezes devido a recarregamentos de página, cliques rápidos do utilizador ou falta de lógica de deduplicação. Isso aumenta a contagem de eventos e os números de conversão.
Causas comuns:
- O usuário clica em um botão várias vezes rapidamente
- O código do evento é executado em cada renderização de página (React, Vue, aplicações Angular)
- Envios de formulários que não impedem o comportamento padrão
- Atualizações de página ou navegação pelo botão Voltar
- Gatilhos do Google Tag Manager disparados várias vezes
IMPORTANTE! Ao contrário de algumas plataformas de análise, o Singular não desduplica eventos automaticamente. É sua responsabilidade implementar mecanismos de segurança para evitar o rastreamento duplicado.
Estratégias de solução:
Analise as estratégias nos guias de implementação para obter mais detalhes. JS nativo, GTM
Erro 4: SDK não está carregando
Problema: O script Singular SDK não é carregado, impedindo qualquer rastreamento.
Causas comuns:
- Script bloqueado por bloqueadores de anúncios (afeta principalmente o GTM)
- Restrições da Política de Segurança de Conteúdo (CSP)
- Script colocado numa localização incorrecta na página
- Erros de sintaxe no código de implementação
- Problemas de conetividade de rede
Como diagnosticar:
- Abrir o separador Consola das ferramentas de programação do browser
- Procure erros que mencionem "singular" ou "sdk"
- Escreva
typeof singularSdkna consola - deve devolver "função" e não "indefinido" - Verifique o separador Rede para ver se há falhas no carregamento de scripts
- Desativar os bloqueadores de anúncios e testar novamente
Soluções:
- Bloqueadores de anúncios: Mudar para a implementação de JavaScript nativo (menos provável de ser bloqueado)
- Problemas de CSP: Adicionar domínios Singular à sua Política de segurança de conteúdo
-
Colocação de scripts: Certifique-se de que o script SDK está na tag
<head> - Erros de sintaxe: Valide o seu código JavaScript
Configuração da política de segurança de conteúdo
Se o seu site usa cabeçalhos CSP, adicione estas diretivas:
Content-Security-Policy: script-src 'self' https://web-sdk-v1.singular.net; connect-src 'self' https://sdk-api-v1.singular.net;
Melhores práticas
Gestão do ID do produto
- Utilizar um ID de produto por site ou aplicação Web
- Mantenha as IDs de produto consistentes em todas as páginas e subdomínios
- Documentar as IDs de produto na base de conhecimentos da sua equipa
- Use IDs de produto separadas para ambientes de desenvolvimento, teste e produção
Convenções de nomenclatura de eventos
Boas práticas de nomenclatura:
- Use nomes claros e descritivos:
Purchase,Signup_Completed,Video_Play - Usar capitalização consistente (recomendar Title_Case)
- Utilizar sublinhados em vez de espaços
- Manter os nomes com menos de 32 caracteres
- Evitar caracteres especiais e emojis
Maus exemplos:
-
Purchase!!!🎉(caracteres especiais e emojis) -
user clicked the purchase button on the checkout page(demasiado longo, espaços) -
evt_123(não descritivo)
DICA! Crie um documento de nomeação de eventos partilhado entre as equipas de marketing, produto e engenharia para manter a consistência.
Práticas recomendadas de parâmetros de eventos
-
Receita: Envie sempre como um número, não como uma cadeia de caracteres:
revenue: 49.99e nãorevenue: "$49.99" -
Moeda: Use códigos de moeda ISO de 3 letras:
USD,EUR,GBP -
IDs: Enviar como cadeias de caracteres, mesmo que sejam numéricas:
product_id: "12345" - Nomes de parâmetros: Usar snake_case para consistência
- Valores: Manter os valores das cadeias de caracteres com menos de 100 caracteres
Estratégia de teste
Siga esta lista de verificação de testes antes do lançamento:
Tabela
| Teste | Como verificar | Resultado esperado |
|---|---|---|
| O SDK é carregado |
Consola: typeof singularSdk
|
Retorna "function" (função) |
| Init/PageVisit rastreado | Separador Rede: Filtro "__PAGE_VISIT__" | 1 pedido no carregamento da página com o estado 200 |
| Eventos disparados | Desencadear o evento, verificar o separador Rede, validar o nome do evento (parâmetro "n") na carga útil. | Novo pedido por evento com o estado 200 |
| ID do produto correta | Verificar a carga útil do pedido, validar o nome do evento (parâmetro "i") na carga útil. | Formato DNS invertido |
| Sem duplicados | Acionar o mesmo evento 3 vezes rapidamente | Apenas 1 pedido enviado |
| Receita controlada | Verificar a carga útil do evento de compra | A receita aparece como um número |
| Várias páginas | Navegar para páginas diferentes | O rastreio funciona em todas as páginas |
| Dispositivos móveis | Teste em navegadores iOS e Android | O rastreio funciona no telemóvel |
Otimização do desempenho
- Coloque o script SDK em
<head>tag para carregamento antecipado - Minimize o número de eventos rastreados por página (concentre-se em acções significativas, eventos de marketing)
- Evitar o rastreio de cada toque de tecla (utilizar o debouncing)
Privacidade e conformidade
Divulgação de cookies
Se você ativar o rastreamento de domínios cruzados na sua configuração, o Singular definirá um cookie primário. Você deve divulgar isso em sua política de privacidade.
Linguagem recomendada para a política de privacidade:
Utilizamos cookies para rastrear o comportamento do utilizador e melhorar a sua experiência no website. Especificamente, usamos os seguintes cookies:
singular_device_id - Este cookie atribui um ID único aos utilizadores que visitam o nosso website. Este ID ajuda-nos a seguir as actividades e interações dos utilizadores durante a sua visita sem recolher informações pessoais. Permite-nos diferenciar entre utilizadores e monitorizar o comportamento dos visitantes em diferentes sessões.
- Duração: 1 ano
- Tipo: Cookie de primeira parte
- Provedor: Singular (https://www.singular.net/privacy-policy/)
Conformidade com o RGPD e a privacidade
Para conformidade com o GDPR:
- Definir
persistentIdentifier: falsepor predefinição - Ativar os cookies apenas após o consentimento do utilizador
- Fornecer aos utilizadores a possibilidade de optarem por não seguir o rastreio
- Incluir o Singular no seu banner de consentimento de cookies
Ferramentas e técnicas de depuração
Ferramentas de desenvolvimento do navegador
Comandos de consola para depuração:
// Check if SDK is loaded
typeof singularSdk
// Should return: "function"
// Test firing an event manually
window.singularSdk.event("test");
Lista de verificação de migração
Se estiver a mudar de outra plataforma de análise ou a atualizar a sua implementação:
-
Auditar a implementação atual
- Documentar todos os eventos atualmente rastreados
- Identificar todas as páginas com código de rastreamento
- Anotar quaisquer parâmetros personalizados ou IDs de utilizador
- Planear a nova implementação
-
Implementar por fases
- Começar com um ambiente de teste/preparação
- Testar exaustivamente (mínimo de 1 semana)
- Implementar na produção durante um período de pouco tráfego
- Executar em paralelo com o sistema antigo durante 1-2 semanas
-
Validar os dados
- Comparar as métricas entre os sistemas antigo e novo
- Verificar se há rastreamento duplicado
- Verificar se todos os eventos estão a disparar corretamente
- Monitorizar durante 2-4 semanas
-
Desativar o sistema antigo
- Remover o código de rastreio antigo
- Atualizar a documentação
- Formar a equipa no novo sistema
Obter ajuda
Se você encontrar problemas não abordados neste guia:
- Entre em contato com o gerente de sucesso do cliente da Singular.
- Envie um tíquete de suporte através do painel de controle da Singular.
- Inclua logs do console do navegador e capturas de tela da solicitação de rede.
- Forneça o URL do seu site e etapas detalhadas para replicar qualquer problema.