Created with Raphaël 2.1.2

01. Plataforma

01. Começando

01. Conceitos Básicos

02. Adicionando destinos

03. Adicionando conectores

02. Integrações

01. Criando integrações

02. Funções

01. Conceito

02. Chaves

03. Utilizando funções

04. Funções disponíveis

Cast to boolean

Cast to float

Cast to int

Cast to text

Hash SHA-512 com chave

JSONify

Remove EOL

UUID

03. Modelos

01. Criando modelos

02. Documentando modelos

04. Configurações

IPs Kondado

Planos e Limites

Tokens de acesso

Usuários

Gerenciamento de usuários

05. Metadados

Metadados na Kondado

06. Changelog

01. Changelog (2025)

02. Arquivo changelog (2021-2024)

02. Destinos

BigQuery (destino)

BigQuery (Service Account) (destino)

Excel (destino)

Google Sheets

Microsoft SQL Server

MySQL (destino)

MySQL SSH (destino)

PostgreSQL

PostgreSQL SSH

Redshift

Redshift SSH

S3

Via Kondado

03. Conectores

55PBX

ActiveCampaign

Api4com

Apple App Store

ASAAS

Azure Table Storage

BigQuery (conector)

Bitrix24 CRM

Bling!

Blip (Take)

Brasil.io

ClickUp

Clockify

ContaAzul

Criteo

E-goi

EADBOX

Exact Sales

Facebook

01. Facebook

02. Facebook: Métricas de Páginas

03. Pivotando os dados das tabelas Actions do Facebook

Fatura Simples

Freshdesk

FTP

Google Ads (Adwords)

01. Google Ads (Adwords)

02. Criando uma integração de relatório customizado do Google Ads

03. Exemplo de como criar um relatório de estatísticas de anúncios do Google Ads

04. Referência de relatórios, métricas e dimensões

05. Melhores práticas para relatórios do Google Ads

Google Analytics 4 (GA4)

01. Google Analytics

02. Custom Report: métricas e dimensões

Google Cloud Storage

Google Play Store

Google Search Console (Google Webmasters)

Google Sheets

Granatum

Hi Platform

Hotmart

HubSpot

Huggy

Infusionsoft (Keap)

Instagram

Jira

Kondado

Linkedin

MailChimp

Mandrill

Meetime

Mercado Livre

Microsoft Advertising

01. Microsoft Advertising (Bing)

02. Referência de relatórios, métricas e dimensões

Microsoft SQL Server (conector)

Microsoft SQL Server SSH (conector)

Mixpanel

Monday.com

MongoDB

Movidesk

MySQL (conector)

MySQL SSH (conector)

NectarCRM

Omie

Oracle (conector)

Pagar.me

Pipedrive

Pipefy

PipeRun

Ploomes

PostgreSQL (conector)

Pushwoosh

RD Station

01. RD Station

02. Fazendo a carga histórica na integração do RD Station (exclusivo Webhook)

03. Integrando leads ou oportunidades que mudaram de estágio no RD Station (exclusivo Webhook)

RDStation CRM

Recruiterbox

S3 (conector)

Salesforce

Salesforce Marketing Cloud

SenseData

Shopify

Stilingue

Superlógica

Sympla

Taboola

Tangerino

TikTok Ads

Tiny ERP

Toggl

Tray

Trello

Twilio

VNDA

VTEX

Wake Commerce (antigo Tray Corp by FBits)

Webhook

Wootric

YouTube

Zeeng

Zendesk

Zendesk Chat

Índice de Conectores Kondado

04. API

Começando com a API da Kondado

Logs

Models

Parent Collections

Parent Pipelines

Pipelines

05. Visualização

Conexão Looker Studio Via Kondado

Conexão Power BI Via Kondado

Resolvendo o problema de “Contagem distinta” no Looker Studio via Kondado

Templates

Como integrar seus dados ao template de Dashboard da Kondado.

Dashboard Bling! (Looker Studio)

Dashboard Bling! (Power BI)

Dashboard Facebook Ads (Looker Studio)

Dashboard Facebook Ads (Power BI)

Dashboard Google Ads (Looker Studio)

