
Olá, aqui é o Renat do Apphud . Se você possui um aplicativo com assinaturas renováveis automaticamente ou deseja liberar seu primeiro aplicativo com assinaturas, mais cedo ou mais tarde será confrontado com a questão de como transferir corretamente a receita de assinaturas para o seu analytics. Vamos conversar sobre isso.
Por que preciso considerar a receita das vendas de assinaturas?
A receita da assinatura deve ser considerada para enviá-la aos sistemas de análise e atribuição de produtos que não sabem como fazer isso: Amplitude, Mixpanel, AppsFlyer, Filial, Ajustar. Seu servidor será útil para você rastrear eventos de assinatura: conversões, renovações, cancelamentos - e enviá-los para suas análises. Infelizmente, nem todos os analistas de produtos oferecem suporte à API de servidor para servidor. Por exemplo, Firebase ou Flurry. Eles não têm uma API para enviar eventos do servidor e não oferecem suporte a assinaturas de rastreamento. Como se costuma dizer, eles próprios não o fazem e não dão aos outros.
Neste artigo, mostrarei quais dificuldades você poderá encontrar se decidir fazer isso sozinho.
O Google Analytics por assinatura da App Store Connect não abrange
Em geral, a analítica na App Store Connect não é analítica. Você pode ver apenas o quadro geral: conversões, número de eventos e retenção. A Apple nem mesmo afirma ser um concorrente de pleno direito para analistas de produtos. O App Store Connect é primitivo:
- Você não pode associar dados a usuários e fontes de tráfego.
- você não pode criar seus próprios funis e gráficos;
- os dados são atualizados uma vez por dia.

Visão geral da assinatura da App Store Connect
Por que enviar receita de assinatura de um dispositivo iOS é uma má ideia
O principal problema é que você não pode enviar eventos de inscrição quando o aplicativo não está sendo executado. Os fundos são debitados no início de cada período de assinatura e não se sabe quando o usuário iniciará o aplicativo. Isso pode acontecer em um dia, em uma semana ou nunca. Neste último caso, nada será enviado.
Tipos de eventos
À primeira vista, apenas dois eventos são suficientes: o início do julgamento e a baixa de fundos. De fato, existem muitos eventos e eles geralmente ocorrem. Você pode criar um conjunto de 5 eventos ou, a partir de 20. Tudo depende de suas necessidades.
A seguir, é apresentado um conjunto de amostra de eventos relacionados à assinatura.
Renovações
Prorrogação regular, ativação experimental, registro de uma oferta introdutória e promocional (gratuita e paga).
Conversão de assinatura regular
Conversão de teste, ofertas promocionais introdutórias e pagas (grátis e pagas).
Expiração
vencimento de uma assinatura regular, vencimento de uma avaliação, vencimento de uma oferta introdutória paga, vencimento de uma oferta promocional gratuita, vencimento de uma oferta promocional paga
Devoluções
reembolso de uma assinatura regular, reembolso de uma oferta introdutória paga, reembolso de uma oferta promocional paga
Outros eventos
ativar a renovação, desativar a renovação, fazer a transição para o período de cortesia, atualizar a assinatura
Muitos eventos, certo? Apphud rastreia 19 tipos de eventos. Você pode dar a cada evento seu próprio nome e combinar algumas baixas em um evento.
Desafios ao preço
A maior dificuldade é que o cheque da Apple não indica o valor debitado. Talvez a Apple algum dia adicione isso à verificação, mas até agora temos que lidar com as seguintes situações manualmente.
Alteração de preço
Ao aumentar o custo da assinatura, o desenvolvedor pode indicar se deve aplicar novos preços para novos assinantes. Se você optar por se inscrever , tudo será simples. A assinatura simplesmente expira se o usuário se recusar a aumentar o preço. E se você optar por não se inscrever , para os assinantes antigos, é necessário usar os preços pelos quais eles inicialmente se inscreveram. O StoreKit não retorna informações sobre o preço pelo qual o usuário se inscreveu; portanto, você precisa armazenar o preço de cada usuário em algum lugar.
Alteração de assinatura
Ao se inscrever, o próprio usuário pode alterar sua duração e preço nas configurações de inscrição no aplicativo App Store. Você precisa verificar o identificador do produto ao renovar a assinatura e obter o preço correspondente a ele. Existem três tipos de alterações de assinatura: downgrade, cross-grade e upgrade. Sobre isso, escrevemos um artigo separado sobre Habr , você também pode ler a documentação oficial aqui .
Devolver parte de assinatura não utilizada
Sim acontece. Para atualizações cruzadas e de assinatura, a parte paga não utilizada é devolvida ao usuário e o custo da nova assinatura é cobrado imediatamente.

