Docs
Guia

Criar métricas calculadas

Uma métrica calculada é um valor que você computa a partir de uma expressão: uma fórmula sobre os campos (as refs) dos relatórios da página. É assim que você monta ROAS, CPA e outras contas que o seu relatório não entrega prontas. A fórmula se escreve num editor com autocomplete, dentro do próprio widget.

O editor é o mesmo em três lugares: no widget de Resumo, pelo disclosure "Métrica calculada"; na tabela e no gráfico, pelo disclosure "Coluna calculada", cujo botão "Adicionar coluna calculada" adiciona uma coluna (tabela) ou uma série (gráfico). O cálculo é idêntico nos três; muda só onde a fórmula fica guardada. A gramática completa da linguagem está na referência Expressões.

Como o motor calcula (entenda antes de escrever)

O motor agrega primeiro e aplica a fórmula depois. Cada campo é agregado (em geral somado) no grão do grupo, e a expressão roda sobre esses totais. Um ROAS escrito como receita / custo é calculado como soma(receita) / soma(custo), nunca como soma(receita / custo).

Uma medida pode ser agregada por soma, mínimo, máximo ou contagem distinta; o motor não tem "média". Por isso toda taxa ou razão (CPC, CTR, ROAS) se escreve como uma divisão de somas, e não como uma coluna de "média".

A contagem distinta nunca é somada. Em cada grão ela conta os ids distintos do conjunto de linhas, então os usuários distintos do template do TagServer (o KPI "Usuários") de um período não são a soma dos usuários de cada dia.

Dica

A razão de somas pesa cada linha pelo seu volume, que é o número de negócio correto, e difere da média das razões linha a linha. Escrever a fórmula como fração (receita / custo) já entrega esse comportamento.

Anatomia de uma expressão

Uma ref aponta para um campo de um relatório. A forma qualificada é <fonte>.<relatório>.<campo>, por exemplo googleads.campaign_performance.cost. Dentro de um único relatório, o nome curto do campo também vale como operando, por exemplo clicks.

Você não precisa decorar refs. Comece a digitar ou aperte Ctrl+Space: o editor abre o autocomplete com as refs disponíveis, cada uma com a descrição do campo ao lado. Ao escolher uma da lista, o editor insere a ref já qualificada.

A lista abrange os relatórios de todas as plataformas com fonte de dados vinculada ao dashboard, e não apenas o relatório do widget que você está configurando (sem nenhuma fonte vinculada, ela mostra todos os relatórios disponíveis). Na tabela, a lista traz também as colunas do relatório, dimensões incluídas; no gráfico e no Resumo, só medidas.

Olhe essa lista antes de escrever a fórmula: vários relatórios já declaram métricas derivadas prontas, que aparecem ali como refs comuns. A Meta declara frequency, cpc, cpm e ctr; o Google Ads declara cost, ctr, average_cpc e average_cpm. Usar a ref pronta dá o mesmo número que escrever a divisão à mão, com menos chance de errar o campo.

Os operadores aritméticos são +, -, *, / e os parênteses ( ). O - também serve como sinal negativo. Multiplicação e divisão vêm antes de soma e subtração; use parênteses para forçar a ordem, como em (a + b) / c. Não há chamadas de função (nada de sum(...) ou avg(...)). A linguagem aceita ainda texto, comparações, lógica (and, or, not) e case when; essas construções estão descritas em Expressões.

Criar a métrica, passo a passo

Os dois caminhos abaixo usam o mesmo editor de expressão. Onde cada campo fica dentro do painel de configuração está em Configurar e personalizar widgets.

