Pivotando os dados de leads e conversões do RD Station no seu data warehouse

Pivotando os dados de leads e conversões do RD Station no seu data warehouse

Inscreva-se

Abordamos dados e análises dentro das empresas.

Receba novos artigos por e-mail


Compartilhe

Após começar a enviar dados do RD Station para o seu data warehouse, será necessário modelar os dados para que fiquem facilmente consultáveis.

Isso porque o Webhook do RD Station envia os dados das conversões em formato JSON para o seu banco de dados. JSON é uma abreviação para Javascript Object Notification e é um formato de troca de informações através de texto.

Exemplificando, ao consultar a sua tabela do RD no seu data warehouse, você irá se deparar com uma estrutura parecida com essa:

No exemplo acima, o campo “body” traz as informações do lead, como nome, e-mail, id, data de criação, primeira e última conversão e campos customizados que você pode ter configurado dentro da sua ferramenta. Na forma que está, será difícil pesquisar algumas dessas informações para compor as suas métricas e indicadores pois todos os dados estão condensados num campo de texto. Porém com um pouquinho de SQL é muito simples transformar essa grande linha de dados em várias colunas diferentes, cada uma com a sua propriedade.

1. Para começar, é importante entender a hierarquia dos campos dentro do JSON, para isso, copie o texto do campo “body” de algum dos registros, e vá em um JSON Parser, um site que “desmonta” o JSON e deixa-o mais compreensível a “olho nu”. No exemplo abaixo, todos os dados ficam abaixo da propriedade “leads”, as propriedades com um sinal de “+” ou “-” ao lado, mostram que existem outros campos abaixo delas.
Exemplo: Para extrair o campo “identificador” da propriedade “first conversion” (primeira conversão), a hierarquia é leads > first_conversion > content > identificador.

2. Agora que você já entendeu a estrutura do JSON, crie um modelo dentro da plataforma da Kondado para começar a escrever a sua query em SQL. O tutorial de como fazer isso pode ser encontrado clicando aqui.

3. A sintaxe do seu SQL irá depender do tipo do seu banco de dados, os exemplos que trazemos abaixo são do PostgreSQL e BigQuery, respectivamente. Neles, estamos extraindo os campos de id do lead, nome, e-mail, data da primeira conversão, identificador e data de última conversão.

Sintaxe do PostgreSQL:

  SELECT trim('"' FROM (json_array_elements((body::json)->'leads')->'id')::text) as id_lead,  
         trim('"' FROM (json_array_elements((body::json)->'leads')->'name')::text) as nome,  
         trim('"' FROM (json_array_elements((body::json)->'leads')->'email')::text) as email,   
         trim('"' FROM (json_array_elements((body::json)->'leads')->'first_conversion'-> 'created_at')::text) as primeira_conversao,  
         trim('"' FROM (json_array_elements((body::json)->'leads')->'first_conversion'-> 'content' -> 'identificador')::text) as identificador,  
         trim('"' FROM (json_array_elements((body::json)->'leads')->'last_conversion'-> 'created_at')::text) as ultima_conversao
  FROM webhook_rdstation
  

Para entender a estrutura do código:

Sintaxe do BigQuery:

SELECT	REPLACE(JSON_EXTRACT(body, '$[leads][0].id'), "\"","") AS id_lead,
	REPLACE(JSON_EXTRACT(body, '$[leads][0].name'), "\"","") AS nome,
 	REPLACE(JSON_EXTRACT(body, '$[leads][0].email'), "\"","") AS email,
 	CAST(REPLACE(JSON_EXTRACT(body, '$[leads][0].first_conversion.created_at'), "\"","") AS TIMESTAMP) AS primeira_conversao,
 	REPLACE(JSON_EXTRACT(body, '$[leads][0].first_conversion.content.identificador'), "\"","") AS identificador,
 	CAST(REPLACE(JSON_EXTRACT(body, '$[leads][0].last_conversion.created_at'), "\"","") AS TIMESTAMP) AS ultima_conversao
 FROM `seudataset.webhook_rdstation`

4. Ao salvar o seu modelo, quando ele for executado, será criada uma tabela no seu data warehouse com a seguinte estrutura:

Para incluir mais campos, basta replicar o código acima especificando o caminho deles dentro da estrutura do JSON.

Agora que o JSON foi desmembrado em vários campos, será muito mais simples consultar os dados do RD Station e criar todas as métricas e indicadores que você precisar!

Se você usa o RD Station mais ainda não envia os seus dados para o seu banco de dados, conheça a Kondado e construa integrações sem precisar desenvolver uma linha sequer de código!

Publicado em 2020-10-20