Dashboard Google Ads (Power BI)

Dashboard Google Ads e Facebook Ads (Looker Studio)

Dashboard Google Analytics (GA4) Looker Studio

Dashboard Google Analytics (GA4) Power BI

Dashboard Instagram Looker Studio

Dashboard Instagram Power BI

Dashboard Olist Tiny (Looker Studio)

Dashboard Olist Tiny (PowerBI)

Dashboard Omie Looker Studio

Dashboard RD Station CRM (Looker Studio)

Dashboard VTEX (Looker Studio)

Dashboard VTEX (Power BI)

Usando o Google Data Studio com o BigQuery e a Kondado

Usando o Google Data Studio com o PostgreSQL e a Kondado

Usando o Power BI com o BigQuery e a Kondado

Usando o Power BI com o PostgreSQL e a Kondado

06. Central de Ajuda

01. Guia de dúvidas mais comuns dos conectores

03. Pivotando os dados das tabelas Actions do Facebook

Caso tenha criado sua integração do dia 7/11/24 em diante, você terá acesso às actions e action values diretamente na tabela principal de sua integração. O conteúdo deste artigo neste caso será válido apenas caso queira obter dados de uma configuração de atribuição diferente da padrão presente na tabela principal

O Facebook define ações como atividades que ocorrem no anúncio ou como consequência dele. As ações no anúncio podem ser cliques em links ou visualizações de vídeo, por exemplo, enquanto as ações de consequência do anúncio podem envolver compras no site, cadastros ou conversões. Essas ações são atribuídas ao anúncio quando alguém viu ou clicou nele dentro de um certo período de tempo, que pode ser definido pela janela de atribuição.

Neste tutorial iremos mostrar:

Estrutura das tabelas de actions

Através das integrações de Estatísticas de Campanhas, Grupos de Anúncios e Anúncios da plataforma Kondado é possível obter os dados de ações, que estarão em tabelas separadas à tabela principal de cada integração.

  1. Actions: A tabela de actions irá representar os dados em formato de contagem (por exemplo, número de compras realizadas no site);
  2. Action_values: Representará os dados de valor (por exemplo, valor das compras realizadas no site).

As duas tabelas acima terão as mesmas dimensões da tabela principal da integração, além de campos que identificam as ações (tipo da ação) e as quantificam (valor ou contagem de determinada ação). A estrutura das tabelas de actions será parecida com esta (o exemplo abaixo refere-se a tabela de actions de uma integração de Estatísticas de Campanhas com detalhamento de região e país):

Ao contrário das tabelas principais das integrações de estatísticas (onde as métricas são organizadas por colunas), nas tabelas de actions as ações e seus valores estarão em linhas:

Atenção: Não confundir o campo “actions_value” com as tabelas de “Action Values” – o campo irá trazer o resultado (em contagem ou valor) da respectiva ação, enquanto a tabela irá trazer outros tipos de ações e também terá uma coluna de “actions_value” dentro dela.

Campos para filtrar ações e seus valores

Para pivotar os dados de ações e extrair suas métricas, é importante se atentar para as funções das colunas abaixo:

  • actions_action_type ou action_values_action_type: através desse campo será possível filtrar o tipo da ação que está sendo medida para obter o seu resultado no período e dimensões da integração. Por exemplo, quando o campo actions_action_type for igual a ‘comment’, iremos filtrar o número de comentários em um post no determinado período (metric_date), resultantes de determinada campanha, anúncio ou grupo de anúncio e quebrados por detalhamento (quando houver).
  • actions_value ou action_values_value: Trará o resultado atribuído à ação filtrada nos campos acima. Continuando no mesmo exemplo anterior, esse campo irá trazer o resultado do número de comentários no determinado período (metric_date), resultantes de determinada campanha, anúncio ou grupo de anúncio e quebrados por detalhamento (quando houver).
  • actions_1_click, actions_1d_view, actions_7d_click…: têm a mesma função dos campos actions_value ou action_values_value, e devem ser usados no lugar deles quando houver alguma configuração de atribuição diferente feita no Facebook.

