Acompanhamento da receita na aplicação
Acompanhe a receita de compras no aplicativo (IAP), assinaturas e fontes de receita personalizadas para medir o desempenho da campanha e o retorno sobre o gasto com anúncios (ROAS).
Os dados de receita fluem através de três canais:
- Relatórios interactivos: Visualize as métricas de receita no painel do Singular
- Registos de exportação: Aceder a dados ETL detalhados para análise personalizada
- Postbacks em tempo real: Envie eventos de receita para plataformas externas
Conversão de moeda: A receita em diferentes moedas é automaticamente convertida para a moeda preferida da sua organização, definida na sua conta Singular.
Diretrizes para eventos de receita
Limitações do evento de receita
Requisitos do evento de receita :
- Nomes de eventos: Os nomes personalizados de eventos de receita são limitados a 32 caracteres ASCII (ou 32 bytes para não-ASCII quando convertidos para UTF-8)
- Atributos: Os nomes e valores dos atributos do evento estão limitados a 500 caracteres ASCII
- Códigos de moeda: Devem estar em MAIÚSCULAS e seguir a norma ISO 4217 de três letras (por exemplo, USD, EUR, INR, GBP, JPY)
Envio de eventos de receita
Rastreamento simples de receita
Envie eventos de receita para a Singular com o nome do evento, o código da moeda e o valor da transação para rastrear dados básicos de compra.
// Example 1: Basic purchase tracking
USingularSDKBPLibrary::SendRevenue(TEXT("Purchase Completed"), TEXT("USD"), 9.99f);
// Example 2: Subscription purchase
USingularSDKBPLibrary::SendRevenue(TEXT("SubscriptionPurchase"), TEXT("USD"), 29.99f);
// Example 3: In-game currency purchase
USingularSDKBPLibrary::SendRevenue(TEXT("CoinPackagePurchase"), TEXT("EUR"), 4.99f);
// Example 4: Premium item purchase
USingularSDKBPLibrary::SendRevenue(TEXT("PremiumItemPurchase"), TEXT("GBP"), 19.99f);
Método Assinatura :
static void SendRevenue(FString eventName, FString currency, float amount);
Nota: Passe a moeda como um código de moeda ISO 4217 de três letras, como "USD", "EUR", "INR".
Rastreamento de receita com atributos
Envie eventos de receita com parâmetros personalizados adicionais para capturar detalhes da transação, como SKUs de produtos, categorias ou códigos promocionais.
// Example 1: Revenue with product details
TMap<FString, FString> PurchaseArgs;
PurchaseArgs.Add(TEXT("product_id"), TEXT("coin_pack_100"));
PurchaseArgs.Add(TEXT("product_name"), TEXT("100 Coin Pack"));
PurchaseArgs.Add(TEXT("product_category"), TEXT("currency"));
USingularSDKBPLibrary::SendRevenueWithArgs(
TEXT("Purchase Completed"),
TEXT("USD"),
4.99f,
PurchaseArgs
);
// Example 2: Subscription with billing details
TMap<FString, FString> SubArgs;
SubArgs.Add(TEXT("subscription_tier"), TEXT("premium"));
SubArgs.Add(TEXT("billing_period"), TEXT("monthly"));
SubArgs.Add(TEXT("trial_period"), TEXT("false"));
SubArgs.Add(TEXT("renewal_count"), TEXT("3"));
USingularSDKBPLibrary::SendRevenueWithArgs(
TEXT("SubscriptionRenewal"),
TEXT("USD"),
9.99f,
SubArgs
);
// Example 3: Purchase with promotional discount
TMap<FString, FString> PromoArgs;
PromoArgs.Add(TEXT("product_id"), TEXT("bundle_mega_001"));
PromoArgs.Add(TEXT("promo_code"), TEXT("SUMMER2025"));
PromoArgs.Add(TEXT("discount_amount"), TEXT("5.00"));
PromoArgs.Add(TEXT("original_price"), TEXT("19.99"));
USingularSDKBPLibrary::SendRevenueWithArgs(
TEXT("BundlePurchase"),
TEXT("USD"),
14.99f,
PromoArgs
);
// Example 4: IAP with transaction metadata
TMap<FString, FString> IAPArgs;
IAPArgs.Add(TEXT("platform"), TEXT("google_play"));
IAPArgs.Add(TEXT("transaction_id"), TEXT("GPA.1234-5678-90AB"));
IAPArgs.Add(TEXT("item_type"), TEXT("consumable"));
IAPArgs.Add(TEXT("user_level"), TEXT("42"));
USingularSDKBPLibrary::SendRevenueWithArgs(
TEXT("IAP_Consumable"),
TEXT("USD"),
2.99f,
IAPArgs
);
Assinatura do método :
static void SendRevenueWithArgs(FString eventName, FString currency, float amount, TMap<FString, FString> args);
Melhores práticas: Inclua o maior número possível de detalhes da transação nos atributos para permitir a análise granular da receita e otimizar os gastos com marketing com base no desempenho do produto.
Práticas recomendadas de rastreamento de receita
Atributos recomendados
Inclua estes atributos comuns nos seus eventos de receita para um acompanhamento abrangente das transacções:
- product_id: Identificador exclusivo para o item comprado ou SKU
- product_name: Nome do produto legível por humanos
- product_category: Categoria ou tipo de produto (por exemplo, "moeda", "armas", "subscrição")
- transaction_id: Identificador de transação único da plataforma de pagamento
- platform: Plataforma de compra (por exemplo, "app_store", "google_play", "steam")
- promo_code: Código promocional utilizado para descontos
- user_tier: Nível de subscrição ou adesão do utilizador
- quantidade: Número de itens comprados
Dicas de implementação :
- Montantes diferentes de zero: Só enviar eventos de receita quando o valor for maior ou menor que 0
- Nomenclatura consistente: Use nomes de atributos consistentes em todos os eventos de receita para facilitar a análise
- Teste as compras: Utilize pequenos montantes (por exemplo, $0,01) para testar, de modo a evitar distorcer os dados de receitas de produção
Rastreamento de evento híbrido (avançado)
Envie todos os eventos e receitas através do SDK Singular integrado no seu aplicativo para uma atribuição ideal. No entanto, a Singular pode coletar eventos de outras fontes quando necessário.
Os eventos enviados fora do Singular SDK devem estar em conformidade com a documentação de eventos de servidor para servidor do Singular e fornecer identificadores de dispositivo correspondentes para atribuição correta.
Considerações importantes sobre a atribuição :
As discrepâncias ocorrem quando os identificadores de dispositivos nas solicitações de servidor para servidor não correspondem aos identificadores registrados pelo SDK da Singular:
- Eventos antecipados: Se um evento chegar antes de o Singular SDK registar o identificador do dispositivo, o evento torna-se a "primeira sessão" de um dispositivo desconhecido, resultando numa atribuição orgânica
- Identificadores incompatíveis: Se o Singular SDK registar um identificador de dispositivo diferente do que consta do pedido de servidor para servidor, o evento será atribuído incorretamente
Opções de rastreamento de eventos híbridos
Envio de eventos de um servidor interno
Colete dados de receita do seu servidor interno para analisar o desempenho da campanha e o ROI quando o rastreamento do lado do cliente for insuficiente.
Requisitos :
- Capturar identificadores de dispositivo: Durante os eventos de registo ou início de sessão na aplicação, capture e passe os identificadores do dispositivo e, em seguida, armazene estes dados com o ID de utilizador no seu servidor. Atualize os identificadores quando os usuários gerarem novas sessões de aplicativo para garantir a atribuição correta
- Identificadores específicos da plataforma: Envie eventos do lado do servidor com o identificador de dispositivo correspondente à plataforma (por exemplo, IDFA ou IDFV para dispositivos iOS, GAID para dispositivos Android)
- Actualizações em tempo real: Utilize o mecanismo de postback do Singular Internal BI para enviar eventos em tempo real para o seu ponto de extremidade. Consulte as Perguntas frequentes sobre postback do Internal BI
- Detalhes de implementação: Revise a seção "Rastreamento de receita" no guia de integração de servidor para servidor
Envio de eventos de fornecedores de receitas
Integre provedores de receita de terceiros como RevenueCat ou adapty para enviar receitas de compras e assinaturas para o Singular.
Provedores suportados :
- RevenueCat: Saiba mais na documentação do RevenueCat
- adapty: Saiba mais na documentação do adapty
- Superwall: Saiba mais na documentação do Superwall
- Xsolla: Saiba mais na documentação do Xsolla
Observação: Ao usar provedores de receita, verifique se eles estão configurados para enviar os identificadores de dispositivo corretos que correspondem ao que o Singular SDK captura para manter a precisão da atribuição.
Envio de eventos do Segment
Habilite o Segment para enviar eventos para a Singular em paralelo com o SDK da Singular, adicionando um destino "Cloud-Mode" no Segment.
Siga o guia de implementação Integração Singular-Segment para obter instruções detalhadas de configuração.
Nota de configuração: a integração do Segment requer a configuração do destino Cloud-Mode para garantir que os eventos sejam roteados corretamente para a Singular com os identificadores de dispositivo e o contexto de atribuição corretos.