Aquisição

Unit economics ao longo do tempo

GET
/v1/acquisition/unit-economics-over-time

Série diária de CAC, LTV e custo por venda (CPV), com uma aba por canal pago.

Use para acompanhar a eficiência de cada canal ao longo do tempo. O canal Orgânico não aparece, então a lista de canais pode ser diferente da de /v1/acquisition/new-customers-over-time.

  • Cada razão é calculada com os totais do dia, nunca como média.
  • cac usa o investimento das campanhas de aquisição do dia e os clientes que elas trouxeram. cpv divide o investimento total do dia pelos pedidos. ltv é o LTV bruto (sem margem) dos clientes conquistados no dia.
  • Um dia em que a razão não pode ser calculada traz null: deixe uma lacuna no gráfico, não um zero.
  • A série é esparsa: dias sem dados não aparecem.

Autorização

ClientIdAuthClientSecretAuth
headerx-client-id<token>

Client ID

headerx-client-secret<token>

Client secret

Parâmetros de query

organizationId*string

Identificador da organização (obrigatório). Um valor ausente ou que não seja string resulta em 400.

period?stringDescontinuado

Descontinuado: 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.

Padrão"30d"
Valor em"7d""30d""90d""1y"
startDate?string

Iní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.

Formatodate
endDate?string

Fim 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.

Formatodate

Corpo da resposta

Série de unit economics retornada com sucesso

application/json
  1. response
marginConfigured?boolean

Indica se a organização configurou uma margem de contribuição na plataforma. false significa que o padrão de 100% está em uso.

marginCompleteness?MarginCompleteness

Completude 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).

Valor em"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.

tabs*array<>

Uma aba por canal PAGO; Orgânico é excluído. A lista de abas pode, portanto, diferir de /v1/acquisition/new-customers-over-time.

curl -X GET "https://example.com/v1/acquisition/unit-economics-over-time?organizationId=c0ad4763-173e-4a05-9cff-5208c8ea5f6a&period=30d&startDate=2026-03-11&endDate=2026-03-22"
{  "tabs": [    {      "channel": "Meta Ads",      "points": [        {          "date": "2026-07-05",          "cac": 104.17,          "ltv": 380.5,          "cpv": 62.5        },        {          "date": "2026-07-06",          "cac": null,          "ltv": null,          "cpv": 71.2        }      ]    }  ]}