Tabela de campanhas
Tabela hierárquica canal → campanha → conjunto de anúncios → anúncio, com métricas de mídia e de negócio, separada em dois grupos.
Use para descobrir quais campanhas, conjuntos e anúncios performam melhor. A tabela inteira vem em uma única resposta, sem paginação nem ordenação.
groupstraz sempreacquisition(campanhas marcadas como aquisição) eother(marca, monetização, campanhas sem classificação e clientes sem campanha identificada), mesmo vazios. No grupoother,caceltvCacRatiosão semprenull.- Métricas de mídia (
investment,impressions,clicks,cpm,ctr,cpc) existem em todos os níveis. Métricas de negócio (newCustomers,cac,avgLtv,ltvCacRatio,roi,paybackMonths,leads) só existem nos níveis de canal e campanha e vêmnullabaixo deles. - A linha
Campanha não identificadareúne, em cada canal, os clientes que não puderam ser ligados a uma campanha específica. searchfiltra pelo nome da campanha, do conjunto ou do anúncio. Com busca ativa, os totais de cada canal somam só as campanhas exibidas e deixam de bater com/v1/acquisition/channels.- Limite de 5.000 linhas: anúncios e depois conjuntos são removidos primeiro, e
truncationinforma o corte.
ClientIdAuthClientSecretAuthx-client-id<token>Client ID
x-client-secret<token>Client secret
organizationId*stringIdentificador da organização (obrigatório). Um valor ausente ou que não seja string resulta em 400.
period?stringDescontinuadoDescontinuado: use startDate e endDate, que têm precedência quando enviados. Período relativo de N dias terminando hoje, inclusive (7d = hoje e os 6 dias anteriores). "Hoje" é o dia de calendário em UTC, e esse último dia ainda está parcial. Valores aceitos: 7d, 30d, 90d, 1y. Omitido ou vazio equivale a 30d; qualquer outro valor retorna 400.
"30d""7d""30d""90d""1y"startDate?stringInício do período (YYYY-MM-DD, inclusivo). Envie junto com endDate: enviar só um dos dois retorna 400. Tem precedência sobre period. Use só a data: data com hora ou data inexistente retorna 400. Regras: startDate ≤ endDate, nenhuma data no futuro (UTC) e no máximo 365 dias entre as datas (até 366 dias no período). A comparação usa o período de mesma duração imediatamente anterior.
dateendDate?stringFim do período (YYYY-MM-DD, inclusivo). Veja startDate para as regras. Quando o fim é hoje, esse último dia ainda está parcial, porque os dados do dia continuam chegando.
datesearch?stringFiltro de texto pelo nome da campanha, do conjunto de anúncios ou do anúncio, sem diferenciar maiúsculas de minúsculas (também encontra Campanha não identificada). Vazio não filtra. Só /v1/acquisition/campaigns usa este parâmetro; os demais endpoints o aceitam e ignoram.
Tabela de campanhas retornada com sucesso
application/json- response
marginConfigured?booleanIndica se a organização configurou uma margem de contribuição na plataforma. false significa que o padrão de 100% está em uso.
marginCompleteness?MarginCompletenessCompletude da margem de contribuição configurada por itens de custo: complete = todos os itens resolvidos; partial = algum item pendente, então a margem aplicada é parcial; none = sem composição por itens (margem nunca configurada ou configurada como um percentual único; diferencie com marginConfigured).
"complete""partial""none"marginItemStatus?Status por item da composição da margem (synced = vindo dos pedidos, configured = informado pelo usuário, pending = não configurado ou com dados ausentes). null quando a organização não tem composição.
groups*array<>Sempre exatamente dois grupos, nesta ordem: acquisition e other. Os dois são retornados mesmo quando vazios.
truncation*Informa se a tabela foi cortada pelo limite de linhas, para você poder exibir "mostrando N de M linhas" em vez de uma árvore incompleta sem aviso.
curl -X GET "https://example.com/v1/acquisition/campaigns?organizationId=c0ad4763-173e-4a05-9cff-5208c8ea5f6a&period=30d&startDate=2026-03-11&endDate=2026-03-22&search=prospec%C3%A7%C3%A3o"{ "groups": [ { "groupId": "acquisition", "rows": [ { "level": "channel", "id": "v4:acquisition:channel:Meta%20Ads", "name": "Meta Ads", "campaignId": null, "creativeUrl": null, "investment": 128000, "impressions": 10000000, "clicks": 195000, "cpm": 12.8, "ctr": 1.95, "cpc": 0.66, "leads": 4838, "leadsBySource": { "crm": 4838, "meta": null, "google": null }, "roi": 1.94, "newCustomers": 1120, "cac": 114.29, "avgLtv": 486.5, "ltvCacRatio": 4.26, "paybackMonths": 2.7, "children": [ { "level": "campaign", "id": "cmp-8891", "name": "Aquisição | Prospecção BR", "campaignId": "cmp-8891", "creativeUrl": null, "investment": 96000, "impressions": 7680000, "clicks": 161280, "cpm": 12.5, "ctr": 2.1, "cpc": 0.6, "leads": 4838, "leadsBySource": { "crm": 4838, "meta": null, "google": null }, "roi": 2.31, "newCustomers": 940, "cac": 102.13, "avgLtv": 501.2, "ltvCacRatio": 4.91, "paybackMonths": 2.4, "children": [ { "level": "adset", "id": "adset-11", "name": "Conjunto Lookalike 1%", "campaignId": null, "creativeUrl": null, "investment": 51000, "impressions": 4214876, "clicks": 96942, "cpm": 12.1, "ctr": 2.3, "cpc": 0.53, "leads": null, "leadsBySource": null, "roi": null, "newCustomers": null, "cac": null, "avgLtv": null, "ltvCacRatio": null, "paybackMonths": null, "children": [ { "level": "ad", "id": "ad-101", "name": "Vídeo institucional 15s", "campaignId": null, "creativeUrl": "https://cdn.example.com/creative/ad-101.jpg", "investment": 51000, "impressions": 4214876, "clicks": 96942, "cpm": 12.1, "ctr": 2.3, "cpc": 0.53, "leads": null, "leadsBySource": null, "roi": null, "newCustomers": null, "cac": null, "avgLtv": null, "ltvCacRatio": null, "paybackMonths": null } ] } ] }, { "level": "campaign", "id": "v4:acquisition:unknown-campaign:Meta%20Ads", "name": "Campanha não identificada", "campaignId": null, "creativeUrl": null, "investment": 0, "impressions": 0, "clicks": 0, "cpm": null, "ctr": null, "cpc": null, "leads": 0, "leadsBySource": { "crm": 0, "meta": null, "google": null }, "roi": null, "newCustomers": 180, "cac": null, "avgLtv": 412.7, "ltvCacRatio": null, "paybackMonths": null, "children": [] } ] } ] }, { "groupId": "other", "rows": [] } ], "truncation": { "truncated": false, "returnedRows": 5, "totalRows": 5, "droppedLevels": [] }}