Criando relacionamento entre objetos e pivotando as propriedades do Hubspot

Criando relacionamento entre objetos e pivotando as propriedades do Hubspot

Inscreva-se

Abordamos dados e análises dentro das empresas.

Receba novos artigos por e-mail


Compartilhe

Este artigo refere-se às integrações “V1” do HubSpot. Caso utilize as integrações marcadas como “Versão Atual”, ele não se aplica

Agora que você já adicionou o conector e criou as primeiras integrações do Hubspot na plataforma da Kondado, vamos mostrar como pivotar as propriedades das integrações V1 de contato, tickets e deals para que você consiga manipular os seus dados mais facilmente.

O Hubspot permite a criação de campos customizados como propriedades, e para prevenir que você precise editar a integração todas as vezes que criar uma propriedade nova, levamos elas em linhas ao seu banco de dados analítico, e assim garantimos que você sempre tenha todas as suas propriedades atualizadas. Mas antes de explicarmos como pivotar essas propriedades, é importante entender como criar o relacionamento entre os objetos dentro do seu banco de dados. Neste artigo vamos usar o relacionamento deals > contacts como exemplo.

Como criar o relacionamento entre objetos do Hubspot

Caso você deseje criar um modelo listando todos os seus deals e trazendo informações dos contatos associados à cada deal, você precisará fazer uma junção destes dois objetos. Para isso, o Hubspot conta com uma tabela de associações (exemplos: deals_associations, ticket_associations). Essa tabela faz parte das coleções dos objetos “Deals” e “Tickets”, portanto se você já criou a sua integração deles pela Kondado, elas estarão no seu banco de dados.

Essa tabela é formada por três colunas, no exemplo abaixo usamos a tabela de deals, porém o mesmo aplica-se para Tickets:

  • dealid: ID do deal
  • association_type: Um deal têm vários tipos de associações, sendo elas:
    “associatedTicketIds” – tickets associados ao deal
    “associatedCompanyIds” – empresas associadas ao deal
    “associatedVids” – contatos associados ao deal (VID é o ID de um contato no Hubspot)
  • association_value: O ID do ticket, empresa ou contato associado ao deal em questão.

A query abaixo exemplifica como coletar o VID associado a cada deal na tabela deals_associations:

SELECT dealid as id_deal,
association_value as id_contato
FROM hubspot_deals_associations_full
WHERE association_type = 'associatedVids'

Um vez de posse do ID retornado na consulta acima, você poderá criar o relacionamento entre os dois objetos.

Como pivotar as propriedades dos objetos

Como já explicamos no início desse artigo, as propriedades dos objetos do Hubspot são levadas em linhas ao seu banco de dados.
Ao criar as integrações de deals, tickets ou contatos, você encontrará no seu banco também as tabelas de “properties”. Essas tabelas têm a seguinte estrutura (no exemplo abaixo estamos usando a tabela de propriedades dos deals):

  • dealid: ID do registro
  • key: nome da propriedade ou campo do objeto
  • value: valor atribuído àquela propriedade do determinado deal

Ao fazer uma simples consulta nessa tabela, você verá que cada deal terá várias linhas, sendo uma para cada propriedade diferente. Os dados são retornados da seguinte forma:

Para transformar todas essas propriedades em uma tabela de formato colunar, onde cada deal seja representado por apenas uma linha, e cada propriedade seja representada por uma coluna, trazemos abaixo um exemplo de como realizar a consulta:

SELECT
    dealid,  
    MAX(CASE WHEN "key" = 'dealname' THEN value ELSE null END) as dealname,  
    MAX(CASE WHEN "key" = 'hs_analytics_source_data_2' THEN value ELSE NULL END) as hs_analytics_source_data_2,  
    MAX(CASE WHEN "key" = 'dealtype' THEN value ELSE NULL END) as dealtype,  
    MAX(CASE WHEN "key" = 'hs_updated_by_user_id' THEN value ELSE NULL END) as hs_updated_by_user_id,  
    MAX(CASE WHEN "key" = 'segmento' THEN value ELSE NULL END) as segmento,
    MAX(CASE WHEN "key" = 'estado' THEN value ELSE NULL END) as estado
FROM
    hubspot_deals_properties_full  
GROUP BY dealid

Ao realizar essa consulta as propriedades retornarão em um formato muito mais simples de manipular no seu banco de dados ou plataforma de visualização:

Lembrando que uma forma muito fácil de ter esses dados no formato que você deseja e sempre atualizados em seu banco de dados, é criar um modelo dentro da plataforma da Kondado. Assim toda vez que sua integração for executada, os dados serão atualizados automaticamente na tabela do modelo.

Caso você tenha mais alguma dúvida sobre como manipular os dados do Hubspot, entre em contato com a nossa equipe que estaremos prontos à ajudá-lo.

Publicado em 2020-06-26