Tabela ou gráfico

  1. Com o widget aberto no painel, clique no disclosure "Coluna calculada". Ele começa fechado; o editor só aparece depois do clique.
  2. Escreva a expressão. O placeholder mostra a forma esperada: facebook.ad_performance.spend / facebook.ad_performance.leads.
  3. Clique em "Adicionar coluna calculada" (o botão fica desabilitado enquanto o editor está vazio). Na tabela a expressão vira uma coluna; no gráfico, uma série. Ela entra na lista de colunas ou séries selecionadas e o editor se esvazia.
  4. Na tabela, confira o valor antes de salvar: cada coluna da lista que tem métrica por trás ganha um botão de play na linha ("Ver o valor desta coluna no período ativo"). Ele mostra o total geral daquela coluna no período ativo, "Sem dados" ou "Erro". Colunas de dimensão não têm play. O gráfico não tem pré-visualização: confira a série no próprio gráfico depois de salvar.
  5. Salve o widget como de costume. A expressão é gravada nesse save, sem nenhuma confirmação separada.

O nome da coluna ou série sai derivado da expressão. Se ela for uma ref pontuada simples, vale o último segmento (...cost vira cost), com caracteres que não sejam letra, número ou _ trocados por _; nos demais casos o editor gera um nome no formato expr_ seguido de 8 caracteres. Se o nome já estiver em uso no widget, ganha o sufixo _2, _3 e assim por diante. Na tabela dá para trocar esse nome depois, pelo campo "Renomear coluna" da lista de colunas selecionadas. No gráfico não há renomeação: a série fica com o nome derivado e a marca "expressão" ao lado.

Corrigir a fórmula depois

Na tabela, cada coluna calculada tem um ícone Sigma (Σ) na sua linha da lista de colunas selecionadas, com a dica "Ver e editar a fórmula" ("Ocultar a fórmula" quando aberto). Ele abre o editor com a fórmula atual; edite no lugar e salve o widget. Isso vale também ao reabrir um widget já salvo.

No gráfico não há edição: para mudar a fórmula de uma série, adicione uma nova coluna calculada e remova a antiga.

Nota

Métricas calculadas criadas na interface antiga continuam funcionando e são regravadas intactas quando você salva o widget, mas não há mais como editá-las pela interface. Para mudar a fórmula de uma delas, adicione uma nova coluna calculada e remova a antiga. Isso vale só para essas métricas legadas; as colunas calculadas atuais da tabela são editáveis pelo ícone Sigma.

Resumo

No Resumo, o campo "Métrica" é um seletor ("Escolher métrica") para pegar uma métrica pronta. Para escrever uma expressão, clique no disclosure "Métrica calculada" logo abaixo dele (placeholder googleads.campaign_performance.cost). Se a métrica salva já for uma expressão, o disclosure vem aberto e o seletor mostra "Métrica calculada".

O botão de play ("Rodar a pergunta e ver o resultado") executa a métrica no período ativo e mostra o valor com a legenda "resultado no período ativo", ou "Sem dados". Com o disclosure fechado, ele fica ao lado do seletor; com o disclosure aberto, fica dentro do editor.

Exemplos que resolvem casos reais

Os campos abaixo são ilustrativos. Troque-os pelos que o autocomplete oferecer para o seu widget: os nomes variam conforme a fonte de dados e o relatório.

O que você querFórmulaFormato
ROAS (retorno sobre investimento)purchase_value / spendNúmero
CPA (custo por conversão)cost / conversionsMoeda
CPC (custo por clique)cost / clicksMoeda
CTR (taxa de cliques)clicks / impressionsPercentual
Taxa de conversãoconversions / clicksPercentual
Ticket médiopurchase_value / purchasesMoeda

Alguns desses números podem já existir prontos no autocomplete como métricas derivadas do relatório, caso de CTR e CPC. Confira a lista antes de escrever a fórmula: a ref pronta dá o mesmo resultado.

No Meta, a mesma fórmula de ROAS totalmente qualificada fica facebook.ad_performance.purchase_value / facebook.ad_performance.spend.

CTR e taxa de conversão são frações puras: o formato Percentual já multiplica o valor por 100, então a fórmula não leva * 100. CPC sai como razão de somas, coerente com o modelo de cálculo: o gasto total dividido pelos cliques totais.

Usar um valor de dentro de um campo (chave JSON)

Alguns campos guardam um mapa de valores, não um número único. A Meta, por exemplo, agrupa as conversões por tipo de ação numa mesma coluna. Para usar um valor de dentro do mapa, endereça-se a chave entre colchetes: coluna[chave].