Um exemplo de usuário no Apphud que mudou sua assinatura com o retorno de uma parte não utilizada
Preços diferentes para diferentes países
Na App Store, o Connect pode criar preços diferentes para uma assinatura para diferentes países. Portanto, você precisa armazenar preços para cada país separadamente e usar o preço correspondente ao país do usuário.
Moedas diferentes
Nem todos os analistas de produtos oferecem suporte à conversão de moeda. É necessário converter preços na moeda base (por exemplo, USD) e usá-lo apenas em todos os lugares. No Apphud, atualizamos regularmente as taxas de câmbio usando as Taxas de Câmbio Abertas .
Comissão da Apple
Comissão da Apple é de 30%. Mas, após um ano de uso da assinatura, a comissão da Apple é reduzida para 15%. Uma nuance importante: quebras na assinatura de mais de 60 dias redefinem a data de uso contínuo.
A frase introdutória não é necessariamente introdutória
Isso significa que as ofertas introdutórias de avaliação e pagas não podem ser apenas no início da assinatura, mas também podem ser emitidas ao retornar à assinatura, se o usuário não tiver feito a oferta introdutória antes.
Preços de oferta introdutórios
É necessário armazenar preços e o tipo de ofertas introdutórias para cada país no servidor: avaliação, pré-pagamento ou pagamento, conforme usado. Leia mais sobre frases introdutórias aqui .
As ofertas promocionais podem se alternar e se substituir, porque podem ser usadas um número ilimitado de vezes. É necessário armazenar não apenas o preço da assinatura principal, mas também os preços de todas as ofertas promocionais para cada país. Leia mais sobre ofertas promocionais aqui .

Um exemplo de usuário no Apphud que se inscreveu com uma oferta introdutória e aproveitou uma oferta promocional.
Devoluções
É necessário calcular as transações para as quais o retorno foi feito e enviar valores negativos aos analistas.
Determinando o ID do usuário ao iniciar a partir de outro dispositivo.
O usuário pode iniciar o aplicativo a partir de outro dispositivo. É importante determinar corretamente o ID do usuário sob o qual enviar dados para a análise. Em alguns casos, você terá que combinar usuários no servidor. As renovações devem ser enviadas usando o ID do usuário correto.
Armazenamento de verificação do usuário e verificação agendada
Por fim, você precisa salvar as verificações do usuário e verificá-las antes da data de vencimento esperada e se há eventos que a Apple envia em suas notificações.
Integrações no Apphud
Uma das funções do Apphud é a integração, que permite o envio de eventos de assinatura para análise de produtos através do nosso servidor.
Integrações com analistas de produtos
Para ativar a integração com o Amplitude ou o Mixpanel , você precisa adicionar uma chave de API nas configurações do Apphud.
Depois de adicionar a integração às suas análises, os eventos em tempo real chegarão. Você pode descobrir ARPU, MRR, taxas de conversão de teste, cancelamentos de inscrição, etc. E, é claro, associar tudo isso aos seus próprios eventos no aplicativo. Além disso, os indicadores para cada usuário estarão disponíveis para você: o valor gasto por ele, o número de transações e outros.

Exemplo de usuário no Mixpanel após adicionar integração no Apphud
Integração com sistemas de atribuição
Se você está promovendo seu aplicativo ou planeja fazê-lo, a integração do Apphud ao AppsFlyer ou Branch o ajudará a acompanhar a eficácia de suas campanhas publicitárias. Você pode comparar os canais de tráfego pela receita total de assinaturas e outras métricas.

Receita de assinatura de diferentes canais de tráfego na filial
Integrações com mensageiros instantâneos
Você também pode receber informações sobre novas avaliações ou renovações em tempo real no Slack ou Telegram . A integração não levará mais que um minuto.
Conclusão
É difícil calcular a receita exata das assinaturas. Além de ter seu próprio servidor, você precisará calcular corretamente o valor cobrado. Para implementação, você gastará muito tempo e recursos que valem a pena gastar na melhoria do produto. O Apphud ajudará você a calcular corretamente a receita das assinaturas e enviá-las para o seu analytics.