Os valores filtráveis nos campos actions_action_type ou action_values_action_type podem ser encontrados em nossa documentação do Facebook e podem variar para cada caso (conta de anúncio, campanha, grupo de anúncio, detalhamento, etc…), portanto nem todas as integrações terão todas as actions ou action_values disponíveis.

Como extrair actions usando modelos da Kondado

Para que seja mais fácil visualizar os dados das ações em ferramentas de BI para criação de métricas e análises, recomendamos a pivotagem dos dados delas (que nativamente são organizadas em linhas) em colunas. Esse processo terá um resultado parecido com a operação de transposição do Excel, transformando cada actions_action_type ou action_values_action_type em uma coluna:

Usando a funcionalidade de modelos da Kondado é possível deixar esse processo automático, para que sempre que suas integrações de estatísticas do Facebook terminem de executar, uma nova tabela seja atualizada no seu banco com os dados das ações já pivotados. Essa funcionalidade é completamente gratuita.

Antes de seguir para os próximos tópicos do tutorial, siga o tutorial de criação de modelos na Kondado, clicando aqui, ou se preferir assista o vídeo tutorial clicando aqui.

No passo 5 do tutorial escrito você chegará no momento de escrever a sua query em SQL, que será o comando utilizado para fazer a transformação dos dados. Nos próximos tópicos nós montamos 2 modelos de como escrever essa query em destinos do tipo PostgreSQL e do tipo BigQuery.

Mesmo que o seu destino não seja de um desses tipos, a sintaxe de bancos relacionais costuma ser bem parecida, bastando poucas alterações para adaptar sua query.

Exemplo de query para extrair actions no BigQuery

Caso não queira entender o passo a passo que como a query foi criada, pule diretamente para a query final aqui.

Filtrando uma ação

Para começar, criamos um SELECT filtrando apenas a ação “comment” e seus valores por dia.

Na query abaixo estamos selecionando a data (metric_date), o nome da campanha (campaign_name), o tipo da ação (actions_action_type) e o número de comentários que estará no campo actions_value. Caso sua integração tenha outras dimensões como detalhamentos, grupos de anúncios ou anúncios, inclua elas no SELECT:

SELECT
  metric_date AS data,
  campaign_name AS campanha,
  actions_action_type AS tipo_acao,
  actions_value AS comentarios
FROM `nome_do_dataset.nome_tabela_facebook_campaign_insights_actions` 
WHERE actions_action_type =  "comment"

A query acima retornará um resultado parecido com o abaixo no seu destino BigQuery:

Pivotando várias ações em colunas

Para pivotar várias actions em colunas, criamos uma estrutura de SELECT em que cada action_type é uma subquery (que é uma query que está contida dentro de outro SELECT).

Cada subquery terá uma estrutura parecida com essa:

SELECT
SUM(actions_value) 
FROM `nome_do_dataset.nome_tabela_facebook_campaign_insights_actions` AS sum_comments 
WHERE sum_comments.actions_action_type = "comment" 
AND sum_comments.metric_date = actions.metric_date 
AND sum_comments.campaign_name = actions.campaign_name 

Dentro do SELECT irá apenas a soma do campo de valor da action, enquanto na cláusula WHERE fazemos os filtros necessários para que os valores da soma sejam respectivos à data da métrica e a campanha. Caso sua tabela tenha mais dimensões, para que os resultados sejam corretos, é necessário incluir todas elas dentro da cláusula WHERE de cada subquery.

A query final para a pivotagem de várias actions em colunas irá trazer dados distintos de metric_date, campaign_name (e/ou outras dimensões que a sua tabela possua) dentro do SELECT, junto com as várias subqueries – não esqueça de substituir os valores abaixo pelas actions que deseja buscar e pelo nome do seu dataset e tabela dentro do BigQuery:

SELECT DISTINCT
  actions.metric_date AS data,
  actions.campaign_name AS campanha,
  (SELECT SUM(actions_value) FROM `nome_do_dataset.nome_tabela_facebook_campaign_insights_actions` AS sum_comments WHERE sum_comments.actions_action_type = "comment" AND sum_comments.metric_date = actions.metric_date AND sum_comments.campaign_name = actions.campaign_name ) AS comentarios,
  (SELECT SUM(actions_value) FROM `nome_do_dataset.nome_tabela_facebook_campaign_insights_actions` AS sum_views WHERE sum_views.actions_action_type = "video_view" AND sum_views.metric_date = actions.metric_date AND sum_views.campaign_name = actions.campaign_name ) AS visualizacoes_video,
  (SELECT SUM(actions_value) FROM `nome_do_dataset.nome_tabela_facebook_campaign_insights_actions` AS sum_engagement WHERE sum_engagement.actions_action_type = "post_engagement" AND sum_engagement.metric_date = actions.metric_date AND sum_engagement.campaign_name = actions.campaign_name ) AS engajamento
FROM `nome_do_dataset.nome_tabela_facebook_campaign_insights_actions`AS actions

Essa query terá um resultado parecido com o mostrado abaixo – note que todas as ações filtradas já estão no formato colunar, com seus respectivos resultados para cada metric_date e campaign_name:

Juntando as várias ações pivotadas com a tabela principal de Estatísticas

Essa query irá trazer dados da tabela principal de Estatísticas (de campanha, no nosso exemplo) já com os tipos de actions pivotados em colunas e seus respectivos resultados para cada ocorrência:

SELECT DISTINCT
    insights.metric_date AS Data,
    insights.frequency AS Frequencia,
    insights.impressions AS Impressoes,
    insights.campaign_name AS Nome_da_Campanha,
    insights.objective AS Objetivo,
    insights.clicks AS Cliques,
    insights.reach AS Alcance,
    insights.spend AS Investimento,
    (SELECT SUM(actions.actions_value) FROM `nome_do_dataset.nome_tabela_facebook_campaign_insights_actions` AS actions WHERE insights.account_id = actions.account_id AND insights.metric_date = actions.metric_date AND insights.campaign_id = actions.campaign_id AND actions.actions_action_type = "post_engagement") AS Engajamento,
    (SELECT SUM(actions.actions_value) FROM `nome_do_dataset.nome_tabela_facebook_campaign_insights_actions` AS actions WHERE insights.account_id = actions.account_id AND insights.metric_date = actions.metric_date AND insights.campaign_id = actions.campaign_id AND actions.actions_action_type = "video_view") AS video_view,
    (SELECT SUM(actions.actions_value) FROM `nome_do_dataset.nome_tabela_facebook_campaign_insights_actions` AS actions WHERE insights.account_id = actions.account_id AND insights.metric_date = actions.metric_date AND insights.campaign_id = actions.campaign_id AND actions.actions_action_type = "post_reaction") AS Reacao_post,
    (SELECT SUM(actions.actions_value) FROM `nome_do_dataset.nome_tabela_facebook_campaign_insights_actions` AS actions WHERE insights.account_id = actions.account_id AND insights.metric_date = actions.metric_date AND insights.campaign_id = actions.campaign_id AND actions.actions_action_type = "comment") AS comentarios
FROM `nome_do_dataset.nome_tabela_facebook_campaign_insights` AS insights;

Não esqueça de se atentar e adaptar os seguintes pontos:

  • `nome_do_dataset.nome_tabela_facebook_campaign_insights_actions` – nome do seu dataset e nome da sua tabela de actions no seu destino BigQuery;
  • `nome_do_dataset.nome_tabela_facebook_campaign_insights` – nome do seu dataset e nome da sua tabela de Estatísticas (tabela principal) no seu destino BigQuery;
  • Substituir o campo actions.actions_action_type = “XXXX” sendo “XXXX” o tipo da action que deseja filtrar;
  • Você poderá incluir outras actions apenas copiando e colando as subqueries (lembre-se de separá-las por vírgula e mudar o alias da coluna final);
  • Se a sua tabela de estatísticas tiver mais dimensões (como grupo de anúncios, anúncio e/ou outros detalhamentos) não esqueça de incluí-las dentro da cláusula WHERE de cada subquery. Exemplo: WHERE insights.account_id = actions.account_id AND insights.metric_date = actions.metric_date AND insights.campaign_id = actions.campaign_id AND actions.actions_action_type = “comment” AND insights.ad_group_id = actions.ad_group_id AND insights.country = actions.country (aqui incluímos a dimensão “ad_group” e o detalhamento “country”). Além disso, não esqueça de incluir essas novas dimensões no SELECT inicial.

