# Tela de Campanhas
Source: https://docs.metrito.com/analise/campanhas
Acompanhe o desempenho das suas campanhas de anúncios com colunas, filtros e exportação.
## O que é a tela de Campanhas?
A tela de **Campanhas** mostra o desempenho dos seus anúncios cruzado com os resultados de negócio. É onde você vê, lado a lado, **gasto** e **retorno** de cada campanha, conjunto e anúncio.
> [!WARNING]
>
> Esta tela trabalha **exclusivamente com dados de anúncios (hoje, Meta Ads) e com dados atribuídos via UTM**. Métricas de negócio como cadastros, conversas, compras e receita só aparecem aqui quando foram **atribuídas por UTM** ao anúncio correspondente.
## Por que um evento não aparece na coluna que adicionei?
Esta é a dúvida mais comum desta tela. A resposta quase sempre é a mesma:
> **Se o evento não tem UTMs, não há como vinculá-lo a uma campanha — então ele não aparece aqui.**
A tela de Campanhas precisa saber **de qual anúncio** veio cada cadastro, conversa ou compra. Esse vínculo é feito pelos parâmetros **UTM** capturados no rastreamento. Sem UTM, o Metrito não consegue dizer a qual campanha aquele evento pertence, e a coluna fica zerada.
> [!TIP]
>
> Garanta que suas campanhas estejam com os **UTMs configurados** corretamente. Veja o guia de [Configuração de UTMs](/tracking/utm-configuration). É isso que alimenta as colunas de cadastros, vendas e receita por campanha.
## Configurar colunas
Você escolhe quais métricas aparecem na tabela. Adicione colunas de anúncios (gasto, impressões, CPM, CTR…) e colunas de negócio atribuídas via UTM (cadastros, vendas aprovadas, faturamento, ROAS…).
> [!NOTE]
>
> Lembre-se: colunas de negócio (cadastros, vendas, receita) dependem de **atribuição por UTM**. Colunas nativas do anúncio (gasto, impressões) vêm direto da conta conectada e aparecem mesmo sem UTM.
## Filtros de status
No topo da tela há um filtro de status que define **quais campanhas entram na visão**:
| Filtro | O que mostra |
| - | - |
| **Todas** | Todas as campanhas disponíveis nas contas de anúncio conectadas ao Metrito, independentemente de status ou veiculação. |
| **Tiveram veiculação** | Apenas campanhas que tiveram **impressão ou gasto** no período selecionado — **não importa o status atual** da campanha. |
| **Apenas ativas** | Apenas as campanhas que estão **de fato com o status ativo** no momento. |
> [!TIP]
>
> Para analisar resultados de um período, prefira **Tiveram veiculação** — ele ignora o status atual e mostra tudo o que realmente rodou no intervalo. Use **Apenas ativas** para olhar o que está no ar agora.
## Filtrar e buscar
* **Filtrar por texto** — busque rapidamente por nome de campanha, conjunto ou anúncio.
* **Filtros de dados** — recorte a visão por conta de anúncio e outros critérios.
* **Período** — todos os números respeitam o intervalo de datas selecionado.
## Exportar dados
Você pode **exportar os dados** da tela para análise externa ou para montar relatórios e planejamentos fora da plataforma.
## Próximos passos
> **[Configuração de UTMs](/tracking/utm-configuration)**
>
> Configure os UTMs para que cadastros e vendas apareçam por campanha.
> **[Contas de anúncio](/integracoes/contas-de-anuncio)**
>
> Conecte e gerencie as contas que alimentam esta tela.
# Tela de Leads
Source: https://docs.metrito.com/analise/leads
Veja todos os contatos identificados, filtre por origem, fonte e WhatsApp, e exporte os dados.
## O que é a tela de Leads?
A tela de **Leads** lista todos os **contatos identificados** do seu projeto. Um lead é alguém que o Metrito conseguiu identificar — por **e-mail**, **telefone**, **nome** ou outro identificador capturado ao longo da jornada.
> [!NOTE]
>
> Visitas anônimas (sem nenhum identificador) ainda não são leads. Elas viram leads no momento em que um identificador é capturado — por exemplo, ao preencher um formulário ou iniciar uma conversa no WhatsApp.
A tela funciona de forma parecida com a de [Vendas](/analise/vendas): uma lista filtrável e exportável, mas voltada aos contatos em vez das transações.
## Filtros disponíveis
| Filtro | O que faz |
| - | - |
| **Origem / Fonte** | De onde o lead veio (a origem da jornada). |
| **Realizou compra** | Separa leads que já compraram dos que ainda não compraram. |
| **Domínio** | O container de rastreamento associado ao lead (hoje, um por campanha). |
| **Número de WhatsApp** | Filtra pelo número de WhatsApp de origem do contato. |
| **Período** | Recorta os leads pelo intervalo de datas. |
> [!TIP]
>
> Combine **Realizou compra = não** com um filtro de **origem** para encontrar rapidamente leads quentes que ainda não converteram — uma boa lista para remarketing ou follow-up.
## Exportar leads
Você pode **exportar os leads como planilha** para usar em planejamentos, campanhas ou análises externas. A exportação inclui os dados do contato — inclusive **qual foi o número de origem** pelo qual o lead chegou.
## Próximos passos
> **[Rastreamento via WhatsApp](/tracking/whatsapp)**
>
> Entenda como as conversas viram leads identificados.
> **[Visão geral do rastreamento](/tracking/overview)**
>
> Como o Metrito identifica e unifica os contatos.
# Tela de Vendas
Source: https://docs.metrito.com/analise/vendas
Veja todas as suas transações e pedidos, com filtros por status, tipo, plataforma e produto.
## O que é a tela de Vendas?
A tela de **Vendas** reúne **todas as transações** registradas no projeto — cada pedido que chegou pelos seus checkouts e integrações conectados.
### Pedido x item
Cada **pedido** representa uma venda e pode conter **um ou mais itens** (produtos). Ou seja, um único pedido pode somar vários produtos comprados de uma vez.
## De onde vêm as vendas?
As vendas chegam das suas [integrações de checkout/gateway](/integracoes/checkouts-e-comissoes) (Hotmart, Shopify, Stripe, etc.) e também de [integrações personalizadas](/integracoes/integracao-personalizada). Cada venda aprovada vira um pedido nesta tela.
### Vendas e rastreamento
Quando um checkout está com a coluna **tracking** ativada em [Integrações](/integracoes/overview), cada **compra aprovada** dispara um **evento de compra (`Purchase`)** para os pixels cadastrados na sua seção de rastreamento.
```mermaid theme={null}
flowchart LR
venda["Compra aprovada
no checkout"] --> metrito["Metrito
registra o pedido"]
metrito -->|tracking ativado| pixel["Dispara evento Purchase
para os pixels configurados"]
metrito --> dash["Atualiza dashboard
e tela de campanhas"]
```
> [!NOTE]
>
> É esse evento de compra que alimenta a atribuição e pode ser enviado para o Meta (e outras plataformas). Se a coluna **tracking** estiver desativada para aquela conexão, o pedido ainda aparece nas Vendas, mas **não** dispara evento de rastreamento.
## Filtros disponíveis
A tela de Vendas permite recortar as transações por:
| Filtro | O que faz |
| - | - |
| **Status** | Filtra por situação da transação (aprovada, pendente, reembolsada, etc.). |
| **Tipo (traqueado / não traqueado)** | Separa vendas que tiveram rastreamento das que não tiveram. |
| **Plataforma** | Filtra pelas integrações conectadas (a origem da venda). |
| **Produto** | Filtra pelos produtos identificados a partir dessas conexões. |
> [!TIP]
>
> O filtro **traqueado / não traqueado** é ótimo para auditar a cobertura do seu rastreamento: se muitas vendas aparecem como "não traqueadas", vale revisar a coluna **tracking** das integrações e a instalação do pixel.
## Período e exportação
* **Período** — as vendas respeitam o intervalo de datas selecionado.
* **Exportação** — você pode exportar as transações para conferência, contabilidade ou análise externa.
## Próximos passos
> **[Checkouts e comissões](/integracoes/checkouts-e-comissoes)**
>
> Entenda como a comissão define o valor líquido das vendas.
> **[Integração personalizada](/integracoes/integracao-personalizada)**
>
> Envie pedidos de qualquer sistema próprio para o Metrito.
# Atualizar Gatilho
Source: https://docs.metrito.com/api-reference/atualizar-gatilho
/openapi/tracking.yaml put /v3/tracking/containers/{container_id}/triggers/{trigger_id}
Atualiza um gatilho existente. Apenas gatilhos com `trigger.type = "api"` podem ser atualizados via API pública.
# Atualizar Objetos de Anúncios
Source: https://docs.metrito.com/api-reference/atualizar-objetos-de-anúncios
/openapi/platform.yaml put /v3/connections/{connection_id}/objects
Pausar, ativar ou alterar o orçamento de campanhas, conjuntos de anúncios ou anúncios em lote.
Cada item no array `updates` recebe **exatamente um** dos campos `status` ou `budget` — nunca ambos.
O orçamento deve ser enviado em **centavos da moeda da conta** (ex: `5000` = R$ 50,00 ou US$ 50,00).
O Metrito detecta automaticamente se a campanha usa orçamento diário ou vitalício.
## Identificando a conexão
O parâmetro `connectionId` aceita dois formatos:
| Formato | Exemplo | Quando usar |
| - | - | - |
| ID Metrito | `64a1b2c3d4e5f6a7b8c9d0e1` | Padrão — obtido via `GET /v3/projects/:id/connections` |
| ID da conta Meta | `act_123456789` ou `123456789` | Quando você já tem o ID da conta de anúncios |
## Tipos de objeto suportados
| `type` | O que representa |
| - | - |
| `campaign` | Campanha |
| `adset` | Conjunto de anúncios |
| `ad` | Anúncio individual |
## Operações por objeto
| Operação | Campo | Valores aceitos | Suporta |
| - | - | - | - |
| Pausar / Ativar | `status` | `"ACTIVE"`, `"PAUSED"` | campaign, adset, ad |
| Alterar orçamento | `budget` | Inteiro positivo em centavos | campaign, adset |
> **Nota:** Anúncios não possuem orçamento próprio. Use `campaign` ou `adset` para alterar orçamento.
## Misturar operações em uma chamada
Você pode misturar operações de `status` e `budget` no mesmo array `updates`. O Metrito agrupa e processa cada tipo separadamente.
## Exemplos de uso
**Pausar uma campanha:**
```json
{
"type": "campaign",
"updates": [
{ "id": "120215678901234567", "status": "PAUSED" }
]
}
```
**Ativar múltiplos anúncios:**
```json
{
"type": "ad",
"updates": [
{ "id": "120215678901234567", "status": "ACTIVE" },
{ "id": "120215678901234568", "status": "ACTIVE" }
]
}
```
**Alterar orçamento de múltiplas campanhas:**
```json
{
"type": "campaign",
"updates": [
{ "id": "120215678901234567", "budget": 10000 },
{ "id": "120215678901234568", "budget": 5000 }
]
}
```
**Pausar e alterar orçamento na mesma chamada:**
```json
{
"type": "campaign",
"updates": [
{ "id": "120215678901234567", "status": "PAUSED" },
{ "id": "120215678901234568", "budget": 10000 }
]
}
```
# Login
Source: https://docs.metrito.com/api-reference/autenticar-na-plataforma
/openapi/platform.yaml post /v3/auth/login
Autentica o usuário com e-mail e senha e retorna um token JWT para uso nas demais rotas autenticadas.
O token retornado deve ser enviado no header `Authorization: Bearer {token}` em todas as requisições autenticadas.
## Uso do Token
O token JWT retornado tem validade de **7 dias**. Após expirar, faça login novamente.
Envie o token em todas as requisições autenticadas:
```bash
curl -X GET https://api.metrito.com/v3/projects \
-H "Authorization: Bearer {token}"
```
> [!WARNING]
>
> Este endpoint é destinado a integrações server-to-server. Para a maioria dos casos de uso, recomendamos usar **API Keys** (chaves de serviço) que não expiram e têm escopos granulares. Veja a [página de autenticação](/api-reference/authentication) para mais detalhes.
# Autenticação
Source: https://docs.metrito.com/api-reference/authentication
Como autenticar nas APIs do Metrito — JWT, API Keys e endpoints públicos
O Metrito oferece diferentes métodos de autenticação dependendo da API e do caso de uso.
## Métodos de Autenticação
> **API Key (Recomendado)**
>
> Chave de serviço com escopos granulares. Ideal para integrações, automações e acesso programático.
> **JWT Token**
>
> Token obtido via login com e-mail e senha. Usado para integrações que precisam de contexto de usuário.
> **[OAuth 2.0](/api-reference/oauth)**
>
> Para plataformas de terceiros que precisam conectar workspaces de usuários sem intervenção manual. Gera uma API Key automaticamente com consentimento do usuário.
***
## API Key (Chave de Serviço)
API Keys são a forma recomendada de autenticação para integrações. Têm escopos granulares, não expiram (a menos que configurado) e não dependem de sessão de usuário.
### Formato
Todas as API Keys seguem o formato `mtk_live_...` e podem ser enviadas de duas formas:
```bash theme={null}
# Via header Authorization
curl -X POST https://api.metrito.com/v3/query \
-H "Authorization: Bearer mtk_live_abc123..."
# Via header x-api-key
curl -X POST https://api.metrito.com/v3/query \
-H "x-api-key: mtk_live_abc123..."
```
> [!NOTE]
>
> Ao usar API Key, **não é necessário** enviar o header `X-Workspace-Id` — o workspace é resolvido automaticamente pela chave.
### Como criar uma API Key
**1. Acesse as Configurações**
Na plataforma Metrito, clique no menu lateral e acesse **Configurações** (ícone de engrenagem).
**2. Vá até Chaves de API**
Na página de configurações, selecione a aba **Chaves de API**.
**3. Crie uma nova chave**
Clique em **Criar chave de API** e preencha:
* **Nome**: identificador para referência (ex: "n8n Produção", "Meu Dashboard")
* **Escopos**: permissões que a chave terá
* **Expiração**: nunca, 30 dias, 90 dias ou 1 ano
**4. Copie o token**
Após a criação, copie o token imediatamente. **Ele não será exibido novamente** por segurança.
### Escopos Disponíveis
| Escopo | Descrição |
| - | - |
| `tracking:read` | Leitura de containers, eventos, decode messages (`GET /v3/tracking/*`) |
| `tracking:write` | Enviar eventos de rastreamento, criar/editar conversões (`POST /v3/tracking/*`) |
| `data:read` | Consultar métricas via Data API (`POST /v3/query`, `GET /v3/fields`, `GET /v3/connections/*`) |
| `data:write` | Escrita de dados na Data API (reservado para uso futuro) |
> [!WARNING]
>
> Selecione apenas os escopos necessários para sua integração. Chaves com menos permissões são mais seguras.
***
## JWT Token (Login)
Para obter um JWT, use o endpoint de [login](/api-reference/autenticar-na-plataforma):
```bash theme={null}
curl -X POST https://api.metrito.com/v3/auth/login \
-H "Content-Type: application/json" \
-d '{ "email": "seu@email.com", "password": "suaSenha" }'
```
A resposta contém o `token` JWT:
```json theme={null}
{
"token": "eyJhbGciOiJIUzI1NiIs...",
"user": {
"id": "60f1b2c3d4e5f6a7b8c9d0e1",
"name": "João Silva",
"email": "seu@email.com",
"role": "owner"
}
}
```
Use o token nas requisições autenticadas:
```bash theme={null}
curl -X GET https://api.metrito.com/v3/projects \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."
```
> [!NOTE]
>
> O JWT expira em **7 dias**. Para integrações de longa duração, use API Keys.
***
## Resumo por API
| API | Endpoint | Autenticação |
| - | - | - |
| **Plataforma** | `POST /v3/auth/login` | Nenhuma (retorna JWT) |
| **Plataforma** | `GET /v3/projects` | JWT **ou** API Key (`data:read`) |
| **Plataforma** | `GET /v3/projects/{id}/connections` | JWT **ou** API Key (`data:read`) |
| **Plataforma** | `GET /v3/connections/{id}/sync` | JWT **ou** API Key (`data:read`) |
| **Plataforma** | `PUT /v3/connections/{id}/objects` | JWT **ou** API Key (`data:write`) |
| **Rastreamento** | `GET /v3/tracking/containers/{id}` | API Key (`tracking:read`) |
| **Rastreamento** | `GET /v3/tracking/containers/{id}/triggers` | API Key (`tracking:read`) |
| **Rastreamento** | `POST /v3/tracking/containers/{id}/triggers` | API Key (`tracking:write`) |
| **Rastreamento** | `PUT/DELETE /v3/tracking/containers/{id}/triggers/{triggerId}` | API Key (`tracking:write`) |
| **Rastreamento** | `POST /v3/tracking/events` | API Key **ou** Nenhuma (dual-mode) |
| **Rastreamento** | `POST /v3/tracking/messages/decode` | API Key (`tracking:read`) |
| **Rastreamento** | `POST /v2/tracking/generic?k={chave}` | Query param `k` |
| **Dados** | `GET /v3/fields` | JWT + `X-Workspace-Id` **ou** API Key (`data:read`) |
| **Dados** | `POST /v3/query` | JWT + `X-Workspace-Id` **ou** API Key |
# Consultar Métricas
Source: https://docs.metrito.com/api-reference/consultar-métricas-de-anúncios
/openapi/data.yaml post /v3/query
Endpoint unificado para consulta de métricas de anúncios. Retorna dados sincronizados do PostgreSQL via CubeJS,
com enriquecimento de nomes de entidades e conversão de moeda automática.
Os dados são sincronizados em background a cada 5-30 minutos (conforme o tier do plano).
A resposta é instantânea (~50ms) pois consulta dados já armazenados localmente.
## Autenticação
Este endpoint aceita dois formatos de autenticação:
1. **JWT da plataforma**
* Header: `Authorization: Bearer {jwt}`
* Header adicional obrigatório: `X-Workspace-Id`
2. **API Key do Metrito**
* Header: `Authorization: Bearer mtk_live_...` **ou** `x-api-key: mtk_live_...`
* **Não** precisa enviar `X-Workspace-Id` (o workspace é resolvido pela própria chave)
## Métricas Disponíveis
### Métricas Base (sincronizadas das APIs)
| Métrica | Descrição |
| - | - |
| `spend` | Valor gasto em anúncios |
| `impressions` | Vezes que o anúncio foi exibido |
| `clicks` | Cliques no anúncio |
| `reach` | Pessoas únicas alcançadas (apenas Meta) |
| `video_plays` | Vezes que o vídeo começou a rodar |
| `video_views_p75` | Visualizações até 75% do vídeo |
### Métricas Calculadas — Eficiência de Tráfego
| Métrica | Fórmula | Descrição |
| - | - | - |
| `ctr` | clicks / impressions | Taxa de clique |
| `cpc` | spend / clicks | Custo por clique |
| `cpm` | (spend / impressions) \* 1000 | Custo por mil impressões |
| `frequency` | impressions / reach | Frequência média |
### Métricas Calculadas — Análise de Vídeo
| Métrica | Fórmula | Descrição |
| - | - | - |
| `hook_rate` | video\_views\_3s / impressions | Qualidade do hook (3s) |
| `hold_rate` | video\_views\_p75 / impressions | Qualidade do conteúdo (75%) |
| `play_rate` | video\_plays / impressions | Taxa de play |
| `cta_rate` | clicks / video\_views\_p75 | Eficácia do CTA |
### Métricas Calculadas — Atribuição de Vendas
| Métrica | Descrição |
| - | - |
| `tx_revenue` | Faturamento atribuído |
| `tx_count` | Vendas aprovadas |
| `tx_count_total` | Vendas totais (inclui pendentes) |
| `tx_count_pending` | Vendas pendentes |
| `tx_count_refunded` | Reembolsos |
| `page_views` | Visualizações de página |
| `leads` | Cadastros/leads |
| `initiate_checkout` | Inícios de checkout |
### Métricas Calculadas — Financeiro
| Métrica | Fórmula | Descrição |
| - | - | - |
| `roas` | tx\_revenue / spend | Retorno sobre investimento em ads |
| `roi` | (tx\_revenue - spend) / spend | ROI percentual |
| `profit` | tx\_revenue - spend - tx\_product\_costs | Lucro líquido |
| `aov` | tx\_revenue / tx\_count | Ticket médio |
| `cpa` | spend / tx\_count | Custo por aquisição |
| `cpl` | spend / leads | Custo por lead |
## Granularidades
| Valor | Descrição |
| - | - |
| `5min`, `10min`, `15min`, `30min` | Sub-horária (planos Growth/Enterprise) |
| `hour` | Horária |
| `day` | Diária |
| `week` | Semanal |
| `month` | Mensal |
| `quarter` | Trimestral |
| `year` | Anual |
Se a granularidade solicitada não tiver dados disponíveis, o sistema faz fallback automático para granularidades mais grossas (`raw → hourly → daily`).
## Conversão de Moeda
A API converte automaticamente valores monetários para a moeda padrão do projeto. Para forçar uma moeda específica, use `metadata.convert_to_currency`.
Apenas campos monetários são convertidos (`spend`, `cpc`, `cpm`, `cpa`, `roas`, `profit`, `aov`, etc.). Campos como `clicks`, `impressions`, `ctr` não são afetados.
# Criar Gatilho
Source: https://docs.metrito.com/api-reference/criar-gatilho
/openapi/tracking.yaml post /v3/tracking/containers/{container_id}/triggers
Cria um novo gatilho no container. Via API pública, apenas gatilhos com `trigger.type = "api"` podem ser criados — o disparo é feito programaticamente via `POST /v3/tracking/events`.
Suporta header `Idempotency-Key` para evitar criações duplicadas em caso de retry.
## Tipo de Disparo
Via API pública, apenas `trigger.type = "api"` é suportado. Gatilhos de outros tipos (pageview, click, scroll) são criados via interface da plataforma Metrito.
## Mapeamento Meta
O campo `config.facebook.name` define qual evento padrão da Meta será disparado quando este gatilho for ativado. Valores suportados: `Purchase`, `Lead`, `PageView`, `AddToCart`, `InitiateCheckout`, etc.
# Decodificar Mensagens
Source: https://docs.metrito.com/api-reference/decodificar-mensagens-whatsapp
/openapi/tracking.yaml post /v3/tracking/messages/decode
Decodifica mensagens rastreadas do WhatsApp, retornando os parâmetros UTM e dados de rastreamento originais associados a cada mensagem.
# Deletar Gatilho
Source: https://docs.metrito.com/api-reference/deletar-gatilho
/openapi/tracking.yaml delete /v3/tracking/containers/{container_id}/triggers/{trigger_id}
Remove um gatilho. Apenas gatilhos com `trigger.type = "api"` podem ser deletados via API pública.
# Enviar Evento
Source: https://docs.metrito.com/api-reference/enviar-evento
/openapi/tracking.yaml post /v3/tracking/events
Envia um evento de rastreamento ao Metrito.
## Dois modos de uso
| Modo | Como usar | Resolução do container |
|------|-----------|------------------------|
| **Autenticado** (API key) | `Authorization: Bearer mtk_live_...` ou `x-api-key` | Container resolvido automaticamente pela chave |
| **Público** (sem auth) | Sem header de autenticação | Campo `domain` obrigatório no body |
O modo público é equivalente ao endpoint legado `POST /v2/public/tracking/events` — use este endpoint como ponto de entrada único.
## Idempotência
Envie `Idempotency-Key` com um valor único por evento. Dentro de 24h, chamadas repetidas com o mesmo key retornam a resposta original com `X-Idempotent-Replayed: true`.
## Modo Autenticado vs Público
**Com API key** — o container é resolvido automaticamente pela chave. O campo `domain` no body é ignorado (mas pode ser enviado).
**Público (sem auth)** — o campo `domain` é obrigatório e identifica o container de destino.
## config.name vs config.facebook.name
| Campo | Onde é usado | Descrição |
| - | - | - |
| `config.name` | **Metrito** | Nome interno para relatórios e dashboards |
| `config.facebook.name` | **Meta (Facebook/Instagram)** | Nome enviado à Meta Conversion API (`PageView`, `Purchase`, `Lead`, etc.) |
Se `config.facebook` for omitido, o evento é registrado no Metrito mas **não** é enviado para a Meta.
# Visão Geral
Source: https://docs.metrito.com/api-reference/introduction
Referência completa das APIs públicas do Metrito
O Metrito expõe três APIs com finalidades distintas:
| API | URL Base | Finalidade |
| - | - | - |
| **Plataforma** | `https://api.metrito.com` | Autenticação, projetos e conexões |
| **Rastreamento** | `https://api.metrito.com` | Eventos de rastreamento e webhooks de transação |
| **Dados** | `https://api.metrito.com` | Consulta de métricas de anúncios sincronizadas |
Plataforma, rastreamento e consulta de métricas compartilham o host **`https://api.metrito.com`** (gateway unificado). Não é necessário usar um subdomínio específico para dados.
## Autenticação
A maioria dos endpoints exige autenticação. Veja a [página de autenticação](/api-reference/authentication) para detalhes completos.
**Resumo rápido:**
* **API Key** `mtk_live_...` — recomendado para integrações. Criada em **Configurações → Chaves de API** na plataforma.
* **JWT** — obtido via `POST /v3/auth/login` com e-mail e senha.
* **Públicos** — apenas `POST /v2/public/tracking/events` (modo sem API key) não exige autenticação. `GET /v3/fields` e as demais rotas da API de dados exigem JWT ou API Key.
## Infraestrutura
Toda requisição à API v3 retorna:
* **`X-Request-Id`** — ID único para rastreamento e suporte
* **`X-RateLimit-*`** — Headers de rate limiting ([ver detalhes](/api-reference/rate-limits))
* **Formato de erro padronizado** — Códigos máquina-legíveis em todas as respostas de erro
## APIs
> **[Plataforma](/api-reference/autenticar-na-plataforma)**
>
> Login, listagem de projetos e conexões. Ponto de partida para descobrir IDs.
> **[Rastreamento](/api-reference/enviar-evento)**
>
> Envie eventos de rastreamento e webhooks de transação de qualquer plataforma.
> **[Dados](/api-reference/listar-campos-disponíveis)**
>
> Consulte métricas de anúncios com filtros, granularidade temporal e conversão de moeda.
## Fluxo Típico de Integração
**1. Autentique-se**
Crie uma [API Key](/api-reference/authentication) na plataforma ou faça [login](/api-reference/autenticar-na-plataforma) para obter um JWT.
**2. Descubra seus projetos**
Use `GET /v3/projects` para listar os projetos disponíveis e obter o `project_id`.
**3. Liste as conexões**
Use `GET /v3/projects/{project_id}/connections` para ver as fontes de dados conectadas.
**4. Consulte campos disponíveis**
Use `GET /v3/fields` para descobrir quais métricas e dimensões estão disponíveis.
**5. Consulte métricas**
Use `POST /v3/query` com o `project_id`, campos desejados e período para obter os dados.
# Listar Campos Disponíveis
Source: https://docs.metrito.com/api-reference/listar-campos-disponíveis
/openapi/data.yaml get /v3/fields
Retorna a lista de todas as métricas e dimensões disponíveis para consulta,
com metadados como nome, descrição, tipo de dado e fontes suportadas.
**Autenticação obrigatória** em `api.metrito.com`:
- **JWT** — `Authorization: Bearer {jwt}` e header `X-Workspace-Id`
- **API Key** — `Authorization: Bearer mtk_live_...` ou header `x-api-key` (workspace resolvido pela chave; `X-Workspace-Id` não é necessário)
Requer escopo `data:read` quando usar API Key.
# Listar Conexões
Source: https://docs.metrito.com/api-reference/listar-conexões-de-um-projeto
/openapi/platform.yaml get /v3/projects/{project_id}/connections
Retorna todas as conexões (fontes de dados) vinculadas a um projeto específico.
Cada conexão representa uma conta de anúncios ou fonte de dados integrada (Meta Ads, Google Ads, TikTok Ads, etc.).
## Autenticação
Este endpoint aceita dois formatos de autenticação:
1. **JWT da plataforma**
* Header: `Authorization: Bearer {jwt}`
2. **API Key do Metrito**
* Header: `Authorization: Bearer mtk_live_...` **ou** `x-api-key: mtk_live_...`
* Requer escopo `data:read`
* O projeto deve pertencer ao workspace vinculado à chave
# Listar Gatilhos
Source: https://docs.metrito.com/api-reference/listar-gatilhos
/openapi/tracking.yaml get /v3/tracking/containers/{container_id}/triggers
Retorna os gatilhos configurados em um container com paginação.
Um **gatilho** é uma configuração que define quando e como uma conversão deve ser disparada — tipo de disparo (`api`, `page_view`, `element_click`, etc.), nome do evento no Metrito, mapeamento para a Meta Conversion API e condições de página.
# Listar Projetos
Source: https://docs.metrito.com/api-reference/listar-projetos-do-usuário
/openapi/platform.yaml get /v3/projects
Retorna todos os projetos (brands) que o usuário autenticado tem acesso.
Cada projeto contém um `id` que é usado como `project_id` nas demais APIs (Data API, conexões, etc.).
## Autenticação
Este endpoint aceita dois formatos de autenticação:
1. **JWT da plataforma**
* Header: `Authorization: Bearer {jwt}`
2. **API Key do Metrito**
* Header: `Authorization: Bearer mtk_live_...` **ou** `x-api-key: mtk_live_...`
* Requer escopo `data:read`
* Retorna todos os projetos do workspace vinculado à chave
# OAuth 2.0
Source: https://docs.metrito.com/api-reference/oauth
Permita que plataformas de terceiros se conectem a workspaces do Metrito com consentimento do usuário
O Metrito suporta um fluxo de autorização baseado em **OAuth 2.0 Authorization Code** para plataformas de terceiros — como ferramentas de automação, CRMs e plataformas de marketing — que precisam acessar workspaces do Metrito em nome de seus usuários.
Com esse fluxo, o usuário nunca precisa criar ou copiar uma API Key manualmente. A plataforma parceira redireciona o usuário para o Metrito, onde ele visualiza uma tela de consentimento, seleciona a workspace e aprova o acesso. O resultado é uma API Key criada automaticamente, pronta para uso.
> [!WARNING]
>
> **O `client_id` e o `client_secret` não são gerados automaticamente.** Para integrar sua plataforma com o Metrito via OAuth, você precisa solicitá-los diretamente com a equipe do Metrito.
>
> [→ Entrar em contato com o time do Metrito](mailto:contato@metrito.com)
>
> Ao entrar em contato, informe o nome da sua plataforma, a URL de redirecionamento (`redirect_uri`) que você usará e uma breve descrição do caso de uso.
***
## Como funciona o fluxo
**1. Redirecionar o usuário para a tela de consentimento**
Sua plataforma redireciona o usuário para a URL de autorização do Metrito. O usuário precisa estar logado no Metrito — caso não esteja, será redirecionado automaticamente para o login antes de ver a tela de consentimento.
```
https://app.metrito.com/authorize
?client_id=metrito_app_suaplataforma
&redirect_uri=https://suaplataforma.com/metrito/callback
&state=TOKEN_CSRF_GERADO_POR_VOCE
```
O parâmetro `state` deve ser um valor aleatório gerado pela sua plataforma para prevenir ataques CSRF. Você receberá ele de volta no redirecionamento.
**2. Usuário aprova o acesso**
O Metrito exibe uma tela mostrando o nome da sua plataforma, as permissões que serão concedidas e um seletor de workspace. O usuário seleciona a workspace que deseja conectar e clica em **Autorizar acesso**.
Se o usuário clicar em **Cancelar**, será redirecionado para a `redirect_uri` com `error=access_denied`.
**3. Metrito redireciona de volta com um código**
Após a aprovação, o Metrito redireciona para a `redirect_uri` registrada com um código de autorização de uso único:
```
https://suaplataforma.com/metrito/callback
?code=CODIGO_DE_AUTORIZACAO
&state=TOKEN_CSRF_GERADO_POR_VOCE
```
Valide que o `state` recebido corresponde ao que você enviou. O `code` expira em **5 minutos** e só pode ser usado uma vez.
**4. Trocar o código por uma API Key (servidor para servidor)**
No backend da sua plataforma, troque o código por uma API Key do Metrito. Essa chamada usa o `client_secret` e nunca deve ser feita pelo frontend.
```bash theme={null}
curl -X POST https://api.metrito.com/v3/oauth/token \
-H "Content-Type: application/json" \
-d '{
"grant_type": "authorization_code",
"client_id": "metrito_app_suaplataforma",
"client_secret": "sk_live_...",
"code": "CODIGO_DE_AUTORIZACAO",
"redirect_uri": "https://suaplataforma.com/metrito/callback",
"key_name": "Sua Plataforma"
}'
```
A API Key retornada (`access_token`) pode ser usada imediatamente para autenticar chamadas à API do Metrito.
***
## URL de Autorização
```
https://app.metrito.com/authorize
```
### Parâmetros
| Parâmetro | Obrigatório | Descrição |
| - | - | - |
| `client_id` | Sim | Identificador da sua plataforma, fornecido pelo time do Metrito (ex: `metrito_app_suaplataforma`) |
| `redirect_uri` | Sim | URL para onde o usuário será redirecionado após a autorização. Deve corresponder exatamente à URI registrada pelo time do Metrito |
| `state` | Sim | String aleatória gerada pela sua plataforma para prevenção de CSRF. Será retornada no redirecionamento |
***
## Troca de Código por API Key
### Endpoint
```
POST https://api.metrito.com/v3/oauth/token
```
### Body da requisição
```json theme={null}
{
"grant_type": "authorization_code",
"client_id": "metrito_app_suaplataforma",
"client_secret": "sk_live_...",
"code": "CODIGO_DE_AUTORIZACAO",
"redirect_uri": "https://suaplataforma.com/metrito/callback",
"key_name": "Sua Plataforma - Conta do João"
}
```
| Campo | Obrigatório | Descrição |
| - | - | - |
| `grant_type` | Sim | Deve ser `"authorization_code"` |
| `client_id` | Sim | Seu identificador de aplicativo OAuth |
| `client_secret` | Sim | Seu segredo de aplicativo OAuth. **Nunca exponha isso no frontend** |
| `code` | Sim | O código recebido no redirecionamento |
| `redirect_uri` | Sim | Exatamente a mesma URI usada na etapa de autorização |
| `key_name` | Não | Nome da chave que aparecerá na workspace do usuário. Se omitido, usa o nome da sua plataforma (ex: `"Zapflow"`) |
### Resposta
```json theme={null}
{
"access_token": "mtk_live_AbCdEfGh...",
"token_type": "bearer",
"scope": "tracking:read tracking:write data:read data:write",
"workspace_id": "60f1b2c3d4e5f6a7b8c9d0e1",
"key_name": "Sua Plataforma - Conta do João",
"expires_at": null
}
```
| Campo | Descrição |
| - | - |
| `access_token` | A API Key do Metrito no formato `mtk_live_...`. Use como `Bearer` token em todas as chamadas da API |
| `token_type` | Sempre `"bearer"` |
| `scope` | Escopos concedidos (sempre todos os quatro escopos disponíveis) |
| `workspace_id` | ID da workspace que o usuário autorizou |
| `key_name` | Nome da chave criada na workspace |
| `expires_at` | Data de expiração da chave, ou `null` se não expira |
### Usando a API Key
Após receber o `access_token`, use-o como Bearer token em todas as chamadas:
```bash theme={null}
curl -X GET https://api.metrito.com/v3/projects \
-H "Authorization: Bearer mtk_live_AbCdEfGh..."
```
> [!NOTE]
>
> A API Key criada via OAuth fica visível na seção **Configurações → Chaves de API** da workspace do usuário, identificada com o nome da sua plataforma. O usuário pode revogá-la a qualquer momento.
***
## Escopos
Toda API Key gerada via OAuth recebe automaticamente todos os escopos disponíveis. Não há seleção de escopos por parte da plataforma parceira ou do usuário.
| Escopo | Permissão |
| - | - |
| `tracking:read` | Leitura de containers, eventos e decode messages |
| `tracking:write` | Envio de eventos de rastreamento e criação de conversões |
| `data:read` | Consulta de métricas de anúncios via Data API |
| `data:write` | Escrita de dados na Data API |
***
## Segurança
> **Códigos de uso único**
>
> O código de autorização (`code`) expira em 5 minutos e é invalidado imediatamente após o primeiro uso. Não pode ser reutilizado.
> **Proteção contra CSRF**
>
> O parâmetro `state` é retornado intacto no redirecionamento. Sempre valide que o valor recebido corresponde ao que você enviou antes de trocar o código.
> **redirect\_uri obrigatória**
>
> A `redirect_uri` usada na troca de código deve ser idêntica à registrada e à utilizada na autorização. URIs não registradas são rejeitadas.
> **client\_secret no servidor**
>
> O `client_secret` só deve existir no backend da sua plataforma. Nunca inclua-o em código de frontend, aplicativos móveis ou em URLs.
***
## Erros comuns
| Código HTTP | Mensagem | Causa |
| - | - | - |
| `400` | `redirect_uri is not registered` | A URI não foi registrada para este `client_id` |
| `400` | `Invalid authorization code` | Código inválido, expirado ou já utilizado |
| `400` | `client_id mismatch` | O `client_id` na troca não corresponde ao usado na autorização |
| `400` | `redirect_uri mismatch` | A `redirect_uri` na troca difere da usada na autorização |
| `401` | `Invalid client credentials` | `client_id` ou `client_secret` incorretos |
| `404` | `OAuth application not found` | `client_id` não existe ou foi revogado |
***
## Solicitar credenciais
Para integrar sua plataforma ao Metrito via OAuth, entre em contato com nosso time:
> **[Solicitar client\_id e client\_secret](mailto:contato@metrito.com)**
>
> Envie um e-mail para **[contato@metrito.com](mailto:contato@metrito.com)** com o nome da sua plataforma, a `redirect_uri` que você usará e uma breve descrição do caso de uso. O time do Metrito retornará suas credenciais em até 2 dias úteis.
# Obter Container
Source: https://docs.metrito.com/api-reference/obter-container
/openapi/tracking.yaml get /v3/tracking/containers/{container_id}
Retorna informações completas de um container de rastreamento, incluindo domínio, gatilhos configurados e pixels vinculados.
O parâmetro `container_id` aceita **três formatos** de identificação:
| Formato | Exemplo | Onde encontrar |
|---------|---------|----------------|
| **ObjectId** do Metrito | `64a1b2c3d4e5f6a7b8c9d0e1` | Na URL da plataforma após `/containers/` |
| **Domínio** (containers v2) | `minhaloja.com.br` | O domínio real configurado no container |
| **Metrito Tracking Code** (containers v3) | `MTC-AB12` | Na sidebar da plataforma, página de Tracking |
## Identificando o container
O parâmetro `container_id` é flexível e aceita qualquer um dos três formatos abaixo:
| Formato | Exemplo | Quando usar |
| - | - | - |
| ObjectId Metrito | `64a1b2c3d4e5f6a7b8c9d0e1` | Obtido via URL da plataforma (`/containers/{id}`) ou via API |
| Domínio (v2) | `minhaloja.com.br`, `advera.com.br` | Containers legados v2 — use o domínio real |
| Metrito Tracking Code (v3) | `MTC-AB12` | Containers v3 — visível na sidebar da plataforma, na página de Tracking |
> [!TIP]
>
> O **Metrito Tracking Code** (MTC) é a forma mais fácil de identificar containers v3. Ele aparece diretamente na sidebar da plataforma e é curto e fácil de copiar.
### Exemplos de chamada
**Por ObjectId:**
```bash
curl https://api.metrito.com/v3/tracking/containers/64a1b2c3d4e5f6a7b8c9d0e1 \
-H "Authorization: Bearer mtk_live_..."
```
**Por domínio (v2):**
```bash
curl https://api.metrito.com/v3/tracking/containers/minhaloja.com.br \
-H "Authorization: Bearer mtk_live_..."
```
**Por Metrito Tracking Code (v3):**
```bash
curl https://api.metrito.com/v3/tracking/containers/MTC-AB12 \
-H "Authorization: Bearer mtk_live_..."
```
# Rate Limits
Source: https://docs.metrito.com/api-reference/rate-limits
Limites de requisição, headers e como lidar com throttling
Todas as rotas do Metrito possuem rate limiting para garantir estabilidade e uso justo da plataforma.
## Limites por Tier
| Tier | Limite | Janela |
| - | - | - |
| API Key padrão | 120 req | 1 minuto |
| Growth | 300 req | 1 minuto |
| Enterprise | 1.000 req | 1 minuto |
## Headers de Resposta
Toda resposta das rotas `/v3/` inclui headers de rate limit:
| Header | Descrição |
| - | - |
| `X-RateLimit-Limit` | Limite máximo de requisições na janela |
| `X-RateLimit-Remaining` | Requisições restantes na janela atual |
| `X-RateLimit-Reset` | Timestamp Unix de quando a janela reseta |
| `Retry-After` | Segundos até poder tentar novamente (apenas em 429) |
## Lidando com Rate Limiting
Quando o limite é excedido, a API retorna `429 Too Many Requests`:
```json theme={null}
{
"error": {
"type": "rate_limit_error",
"code": "rate_limit_exceeded",
"message": "Rate limit exceeded. Maximum 120 requests per 60s.",
"request_id": "req_abc123"
}
}
```
**Recomendações:**
1. Respeite o header `Retry-After` antes de tentar novamente
2. Implemente backoff exponencial para retries
3. Agrupe múltiplas consultas em uma única chamada quando possível (ex: multiple fields em `POST /v3/query`)
4. Cache respostas que não mudam frequentemente (`GET /v3/fields`)
***
## Request ID
Toda resposta inclui o header `X-Request-Id`. Use este ID ao entrar em contato com o suporte.
```
X-Request-Id: req_k8mN2pQ4rT6wX1
```
***
## Idempotência
Endpoints de escrita (`POST /v3/tracking/events`, `POST /v3/tracking/containers/:id/events`) suportam o header `Idempotency-Key`.
```bash theme={null}
curl -X POST https://api.metrito.com/v3/tracking/events \
-H "Authorization: Bearer mtk_live_abc123..." \
-H "Idempotency-Key: meu-evento-unico-123" \
-H "Content-Type: application/json" \
-d '{ "config": { "name": "Purchase" } }'
```
| Comportamento | Descrição |
| - | - |
| Primeira chamada | Processa normalmente e armazena resultado |
| Chamada repetida (mesmo key, 24h) | Retorna resultado armazenado com header `X-Idempotent-Replayed: true` |
| Após 24h | Key expira, chamada é processada novamente |
> [!WARNING]
>
> O `Idempotency-Key` é vinculado à API key. Chaves diferentes podem usar o mesmo valor sem conflito.
***
## Formato de Erro Padronizado
Todas as rotas `/v3/` retornam erros no formato:
```json theme={null}
{
"error": {
"type": "authentication_error",
"code": "invalid_api_key",
"message": "The API key provided is invalid or has been revoked.",
"request_id": "req_abc123"
}
}
```
### Tipos de Erro
| Tipo | HTTP Status | Descrição |
| - | - | - |
| `authentication_error` | 401 | Credencial ausente, inválida ou expirada |
| `authorization_error` | 403 | Permissão insuficiente (escopo) |
| `validation_error` | 400 | Parâmetro ausente ou inválido |
| `not_found_error` | 404 | Recurso não encontrado |
| `rate_limit_error` | 429 | Limite de requisições excedido |
| `api_error` | 500 | Erro interno do servidor |
### Códigos de Erro
| Código | Descrição |
| - | - |
| `invalid_api_key` | API key inválida ou revogada |
| `expired_api_key` | API key expirada |
| `insufficient_scope` | API key não possui o escopo necessário |
| `rate_limit_exceeded` | Limite de requisições excedido |
| `invalid_parameter` | Parâmetro de request inválido |
| `missing_parameter` | Parâmetro obrigatório ausente |
| `resource_not_found` | Recurso não encontrado |
| `idempotency_conflict` | Conflito de idempotência |
| `internal_error` | Erro interno |
# Webhook de Pedido
Source: https://docs.metrito.com/api-reference/webhook-de-pedidotransação
/openapi/tracking.yaml post /v2/tracking/generic
Webhook genérico para receber eventos de pedido/transação de qualquer plataforma de checkout, ERP ou sistema customizado.
O parâmetro `k` na query string identifica e autentica a requisição. Nenhum header `Authorization` é necessário.
O Metrito irá:
- Fazer **upsert** do registro da transação usando `transaction.id` como chave única
- **Detectar o tipo de evento** automaticamente pelo campo `status`
- **Disparar conversão de Compra** para a Meta Conversion API quando `status = "approved"`
- **Associar a transação a um lead rastreado** via UTM, e-mail ou telefone
## Autenticação
O parâmetro `k` na query string identifica e autentica a requisição.
**Onde encontrar sua chave:** No painel do Metrito, acesse **Conexões → Adicionar Conexão → Personalizado**. A URL completa do webhook (incluindo seu `k`) é exibida após a criação.
## Valores Monetários
Todos os valores monetários devem ser enviados como **inteiros em centavos**.
| Campo | Exemplo (BRL) | Valor Correto |
| - | - | - |
| `transaction.value` | R\$ 199,80 | `19980` |
| `transaction.commission_value` | R\$ 29,97 | `2997` |
## Status de Transação
| Valor | Dispara Compra Meta? |
| - | - |
| `pending` | Não |
| `approved` | **Sim** |
| `failed` | Não |
| `refunded` | Não |
| `chargeback` | Não |
# Configurações do projeto
Source: https://docs.metrito.com/conceitos/configuracoes-do-projeto
Defina nome, logo, moeda padrão e fuso horário do seu projeto no Metrito.
## Por que configurar o projeto?
As configurações do projeto definem como os seus dados são **exibidos e interpretados**. Moeda e fuso horário, em especial, afetam todos os relatórios — então vale a pena acertá-los logo no início.
Acesse as configurações pelo ícone de **engrenagem** na barra lateral, na seção de configurações do projeto.
## Identidade do projeto
**1. Nome do projeto**
É como o projeto aparece no seletor de projetos e nos relatórios compartilhados. Use um nome claro — o nome da marca, do cliente ou do produto.
**2. Logo do projeto**
A imagem que identifica o projeto na plataforma e nos dashboards compartilhados. Use uma imagem quadrada e de boa resolução para um visual mais profissional, principalmente ao [compartilhar dashboards](/dashboard/compartilhamento) com clientes.
## Moeda padrão
A **moeda padrão** é a moeda em que os valores do projeto são exibidos — faturamento, gasto em anúncios, ticket médio e afins.
> [!NOTE]
>
> A moeda padrão do projeto é diferente da moeda de cada integração. Cada checkout/conta de anúncio tem a sua própria moeda de origem; o Metrito converte os valores para a moeda padrão do projeto na hora de mostrar os relatórios. Você também pode trocar a moeda de exibição pontualmente no topo do dashboard.
Escolha a moeda que representa a operação do projeto (ex.: `BRL` para operações no Brasil, `USD` para operações internacionais).
## Fuso horário padrão
O **fuso horário** define como os dados são agrupados por dia, semana e mês. Ele afeta diretamente os filtros de data e a leitura de qualquer relatório.
> [!WARNING]
>
> Configurar o fuso errado é uma das causas mais comuns de "os números não batem". Se o seu negócio opera no horário de Brasília, use **(GMT-03:00) America/Sao\_Paulo**. Uma venda feita às 23h pode cair no dia seguinte se o fuso estiver incorreto.
O fuso aparece, por exemplo, no seletor de datas do dashboard, indicando em qual horário o período está sendo calculado.
## Checklist de configuração inicial
Antes de começar a usar o projeto para valer, confira:
* [ ] **Nome** e **logo** definidos
* [ ] **Moeda padrão** correta para a operação
* [ ] **Fuso horário** correspondente ao seu negócio
* [ ] Primeiras [integrações](/integracoes/overview) conectadas
* [ ] [Container de rastreamento](/quickstart) instalado (se aplicável)
## Próximos passos
> **[Conectar integrações](/integracoes/overview)**
>
> Traga seus dados de anúncios e vendas para o projeto.
> **[Montar seu dashboard](/dashboard/overview)**
>
> Visualize as métricas do projeto em um painel personalizado.
# Organizações
Source: https://docs.metrito.com/conceitos/organizacoes
O que é uma organização no Metrito e como ela agrupa seus projetos, integrações e membros.
## O que é uma organização?
A **organização** é o nível mais alto da estrutura do Metrito. É a conta da sua empresa — o "guarda-chuva" que reúne tudo: seus projetos, suas integrações, seus membros de equipe e o seu plano de assinatura.
Pense na hierarquia assim:
```
Organização (sua empresa)
└── Projeto (uma marca, um cliente, um produto)
└── Integrações, dashboards, campanhas, vendas e leads
```
> [!NOTE]
>
> Toda conta tem pelo menos uma organização. Se você gerencia mais de uma empresa ou atende vários clientes, pode ter várias organizações separadas — cada uma com sua própria cobrança e seus próprios membros.
## O que vive dentro de uma organização?
| Recurso | Descrição |
| - | - |
| **Projetos** | Cada marca, cliente ou produto que você acompanha. Veja [Projetos](/conceitos/projetos). |
| **Integrações** | Contas de anúncio, checkouts e canais conectados. Podem ser **compartilhadas entre projetos** da mesma organização. |
| **Membros** | As pessoas com acesso. Você convida sua equipe e define o que cada um pode ver e fazer. |
| **Plano e cobrança** | A assinatura, os limites de uso e o faturamento ficam no nível da organização. |
## Quando criar mais de uma organização?
Na maioria dos casos, **uma organização basta** — você cria vários projetos dentro dela.
Crie organizações separadas apenas quando os contextos forem realmente independentes, por exemplo:
* Você é uma **agência** e quer manter a cobrança e os acessos de cada cliente totalmente isolados.
* Você tem **empresas diferentes** com equipes que não devem se cruzar.
> [!TIP]
>
> Se a sua dúvida é apenas "como separo a marca A da marca B?", a resposta normalmente é **criar dois projetos** dentro da mesma organização — não duas organizações. Projetos compartilham o plano e permitem reaproveitar integrações.
## Próximos passos
> **[Projetos](/conceitos/projetos)**
>
> Entenda o que é um projeto e como organizar os seus.
> **[Compartilhar integrações](/integracoes/compartilhar-integracoes)**
>
> Reaproveite uma mesma conexão em vários projetos da organização.
# Projetos
Source: https://docs.metrito.com/conceitos/projetos
O que é um projeto no Metrito, para que serve e como organizar os seus de forma eficiente.
## O que é um projeto?
Um **projeto** é o espaço de trabalho de uma marca, produto ou cliente dentro da sua [organização](/conceitos/organizacoes). É onde os dados ganham contexto: cada dashboard, campanha, venda, lead e integração pertence a um projeto.
Quando você entra na plataforma, está sempre **dentro de um projeto**. O seletor no topo da tela mostra o projeto atual e permite alternar entre todos os que você tem acesso.
Clique no nome do projeto ("**Clique para ver todos os projetos**") para trocar de projeto ou criar um novo.
O seletor de projetos fica no topo da plataforma.
## Para que servem os projetos?
Projetos servem para **isolar e organizar** os dados. Tudo o que pertence a um projeto fica contido nele:
* Os **dashboards** que você monta
* As **integrações** que alimentam aquele negócio (contas de anúncio, checkouts, WhatsApp)
* As telas de **campanhas**, **vendas** e **leads**
* As configurações de **rastreamento** (container de pixel, conversões)
Dados de projetos diferentes **nunca se misturam** em um relatório. Se você quer comparar duas marcas, faz isso trocando de projeto — não somando os números por engano.
## Como organizar seus projetos
Não existe uma regra única, mas estes são os modelos mais comuns:
> **Um projeto por marca**
>
> O modelo mais comum para quem tem o próprio negócio. Cada loja/marca vira um projeto.
> **Um projeto por cliente**
>
> Ideal para agências e gestores de tráfego. Cada cliente é um projeto isolado.
> **Um projeto por produto**
>
> Útil quando produtos têm operações, checkouts e públicos bem distintos.
> **Por ambiente / mercado**
>
> Separe operações em países ou moedas diferentes em projetos próprios.
> [!WARNING]
>
> Evite jogar **tudo em um único projeto** se as operações forem realmente distintas (moedas, fusos ou clientes diferentes). Misturar contextos atrapalha a leitura dos números — especialmente moeda e fuso horário, que são definidos **por projeto**.
## E os dados compartilhados?
Embora os dados de cada projeto sejam isolados, as **integrações podem ser compartilhadas** entre projetos da mesma organização. Assim, uma conta de anúncio conectada uma única vez pode alimentar mais de um projeto — sem precisar reconectar.
Veja [Compartilhar integrações](/integracoes/compartilhar-integracoes) para entender quando e por que fazer isso.
## Próximos passos
> **[Configurações do projeto](/conceitos/configuracoes-do-projeto)**
>
> Defina nome, logo, moeda padrão e fuso horário.
> **[Integrações](/integracoes/overview)**
>
> Conecte as fontes de dados que alimentam o projeto.
# Builder de dashboard
Source: https://docs.metrito.com/dashboard/builder
Como montar, configurar e organizar os widgets do seu dashboard no Metrito.
## O que é o builder?
O **builder** é o modo de edição do dashboard. É onde você arrasta widgets para o painel, configura cada um deles, reorganiza o layout e salva o resultado.
Para abrir o builder, clique em **Editar** (ícone de lápis) ao lado do nome do dashboard.
## A barra lateral: Templates e Widgets
No builder, uma barra lateral à esquerda traz duas abas:
> **Templates**
>
> Layouts prontos para começar rápido. Aplique um template e ajuste a partir dele. Veja [Templates](/dashboard/templates).
> **Widgets**
>
> A galeria de widgets disponíveis, organizada por categoria (Principais, Gráficos, Úteis, Especiais). Use a busca para encontrar rápido.
As categorias de widgets incluem:
* **Principais** — Card de Métrica, Tabela, Funil de Conversão
* **Gráficos** — Linha, Barras, Área, Pizza
* **Úteis** — Divisor
* **Especiais** — Vendas por Horário, Vendas por Dia da Semana, Taxa de Aprovação
Veja a lista completa em [Widgets disponíveis](/dashboard/widgets).
## Adicionar e organizar widgets
**1. Adicione um widget**
Clique no widget desejado na barra lateral. Ele é inserido no painel.
**2. Reposicione**
Arraste o widget para a posição desejada no grid.
**3. Redimensione**
Use a alça no canto inferior direito do widget para ajustar largura e altura.
## Configurar um widget
Ao passar o mouse sobre um widget no builder, aparecem três ações no canto superior:
| Ícone | Ação |
| - | - |
| **Duplicar** | Cria uma cópia do widget com as mesmas configurações. |
| **Configurar** (engrenagem) | Abre as opções do widget: métrica exibida, formato, cores, agrupamento e mais. |
| **Excluir** (lixeira) | Remove o widget do dashboard. |
> [!TIP]
>
> Em **Configurar** você define o que cada widget mostra — por exemplo, qual métrica um Card de Métrica exibe, ou quais colunas aparecem em uma Tabela. É aqui que o dashboard ganha a cara do seu negócio.
## Salvar e visualizar
O builder mostra o status de salvamento no topo (ex.: **Salvo**). Use os botões de **desfazer/refazer** para voltar atrás em mudanças e **Visualizar** para sair da edição e ver o painel como ele ficará.
> [!NOTE]
>
> Gostou do layout e quer reutilizá-lo em outros projetos? Salve-o como um [template](/dashboard/templates).
## Próximos passos
> **[Widgets disponíveis](/dashboard/widgets)**
>
> Veja cada tipo de widget e para que serve.
> **[Templates](/dashboard/templates)**
>
> Comece de um layout pronto ou salve o seu.
# Compartilhar o dashboard
Source: https://docs.metrito.com/dashboard/compartilhamento
Compartilhe seu dashboard por link externo com senha ou incorpore via embed (iframe).
O Metrito permite compartilhar um dashboard sem que a outra pessoa precise ter conta na plataforma. Clique em **Compartilhar** no topo do painel para abrir as opções. Há dois modos de distribuição.
> **Link externo (com senha)**
>
> Um link protegido por senha. Qualquer pessoa com o link e a senha consegue visualizar o painel.
> **Embed (token de acesso)**
>
> Um código `