Searching for

Identificar contatos e empresas

Inicialmente, todos os eventos capturados pelos códigos de rastreamento (trackers) e enviados para o Pipz são registrados como sendo de usuários anônimos. Portanto para identificar usuários anônimos ou associar estes eventos a usuários conhecidos que já estejam na sua base de contatos, você precisa identificá-los usando o método de identificação pipz.identify().

Como funciona a identificação de contatos?

Quando o evento pipz.identify() é capturado pelo código de rastreamento, ele utiliza uma ID única para definir a identidade do usuário. Isso é usado geralmente em formulários de cadastro, para que as informações e atividades de um usuário sejam sempre vinculados ao contato em questão.

Porém, quando o evento pipz.identify() é gerado e enviado ao sistema com um novo identificador, por exemplo um endereço de e-mail que não conste na base, o sistema transforma o usuário anônimo em um usuário identificado.

Identificando usuários anônimos

No momento da identificação de usuários anônimos, todos os eventos e visualizações de páginas realizados antes da identificação serão associados a este usuário, afinal o cookie gerado pelo código de rastreamento e armazenado no navegador do usuário captura essas informações mesmo antes do usuário possuir uma ID única no sistema.

Como usar o método Identify

O método pipz.identify() é uma funcção que deve ser chamada da seguinte maneira:

pipz.identify(userID, [traits]);

O userID é o identificador único deste contato na sua base de dados e no seu sistema, que pode ser o e-mail ou qualquer outro identificador. Trata-se de um item obrigatório, pois é ele quem garante que as informações capturadas pelo Pipz estejam sempre sincronizadas com seu banco de dados.

Sempre que possível, recomendamos que você utilize o mesmo ID utilizado no seu banco de dados, pois os mesmos nunca mudam, enquanto endereços de e-mail podem mudar um dia. Com isso, mesmo que um contato mude seu endereço de e-mail, você continuará trackeando o mesmo usuário no Pipz, visto que seu ID remoto não mudou.

Já o traits é um objeto que contém quaisquer informações e atributos a respeito do contato que você deseja armazenar, como name, email, phone, birthdate, ou qualquer outro dado que você queira enviar.

O endereço de e-mail é o único item obrigatório para ser enviado junto aos traits.

O Pipz possui diversos dados padrão que podem ser preenchidos através do envio de informações pela função pipz.identify(). Alguns exemplos de traits que podem ser adicionados aos perfis de seus contatos:

Traits Tipo Descrição
birthdate datetime Data de aniversário do contato
city_name string Nome da cidade do contato
country_code string Código do país do contato
email string Endereço de e-mail do contato
facebook string Perfil do Facebook do contato
gender string Gênero do contato
job_title string Cargo do contato
linkedin string Perfil do LinkedIn do contato
mobile_phone string Telefone celular do contato
name string Nome do contato
phone string Telefone do contato
postal_code string CEP do contato
state string Sigla do estado do contato
twitter string Perfil do Twitter do contato
website string Site do contato

Além destes dados, você pode enviar dados customizáveis dentro dos traits da função pipz.identify(). Para saber mais, leia nosso artigo Envio de campos personalizados via eventos.

Exemplo de aplicação do Identify

Abaixo é um exemplo de como o método pipz.identify() pode ser usado para identificar um novo contato e também enviar outras informações ao nosso sistema, seguindo nosso modelo de informações de contatos:

pipz.identify('12345', {
        name: 'John Doe',
        email: 'joe@doe.com',
        job_title: 'Director of Sales',
        phone: '+1089647827'
});

No exemplo acima, o identificador único é 12345 e as informações enviadas foram Nome, E-mail, Cargo e Telefone. Toda a vez que o método Identify for chamado utilizando este identificador, os atributos enviados serão atualizados ou criados em nosso sistema.

Vincular um contato a uma empresa

Você também pode enviar dados da empresa da qual o contato faz parte, utilizando um objeto company com as informações desejadas dentro da chamada pipz.identify(). Isso é útil para empresas que usam um modelo de negócios baseado em contas (Account-based), onde uma empresa contrata o produto mas vários usuários o utilizam simultaneamente.

Veja no exemplo abaixo como usar a chamada pipz.identify() para identificar um usuário e vincular o mesmo à uma empresa:

pipz.identify('12345', {
        name: 'John Doe',
        email: 'joe@doe.com',
        job_title: 'Director of Sales',
        phone: '+1089647827',
        company: {
            remote_id: 'johndoe123Company',
            name: 'JDoe LLC',
            website: 'www.iamjohn.com'
        }
});

Como você deve ter percebido, há um campo remote_id dentro objeto company. Ele atua como o identificador único da empresa, assim como o valor 12345 é o identificador único do contato. Com essa chamada, o contato será automaticamente associado à empresa informada.

Note que, no caso do identificador do usuário, não é necessário informar o nome do campo, apenas seu valor, diferente do identificador único da empresa.

Assim como os atributos de contatos, empresas também possuem seu próprio modelo de dados. A tabela abaixo ilustra as informações originais do perfil da empresa que podem ser enviadas pelo objeto company dentro dos traits do método identify:

Traits Tipo Descrição
address_1 string Endereço 1 da empresa
address_2 string Endereço 2 da empresa
city_name string Nome da cidade da empresa
country_code string Código do país da empresa
email string Endereço de e-mail da empresa
facebook string Página do Facebook da empresa
linkedin string Página do LinkedIn da empresa
monthly_spend number Gasto mensal da empresa
name string Nome da empresa da empresa
phone string Telefone da empresa
plan string Plano de pagamento da empresa
postal_code string CEP da empresa
remote_creation_date datetime Data de criação remota da empresa
remote_id integer ID remoto de identificação da empresa
state string Sigla do estado da empresa
twitter string Perfil do Twitter da empresa
website string Site da empresa

Note que há dados semelhantes no perfil do contato e no perfil da empresa, porém eles são armazenados em locais diferentes. Ao enviar o campo phone para o contato, por exemplo, ele não será armazenado no perfil da empresa, apenas no do contato.

Identificar contatos e enviar eventos simultaneamente

O método pipz.identify() também pode registrar um evento personalizado a partir da identificação do contato. Desse modo, o sistema recebe o evento pelo próprio pipz.identify(), sem a necessidade de enviar um evento pipz.track().

Para fazer isso, é necessário enviar um objeto event dentro da função pipz.identify(), assim como o exemplo abaixo:

pipz.identify('54321', {
        name: 'John Doe',
        email: 'joe@doe.com',
        company: {
            remote_id: 'johndoe123Company',
            name: 'JDoe LLC',
            website: 'www.iamjohn.com'
        }
        event: { 
           'Downloaded Ebook': {
                title: 'Growth Hacking 101',
                language: 'English'
            }
        }
});

Se o método de identificação acima fosse ativado, dois eventos seriam registrados simultaneamente: um de identificação, chamado de user_identified, e o evento personalizado, que no exemplo acima é Downloaded Ebook.

Para saber como enviar eventos personalizados usando o método pipz.track() em seu website ou app, leia nosso artigo Enviar eventos personalizados.