Assim, actions[omni_purchase] pega as compras de dentro da coluna de ações da Meta, e você a usa como qualquer outra ref, por exemplo em actions[omni_purchase] / spend. O nome da coluna vem do autocomplete; a chave você digita à mão, porque ela é um dado dentro do campo, não um campo próprio, e não aparece na lista.

A chave JSON vale nos três lugares onde se escreve expressão: a métrica calculada do Resumo e a coluna calculada da tabela e do gráfico. Nenhum deles filtra caracteres, e o editor reconhece a sintaxe dos colchetes.

Formato e casas decimais

No Resumo, o chip de formato e os controles de casas ficam inline, junto do campo "Métrica". Em gráfico e tabela, ficam no drawer "Estilo": o botão "Estilo" no rodapé do formulário abre um painel intitulado "Estilo" seguido do tipo do widget (Tabela ou Gráfico), e na seção "Formato das métricas" cada métrica do widget aparece com seu chip, seus controles de casas e uma amostra formatada ao vivo ao lado. Por isso o formato não entra no passo de criar a expressão em gráfico e tabela.

O formato é um chip de três opções:

  • Número
  • Moeda: em R$, no padrão pt-BR.
  • Percentual: trata o número como fração e multiplica por 100, de modo que 0,6347 aparece como 63,47%.

Como o formato Percentual já multiplica por 100, uma fórmula de taxa leva só a razão. Pôr * 100 infla o número cem vezes.

As casas decimais vão de 0 a 6, ajustadas por botões de diminuir e aumentar. No automático, um Número inteiro sai sem decimais (1.332) e um Número com fração sai com 2 casas (7,39); Moeda mostra sempre os centavos (2 casas) e Percentual usa 2 casas. Para voltar ao automático:

  • no drawer "Estilo", clique no botão entre as setas, que mostra as casas atuais ou "Auto";
  • no Resumo, clique no botão "Auto", que aparece ao lado só quando há casas definidas.

No drawer "Estilo", cada métrica de formato Número ou Moeda tem ainda o toggle "Abreviar grandezas", que mostra o valor abreviado (744,5 mil, 1,2 mi). Ele não é oferecido para Percentual, e a amostra ao vivo reflete a escolha.

Quando dá errado

Nada é validado enquanto você digita. Um erro de fórmula só aparece quando a consulta roda. No Resumo, o play mostra a mensagem do motor numa caixa de erro; na tabela, o play da coluna mostra só "Erro" ao lado dela, sem a mensagem. Em qualquer widget, o erro também aparece no próprio widget. As mensagens vêm do motor em inglês, sem tradução.

Campo ambíguo. Se um nome curto de campo existe em mais de um relatório da página, o motor não sabe qual usar e a consulta falha com <operando> (variant '...') is ambiguous across [...]. Use a forma qualificada fonte.relatório.campo; o autocomplete já insere assim. Enquanto o widget ainda não está travado num relatório, o seletor de colunas e séries também ajuda: ele rotula cada coluna como coluna · Relatório, mantendo os nomes repetidos distintos.

Campo que a fonte não fornece. Referenciar um campo ausente faz a consulta falhar com No relation supplies operand '<nome>' (variant '...'). Cuidado no remédio: o autocomplete de expressão lista refs de todos os relatórios conectados, então estar na lista não garante que a ref funcione naquele widget. Escolha um campo do relatório ao qual o widget está travado, o mesmo cujas colunas o seletor de colunas e séries mostra. Quais campos cada plataforma expõe está em Relatórios e métricas.

Coluna de mapa sem chave. Usar uma coluna em formato de mapa sem a chave, ou uma que a fonte não tem, falha com No relation supplies JSON column '<coluna>' (variant '...'). Enderece a chave (coluna[chave], como na seção de chave JSON) usando uma coluna do relatório travado.

O número sumiu sem erro. A divisão por zero não gera erro: o resultado fica vazio (o cartão de Resumo mostra "Sem dados" ou 0, e a célula de tabela fica em branco). Se um valor desaparecer, confira se o denominador pode ter sido zero no período.

Veja também