Cards de resumo de lucratividade
Retorna os indicadores consolidados de lucratividade da organização no período: faturamento, investimento em mídia, pedidos, clientes, CAC, CPV, LTV, ROI, payback, conversão e os indicadores por estratégia de campanha (aquisição, marca e monetização).
- Use para KPIs de resumo e para comparar com o período anterior: com
startDateeendDate, a resposta trazpreviousPeriodechanges(variação em %). Sem datas, considera todo o histórico e esses dois campos vêmnull. - Valores derivados de receita (
contribution,ltv,roi,clvetc.) são multiplicados pela margem de contribuição. Sem margem configurada,marginPercenté100emarginConfiguredéfalse, ou seja, os valores são brutos. nullsignifica "não calculável" e é diferente de0.
ClientIdAuthClientSecretAuthx-client-id<token>Client ID
x-client-secret<token>Client secret
organizationId*stringIdentificador da organização (obrigatório)
startDate?stringPrimeiro dia do período, inclusivo (YYYY-MM-DD). Só é aplicado junto com endDate; sem os dois, a API considera todo o histórico.
dateendDate?stringÚltimo dia do período, inclusivo (YYYY-MM-DD). Só é aplicado junto com startDate; sem os dois, a API considera todo o histórico.
dateCards de resumo de rentabilidade obtidos com sucesso
application/json- response
Indicadores consolidados de lucratividade da organização no período.
revenue*numberReceita bruta total no período
investment*numberInvestimento total em mídia paga (Meta Ads e Google Ads) no período.
orders*numberNúmero total de pedidos no período
customers*numberTotal de clientes (novos + recorrentes) no período
newCustomers*numberClientes cuja primeira compra aconteceu no período.
recurringCustomers*numberClientes que compraram no período e cuja primeira compra foi antes do início dele.
recurringOrders?integerPedidos de recompra no período: pedidos de clientes que já tinham comprado antes daquele pedido (inclui a segunda compra de quem entrou no próprio período). É o divisor do cpr (investment ÷ recurringOrders). Não é a mesma população de recurringCustomers; não divida um pelo outro.
averageTicket*numberTicket médio: revenue ÷ orders. 0 quando não há pedidos.
contribution*numberMargem de contribuição em valor: revenue × marginPercent / 100. Sem margem configurada, é igual a revenue.
contributionProfit*numberLucro de contribuição (contribution − investment)
cpv*numberCusto por venda: investment ÷ orders. Não depende da margem. 0 quando não há pedidos.
cpr*numberCusto por recompra: investment ÷ recurringOrders, ou seja, quanto foi investido em mídia, em média, para cada pedido de recompra. Usa o investimento total, por isso é sempre maior ou igual ao cpv. Não depende da margem. 0 quando não há pedidos de recompra.
cac*numberCAC médio: investimento total em mídia ÷ clientes novos. Inclui o investimento em marca e monetização, porque essas campanhas também trazem clientes. Para o CAC restrito a campanhas de aquisição, veja campaignCac e acquisitionCac. Não depende da margem. 0 quando não há clientes novos.
campaignCac*numberCAC considerando só o investimento em campanhas classificadas como aquisição (campanhas sem classificação ficam de fora), dividido por todos os clientes novos. 0 quando nenhuma campanha está classificada ou não há clientes novos; use hasAcquisitionClassification para distinguir os dois casos.
acquisitionInvestment*numberInvestimento em campanhas classificadas como aquisição. É o numerador de campaignCac e de acquisitionCac.
acquisitionNewCustomers*|Clientes novos cuja primeira compra foi atribuída (por UTM) a uma campanha de aquisição. Diferente de newCustomers, que conta todos os clientes novos, inclusive orgânicos. Sem datas, considera todo o histórico.
acquisitionCac*|CAC das campanhas de aquisição: acquisitionInvestment ÷ acquisitionNewCustomers, com os dois lados restritos a essas campanhas. Não depende da margem. null quando não há investimento em aquisição ou quando essas campanhas não trouxeram nenhum cliente atribuído.
acquisitionLtvCacRatio*|LTV/CAC das campanhas de aquisição: acquisitionLtv ÷ acquisitionCac. Diferente de ltvCacRatio, que considera todos os clientes e todo o investimento. null quando um dos lados não pode ser calculado.
acquisitionRoi*|ROI das campanhas de aquisição, como razão: (acquisitionContribution − investimento de aquisição) ÷ investimento de aquisição. Costuma ser bem menor que roi, que inclui vendas orgânicas e não atribuídas no numerador. null quando não há investimento em aquisição ou quando essas campanhas não trouxeram nenhum cliente atribuído (a receita não foi observada, então não é 0).
acquisitionContribution*|Margem gerada pelos clientes trazidos pelas campanhas de aquisição: receita desses clientes × marginPercent / 100. null nos mesmos casos que acquisitionRoi.
acquisitionLtv*|LTV médio, com margem, dos clientes trazidos pelas campanhas de aquisição: receita total desses clientes ao longo da vida × margem ÷ acquisitionNewCustomers. null nos mesmos casos que acquisitionRoi.
monetizationInvestment*numberInvestimento em campanhas classificadas como monetização (venda para clientes da base). É o denominador de monetizationRoi e monetizationCpr.
unclassifiedInvestment*numberInvestimento em campanhas que não estão classificadas como aquisição, marca ou monetização. Somado a acquisitionInvestment, brandInvestment e monetizationInvestment, dá o investimento total das campanhas sem dupla contagem. Esse total pode diferir ligeiramente de investment por diferença de atualização dos dados e porque ajustes de gasto zerados ou negativos entram aqui, mas não em investment.
brandInvestment*numberInvestimento em campanhas classificadas como marca (reconhecimento de marca).
brandImpressions*numberTotal de impressões das campanhas classificadas como marca, somando Meta Ads e Google Ads. Para o CPM de marca, calcule brandInvestment ÷ brandImpressions × 1000.
brandNewCustomers*|Clientes novos cuja primeira compra foi atribuída (por UTM) a uma campanha de marca. Sem datas, considera todo o histórico. Por ser uma contagem, 0 é um valor real.
brandContribution*|Margem gerada pelos clientes trazidos pelas campanhas de marca: receita desses clientes × marginPercent / 100. null quando não há investimento em marca ou quando essas campanhas não trouxeram nenhum cliente atribuído.
brandRoi*|ROI das campanhas de marca, como razão: (brandContribution − investimento em marca) ÷ investimento em marca. O investimento usado vem da mesma base de atribuição de brandContribution e pode diferir ligeiramente de brandInvestment. null nos mesmos casos que brandContribution.
retentionLtv*numberParte do LTV gerada pelas recompras: média, por cliente, da receita dos meses posteriores ao mês da primeira compra × marginPercent / 100. Considera os clientes adquiridos até o fim do período (ou toda a base, sem datas). Uma segunda compra no mesmo mês da primeira conta como entrada, não como recompra. 0 quando não há clientes.
monetizationContribution*|Margem dos pedidos atribuídos (pela UTM do próprio pedido) a campanhas de monetização: receita desses pedidos × marginPercent / 100. Sem datas, considera todo o histórico. null quando a atribuição de pedidos não está disponível para a organização.
monetizationRoi*|ROI das campanhas de monetização, como razão: (monetizationContribution − monetizationInvestment) ÷ monetizationInvestment. null quando não há investimento em monetização ou quando a atribuição de pedidos não está disponível.
monetizationRecurringCustomers*|Clientes recorrentes distintos com ao menos um pedido no período atribuído (pela UTM do pedido) a uma campanha de monetização. É um subconjunto de recurringCustomers. 0 é um valor medido; null quando a atribuição de pedidos não está disponível.
monetizationCpr*|Custo por recompra das campanhas de monetização: monetizationInvestment ÷ pedidos de recompra atribuídos a essas campanhas. Não depende da margem. null (e não 0) quando não há recompra atribuída, quando não há investimento em monetização ou quando a atribuição de pedidos não está disponível.
ltv*numberLTV dos clientes adquiridos no período: média da receita total de cada cliente ao longo da vida × marginPercent / 100.
ltvLifetime*numberLTV médio de toda a base de clientes da organização, sem filtro de período, × marginPercent / 100. Compare com ltv: se o LTV do período não cobre o CAC, mas o da base cobre, a questão é o tempo de payback, não o CAC.
ltvCacRatio*numberQuantas vezes o LTV paga o CAC: ltv ÷ cac. 0 quando cac é 0.
roi*numberRetorno sobre o investimento em mídia, como razão: (contribution − investment) ÷ investment (ex.: 1.19 = 119%). 0 quando não há investimento.
clv*numberLucro vitalício do cliente (ltv − cac): valor líquido por cliente após o custo de aquisição. Usa o ltv do período (considerando a margem); o CAC é independente da margem. Pode ser negativo quando o CAC excede o LTV do período.
conversionRate*|Taxa de conversão da etapa Interesse para a etapa Decisão do funil configurado na plataforma, em % (0–100): Decisão ÷ Interesse × 100, no mesmo período. Não depende da margem. null quando a organização não tem a etapa Interesse configurada.
payback*numberPayback em meses: tempo até a margem acumulada de uma safra de clientes cobrir o custo de aquisição dela, em média ponderada pelo número de clientes das safras que já se pagaram. 0 quando nenhuma safra se pagou no período.
marginPercent*numberPercentual de margem de contribuição aplicado. 100 quando nenhuma margem está configurada (marginConfigured=false)
marginConfigured*booleanIndica se uma margem de contribuição personalizada foi configurada para esta organização
marginCompleteness?MarginCompletenessCompletude da margem configurada item a item (gateway, imposto, frete e CMV): complete = todos os itens resolvidos; partial = algum item pendente, então a margem é parcial; none = não há composição por item (margem nunca configurada ou configurada como percentual único; diferencie pelos valores de 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.
hasAcquisitionClassification*booleanIndica se a organização já classificou alguma campanha como aquisição, em qualquer período. Use para diferenciar "nunca classificou campanhas" de "classificou, mas não há dados neste período".
previousPeriod*|Os mesmos indicadores calculados para o período imediatamente anterior, com o mesmo número de dias (ex.: para 01/03–31/03, o anterior é 29/01–28/02). Exceções: ltv e retentionLtv trazem a base de clientes adquirida até o início do período selecionado, e margin é a margem configurada (não depende do período). null quando a requisição não tem startDate e endDate.
changes*|Variação percentual de cada indicador: (atual − anterior) ÷ anterior × 100, comparando com previousPeriod. Para ltv e retentionLtv, compara a base adquirida até o fim com a base adquirida até o início do período. margin é sempre 0. Cada campo é null quando o valor anterior é 0 ou null; o objeto inteiro é null sem startDate e endDate.
cogs?|Custo real das mercadorias vendidas (CMV), somado apenas nos pedidos que têm custo informado pela plataforma de e-commerce. null (e não 0) quando os dados de custo não estão disponíveis.
revenueWithCmv?|Receita dos pedidos que têm CMV real (valor em moeda, não percentual).
revenueWithoutCmv?|Receita dos pedidos sem CMV real (valor em moeda). Somada a revenueWithCmv, resulta na receita total.
marginBasis?|De onde veio a margem: cmv_real (todos os pedidos têm CMV real), mixed (só parte tem), configured_percent (nenhum tem, mas há margem configurada) ou no_basis (nem CMV real, nem margem configurada). null quando os dados de custo não puderam ser lidos, o que é diferente de no_basis.
"cmv_real""mixed""configured_percent""no_basis"blendedContribution?|Margem de contribuição usando o CMV real onde existe e a margem configurada no restante: (revenueWithCmv − cogs) + revenueWithoutCmv × marginPercent / 100. Se a margem foi configurada item a item e está completa (marginCompleteness = complete), cada parte desconta seus próprios custos (gateway, imposto, frete e CMV). null (nunca uma soma parcial) quando parte da receita não tem nenhuma base de margem. Não altera contribution, que continua sendo revenue × marginPercent / 100.
curl -X GET "https://example.com/v1/profitability/cards?organizationId=c0ad4763-173e-4a05-9cff-5208c8ea5f6a&startDate=2025-01-01&endDate=2025-12-31"{ "revenue": 500000, "investment": 80000, "orders": 1200, "customers": 950, "newCustomers": 620, "recurringCustomers": 330, "averageTicket": 416.67, "contribution": 175000, "contributionProfit": 95000, "cpv": 66.67, "cpr": 3.59, "cac": 129.03, "campaignCac": 118.4, "acquisitionInvestment": 13723.78, "monetizationInvestment": 627.91, "unclassifiedInvestment": 1310.2, "brandInvestment": 2450.5, "brandImpressions": 184320, "acquisitionContribution": 12900.4, "acquisitionLtv": 212.6, "brandNewCustomers": 41, "brandContribution": 3120.75, "brandRoi": 0.27, "retentionLtv": 318.4, "ltv": 700, "ltvLifetime": 1020, "ltvCacRatio": 5.43, "roi": 1.19, "clv": 570.97, "conversionRate": 5.24, "payback": 6.5, "marginPercent": 35, "marginConfigured": true, "marginCompleteness": "none", "marginItemStatus": null, "hasAcquisitionClassification": true, "previousPeriod": { "investment": 72000, "contribution": 161500, "roi": 1.02, "clv": 512.4, "conversionRate": 5.36, "cac": 132.5, "cpv": 64.1, "ltv": 980, "payback": 7.1, "margin": 35 }, "changes": { "investment": 11.11, "contribution": 8.36, "roi": 16.67, "clv": 11.43, "conversionRate": -2.24, "cac": -2.62, "cpv": 4.01, "ltv": 4.08, "payback": -8.45, "margin": 0 }}