Com a query adaptada e pronta, basta colá-la no editor de query do seu modelo e continuar a criação dele do passo 6 em diante. Após a criação e execução do modelo, você terá uma nova tabela no seu destino já pivotada e juntando os principais dados dos seus anúncios 🙂

Exemplo de query para extrair actions no PostgreSQL

Caso queira entender o passo a passo de como a query foi criada, volte ao tópico anterior clicando aqui. Neste tópico iremos apenas adaptar a sintaxe da query para o destino PostgreSQL.

A query abaixo irá trazer dados da tabela principal de Estatísticas (de campanha, no nosso exemplo) já com os tipos de actions pivotados em colunas e seus respectivos resultados para cada ocorrência:

SELECT DISTINCT
    insights.metric_date AS Data,
    insights.frequency AS Frequencia,
    insights.impressions AS Impressoes,
    insights.campaign_name AS Nome_da_Campanha,
    insights.objective AS Objetivo,
    insights.clicks AS Cliques,
    insights.reach AS Alcance,
    insights.spend AS Investimento,
    (SELECT SUM(actions.actions_value) FROM nome_tabela_facebook_campaign_insights_actions AS actions WHERE insights.account_id = actions.account_id AND insights.metric_date = actions.metric_date AND insights.campaign_id = actions.campaign_id AND actions.actions_action_type = 'post_engagement') AS Engajamento,
    (SELECT SUM(actions.actions_value) FROM nome_tabela_facebook_campaign_insights_actions AS actions WHERE insights.account_id = actions.account_id AND insights.metric_date = actions.metric_date AND insights.campaign_id = actions.campaign_id AND actions.actions_action_type = 'video_view') AS video_view,
    (SELECT SUM(actions.actions_value) FROM nome_tabela_facebook_campaign_insights_actions AS actions WHERE insights.account_id = actions.account_id AND insights.metric_date = actions.metric_date AND insights.campaign_id = actions.campaign_id AND actions.actions_action_type = 'post_reaction') AS Reacao_post,
    (SELECT SUM(actions.actions_value) FROM nome_tabela_facebook_campaign_insights_actions AS actions WHERE insights.account_id = actions.account_id AND insights.metric_date = actions.metric_date AND insights.campaign_id = actions.campaign_id AND actions.actions_action_type = 'comment') AS comentarios
FROM nome_tabela_facebook_campaign_insights AS insights

Não esqueça de se atentar e adaptar os seguintes pontos:

  • nome_tabela_facebook_campaign_insights_actions – nome da sua tabela de actions no seu destino PostgreSQL;
  • nome_tabela_facebook_campaign_insights – nome da sua tabela de Estatísticas (tabela principal) no seu destino PostgreSQL;
  • Substituir o campo actions.actions_action_type = “XXXX” sendo “XXXX” o tipo da action que deseja filtrar;
  • Você poderá incluir outras actions apenas copiando e colando as subqueries (lembre-se de separá-las por vírgula e mudar o alias da coluna final);
  • Se a sua tabela de estatísticas tiver mais dimensões (como grupo de anúncios, anúncio e/ou outros detalhamentos) não esqueça de incluí-las dentro da cláusula WHERE de cada subquery. Exemplo: WHERE insights.account_id = actions.account_id AND insights.metric_date = actions.metric_date AND insights.campaign_id = actions.campaign_id AND actions.actions_action_type = “comment” AND insights.ad_group_id = actions.ad_group_id AND insights.country = actions.country (aqui incluímos a dimensão “ad_group” e o detalhamento “country”). Além disso, não esqueça de incluir essas novas dimensões no SELECT inicial.

Com a query adaptada e pronta, basta colá-la no editor de query do seu modelo e continuar a criação dele do passo 6 em diante. Após a criação e execução do modelo, você terá uma nova tabela no seu destino já pivotada e juntando os principais dados dos seus anúncios!