O Singular Website SDK é um recurso empresarial. Se você estiver interessado em usar esse recurso, entre em contato com seu Gerente de Sucesso do Cliente.
O Singular Website SDK permite atribuir atividades do website a pontos de contato de marketing e rastrear eventos de usuários em seu website. É também um componente-chave na solução de atribuição entre dispositivos da Singular, tornando possível analisar as jornadas dos usuários e calcular o LTV e o ROAS entre plataformas.
Para saber mais, consulte nossas Perguntas frequentes sobre atribuição entre dispositivose Perguntas frequentes sobre atribuição na Web.
Além da versão nativa em JavaScript descrita aqui, o Singular Website SDK também está disponível como um modelo do Google Tag Manager.
Compatibilidade com navegadores:
Chrome: 15+ | Edge: 15+ | Internet Explorer: 10+ |
Safari: 5.1+ | Firefox: 6+ | Opera: 15+ |
Como adicionar o script do SDK ao seu site
Use um dos métodos a seguir para configurar o SDK em seu site ou aplicativo da Web.
Link para o script no CDN da Singular
Nesse método, a Singular hospeda o código JavaScript do SDK no CDN da Singular.
Adicione o seguinte código dentro da tag <head> de cada página que você deseja rastrear:
<head>
<!-- Usando a versão mais recente do SDK -->
<script src="https://web-sdk-cdn.singular.net/singular-sdk/latest/singular-sdk.js">
</script>
</head>
Observação: O código acima está vinculado à versão mais recente do SDK. Se você quiser usar uma versão específica do SDK, use o código a seguir:
<head>
<!-- Uso de uma versão fixa do SDK -->
<script src="https://web-sdk-cdn.singular.net/singular-sdk/1.4.2/singular-sdk.js">
</script>
</head>
Configuração usando o NPM
- Execute npm i singular-sdk no diretório raiz do seu projeto ou adicione "singular-sdk": "^1.4.1" à seção de dependências no seu arquivo package.json e, em seguida, execute npm install.
- Adicione o código a seguir nos scripts que você deseja usar o SDK.
import {singularSdk, SingularConfig} from "singular-sdk";
Inicialização do SDK
O código de inicialização do SDK deve ser chamado sempre que uma página for carregada. Ele é um pré-requisito para todas as funcionalidades de atribuição do Singular e também:
- Cria uma nova sessão de usuário quando um usuário entra no site com novos dados de publicidade ou quando o tempo limite da sessão é ultrapassado.
- Envia um novo evento de "visita à página" para a Singular
Os eventos de visitas à página e as sessões de usuário são usados para calcular a retenção de usuários e permitir a atribuição de reengajamento.
1. Construção do objeto SingularConfig
Antes de inicializar o SDK, você precisa criar um objeto SingularConfig. Esse objeto conterá:
- SDK Key e SDK Secret: para encontrá-los, faça login em sua conta da Singular e vá para "Developer Tools > SDK Integration > SDK Keys".
- Seu ID do produto: Um nome para seu site. Recomendamos usar a notação de DNS reverso de seu domínio principal da Web, por exemplo, "com.example". Isso será usado para identificar seu site em toda a plataforma Singular. Esse valor também deve corresponder ao ID do pacote de aplicativos na página de aplicativos na plataforma Singular.
- Opcionalmente, quaisquer preferências de SDK que você queira definir (leia mais para obter detalhes).
Para criar um objeto SingularConfig básico, use este código:
const config = new SingularConfig(sdkKey, sdkSecret, productId);
No entanto, você provavelmente desejará adicionar configurações para habilitar vários recursos oferecidos pela Singular.
Para adicionar configurações, você usará os métodos ".with" do objeto SingularConfig. Por exemplo:
// Configure o SDK para passar o ID do usuário para o Singular
const config = new SingularConfig(sdkKey, sdkSecret, productId)
.withCustomUserId(userId);
Referência do método SingularConfig
Aqui estão todos os métodos ".with" disponíveis.
Método | Descrição | Saiba mais |
.withCustomUserId(customId) | Enviar o ID do usuário para a Singular | Definir a ID do usuário |
.withProductName(productName) | Um nome de exibição opcional para o produto | |
.withLogLevel(logLevel) | Configura o nível de registro: 0 - Nenhum (padrão); 1 - Warn; 2 - Info; 3 - Debug. | |
.withSessionTimeoutInMinutes (timeout) | Define o tempo limite da sessão em minutos (padrão: 30 minutos) |
|
.withAutoPersistentSingularDeviceId (domain) | Ativar o rastreamento automático entre subdomínios | Auto-Persistência usando cookies |
.withPersistentSingularDeviceId (singularDeviceId) |
Ativar o rastreamento manual entre subdomínios | Definir manualmente o ID do dispositivo singular |
.withInitFinishedCallback(callback) | Invocar uma chamada de retorno quando a inicialização do SDK estiver concluída | Invocação de uma função de retorno de chamada quando a inicialização estiverconcluída |
2. Inicialização da Singular
Depois de criar o objeto SingularConfig, inicialize a Singular usando o método init, passando o objeto config.
O método init pode ser chamado em qualquer ponto do código, mas deve ser chamado antes que qualquer evento seja relatado. Recomendamos chamar init durante o carregamento de cada página que você deseja rastrear.
Método init | |
---|---|
Descrição | Inicializa o SDK com as opções de configuração definidas no objeto SingularConfig. |
Assinatura | init(config) |
Exemplo de uso |
|
Importante: Para aplicativos de página única (SPAs), chame singularSdk.pageVisit() toda vez que for roteado para uma página diferente. Não chame singularSdk.pageVisit() na primeira página que for carregada, pois singularSdk.init já relata uma visita à página.
Invocação de uma função de retorno de chamada quando a inicialização estiver concluída
Para definir uma função de retorno de chamada a ser chamada quando a inicialização for concluída, use . withInitFinishedCallback(callback) no objeto SingularConfig.
Método withInitFinishedCallback | |
---|---|
Descrição | Define a chamada de retorno que será chamada quando o processo de inicialização for concluído. |
Assinatura | withInitFinishedCallback(callback) |
Exemplo de uso |
|
Envio do ID de usuário para a Singular (opcional)
Você pode enviar seu ID de usuário interno para a Singular usando um método do SDK da Singular.
Observação: Se você usar a solução Cross-Device da Singular, deverá coletar o ID do usuário em todas as plataformas.
- O ID do usuário pode ser qualquer identificador e não deve expor PII (Informações Pessoais Identificáveis). Por exemplo, você não deve usar o endereço de e-mail, nome de usuário ou número de telefone de um usuário. A Singular recomenda o uso de um valor hash exclusivo apenas para seus dados primários.
- O valor do ID de usuário passado para a Singular também deve ser o mesmo ID de usuário interno que você captura em todas as plataformas (Web/Mobile/PC/Console/Offline).
- A Singular incluirá o ID de usuário nas exportações em nível de usuário, ETL e postbacks de BI interno (se configurado). O ID do usuário é um dado primário, e a Singular não o compartilha com terceiros.
- O valor da ID de usuário, quando definido com o método Singular SDK, persistirá até que seja desfeito usando o método logout() ou até que o armazenamento local do navegador seja excluído. Fechar ou atualizar o site não cancela a definição da ID de usuário.
- No modo privado/incógnito, o SDK não pode manter a ID de usuário porque o navegador exclui automaticamente o armazenamento local quando é fechado.
Para definir a ID de usuário, use o método login(). Para cancelar a definição (por exemplo, se o usuário fizer "logout" da conta), chame o método logout().
Observação: se vários usuários usarem um único dispositivo, recomendamos a implementação de um fluxo de logout para definir e cancelar a definição da ID de usuário para cada login e logout.
Se você já souber a ID do usuário quando o Singular SDK for inicializado no site, defina a ID do usuário no objeto de configuração. Dessa forma, a Singular pode ter a ID de usuário desde a primeira sessão. No entanto, a ID do usuário normalmente não está disponível até que o usuário se registre ou faça um login. Nesse caso, chame login() depois que o fluxo de registro for concluído.
Método login() do SingularSDK | |
---|---|
Descrição | Envia o ID do usuário para o Singular. |
Assinatura | login(customUserId) |
Exemplo de uso |
|
Método logout() do SingularSDK | |
Descrição | Desfaz a configuração do ID de usuário que foi enviado para a Singular. |
Assinatura | logout() |
Exemplo de uso |
|
Importante: esse recurso avançado da Enterprise só está disponível em casos excepcionais. Consulte um dos engenheiros de soluções da Singular antes de implementá-lo.
A Singular pode receber dados adicionais de rastreamento de eventos móveis por meio de uma integração de servidor para servidor. Para utilizar esse recurso, você deve mapear o ID do usuário para o identificador de rastreamento de dispositivos móveis da Singular.
Observação: chame esse método o mais rápido possível após a inicialização do SDK da Singular ou assim que tiver o ID do usuário.
Método setDeviceCustomUserId do SingularSDK | |
---|---|
Descrição | Define o ID de usuário personalizado igual ao login e o mapeia para o identificador de rastreamento da Singular. |
Assinatura | singularSdk.setDeviceCustomUserId(userId) |
Exemplo de uso |
|
Opcional: Rastreamento de eventos e receita
Rastreamento de eventos (não receita)
A Singular pode coletar dados sobre eventos de usuários no site para ajudar a analisar o desempenho de suas campanhas e medir KPIs. Por exemplo, sua organização pode querer coletar dados sobre logins de usuários, registros ou conclusões de tutoriais.
Você pode enviar eventos para a Singular usando o método de evento.
Observação:
- É altamente recomendável passar nomes e atributos de eventos em inglês para garantir a compatibilidade com parceiros terceirizados e soluções de análise, caso planeje usá-los.
- Os nomes de eventos são limitados a 32 caracteres ASCII. As cadeias de caracteres em caracteres não ASCII devem ter menos de 32 bytes depois de convertidas em UTF-8.
- Os atributos e valores são limitados a 500 caracteres ASCII.
evento Método | |
---|---|
Descrição | Relata um evento de usuário à Singular com ou sem informações adicionais. |
Assinatura |
singularSdk.event(eventName, args) Observação: "args" é um objeto JavaScript com pares de valores chave. Se você não quiser passar nenhum args adicional, chame o método event apenas com o nome do evento. |
Exemplo de uso |
|
Rastreamento de receita
A Singular pode coletar dados sobre a receita obtida por meio do site para ajudar a analisar o desempenho e o ROI de suas campanhas. A Singular disponibilizará os dados para você em relatórios, exportações de log e postbacks.
Use o método de receita para relatar eventos. A receita permite que você passe um nome de evento personalizado, de modo que você possa visualizar a receita nos relatórios da Singular divididos pelos diferentes tipos de eventos de receita.
Observações: Qualquer receita informada em uma moeda diferente será convertida automaticamente para a moeda preferida de sua organização, conforme definido em sua conta da Singular.
receita Método | |
---|---|
Descrição | Envia um evento de receita para a Singular com informações adicionais opcionais. |
Assinatura |
singularSdk.revenue(eventName, currency, amount, args) Observação:
|
Exemplo de uso |
|
Opcional: Rastreamento entre subdomínios
Por padrão, o Singular Website SDK gera uma ID de dispositivo Singular e a mantém usando o armazenamento do navegador. Como esse armazenamento não pode ser compartilhado entre subdomínios, o SDK acaba gerando uma nova ID para cada subdomínio.
Se quiser manter a ID do dispositivo Singular em todos os subdomínios, você pode usar uma das seguintes opções:
Método A: Persistência automática usando cookies
Você pode fazer com que o Singular SDK persista a ID do dispositivo Singular usando um cookie personalizado de primeira parte. Use o método a seguir e defina o domínio principal que deseja rastrear.
Método withAutoPersistentSingularDeviceId | |
---|---|
Descrição | Inicializa o SDK com opções de configuração, incluindo o domínio principal para persistir automaticamente o Singular Device Id. |
Assinatura | withAutoPersistentSingularDeviceId(domain) |
Exemplo de uso |
|
Método B (Avançado): Definir manualmente o ID de dispositivo singular
Se não quiser que o Singular SDK mantenha o ID do dispositivo automaticamente, você pode manter o ID manualmente entre domínios - por exemplo, usando um cookie de domínio de nível superior ou um cookie do lado do servidor. O valor deve ser uma ID gerada anteriormente pela Singular, no formato uuid4 válido.
Observação: você pode ler a ID do dispositivo Singular usando singularSdk.getSingularDeviceId() depois de chamar o método init ou usar InitFinishedCallback.
Método withPersistentSingularDeviceId | |
---|---|
Descrição |
Inicializa o SDK com opções de configuração, incluindo o Singular Device Id que você deseja manter. |
Assinatura | withPersistentSingularDeviceId(singularDeviceId) |
Exemplo de uso |
|
Opcional: Obter ID de correspondência
Importante: esse é um recurso avançado. Consulte um dos engenheiros de soluções da Singular antes de implementá-lo.
A Singular pode atribuir instalações de servidor para servidor a partir de plataformas de PC e console com base em um Match ID exclusivo e determinístico por usuário. Para utilizar esse recurso, recupere o Match ID do Web SDK da Singular após a inicialização.
getMatchID Método | |
---|---|
Descrição | Obtém o Match ID exclusivo para essa sessão da Web |
Assinatura | singularSdk.getMatchID() |
Exemplo de uso |
|