Descontos para Usuários Finais

A plataforma Insert Affiliate permite que você ofereça descontos automáticos e ofertas de teste gratuito para usuários que descobrem seu app por meio de links de afiliado ou short codes. Isso cria uma experiência fluida em que os usuários recebem automaticamente preços promocionais sem precisar inserir códigos de desconto manualmente.

Como Funciona

Quando alguém clica em um link de afiliado ou insere um short code vinculado a uma oferta (configurada no seu Painel do Insert Affiliate), o SDK preenche automaticamente a variável OfferCode do nosso SDK com o modificador apropriado que você associou a esse afiliado (como _oneWeekFree).

Você pode então anexar esse modificador ao ID do seu produto regular para carregar a versão promocional correta da sua assinatura ou compra no app, para a qual você configurou ofertas Promocionais ou ofertas Introdutórias (Intro Offers)

Exemplo de Fluxo:

  1. Afiliado compartilha o link: https://your-app.com/affiliate/ABC123 (este afiliado tem um modificador de oferta "uma semana grátis" associado através do nosso painel)
  2. Usuário abre o app: O SDK detecta a oferta do afiliado e define OfferCode = "_oneWeekFree"
  3. Usuário navega até a tela de Compra: Em vez de carregar "monthlySubscription", seu app verifica se o nosso SDK está armazenando um modificador de um afiliado e o anexa à oferta base - resultando no carregamento da compra "monthlySubscription_oneWeekFree"
  4. Usuário vê o desconto: Preço promocional automático sem inserção manual de código

Configuração do Google Play Console (Obrigatório se suportar Android)

Existem várias formas de configurar seus produtos no Google Play Console:

  1. Abordagem de Múltiplos Produtos: Crie um produto base e um produto promocional:

    • Produto base: oneMonthSubscription
    • Produto promocional: oneMonthSubscription-oneweekfree
  2. Produto Único com Múltiplos Planos Base: Crie um produto com múltiplos planos base, um deles com uma oferta anexada

  3. Ofertas Acionadas pelo Desenvolvedor (Developer Triggered Offers): Tenha um produto base e aplique a oferta por meio de ofertas acionadas pelo desenvolvedor

  4. Produto Base com Ofertas Introdutórias: Tenha um produto base que inclua uma oferta introdutória

Qualquer uma dessas abordagens é adequada e funciona com o SDK. A parte importante é que a nomenclatura dos seus produtos siga o padrão em que o modificador do código de oferta possa ser anexado para identificar a versão promocional.

Se usar a Abordagem de Múltiplos Produtos:

  • Garanta que ambos os produtos estejam ativados e disponíveis para compra.
  • Gere um lançamento ao menos para Internal Testing para tornar os produtos disponíveis no seu build atual do app

Configuração do App Store Connect (Obrigatório se suportar iOS)

Certifique-se de criar os produtos de assinatura correspondentes no App Store Connect:

  • Assinatura base: por exemplo, oneMonthSubscription
  • Variantes promocionais: oneMonthSubscription_oneWeekFree, oneMonthSubscription_threeMonthsFree, etc.
Discount system workflow diagram showing how affiliate modifiers are applied to product IDs

Clique para ver em tamanho real

Instruções de Configuração no Insert Affiliate

  1. Acesse seu painel do Insert Affiliate em app.insertaffiliate.com/affiliates
  2. Selecione o afiliado que deseja configurar
  3. Clique em "View" para acessar as configurações do afiliado
  4. Atribua um iOS IAP Modifier ao afiliado (por exemplo, _oneWeekFree, _threeMonthsFree)
  5. Salve as configurações

Uma vez configurado, quando os usuários clicarem nos links desse afiliado ou inserirem os short codes dele, seu app receberá automaticamente o modificador e poderá carregar o produto com desconto apropriado.

Configuração do RevenueCat (Obrigatório se usar o RevenueCat)

Se você usa o RevenueCat para o gerenciamento de compras no app, recomendamos usar o RevenueCat Targeting para exibir automaticamente ofertas diferentes com base nos códigos de oferta de afiliado.

Opção 1: RevenueCat Targeting (Recomendado)

O RevenueCat Targeting permite exibir automaticamente ofertas diferentes com base em atributos do usuário — sem necessidade de construir IDs de produto manualmente.

Como Funciona:

  1. Quando um usuário clica em um link de afiliado, o SDK define o atributo affiliateOfferCode no RevenueCat
  2. As regras de targeting do RevenueCat detectam esse atributo e mudam automaticamente para a oferta apropriada
  3. Seu app simplesmente exibe offerings.current — o RevenueCat cuida do resto

Passo 1: Crie Ofertas no RevenueCat

  1. Acesse seu RevenueCat DashboardProductsOfferings
  2. Crie sua oferta base (por exemplo, default) com produtos padrão
  3. Crie ofertas promocionais (por exemplo, oneWeekFree) com produtos com desconto

Passo 2: Configure as Regras de Targeting

  1. Vá em Project SettingsTargeting
  2. Crie uma nova regra:
    • Name: por exemplo, "Insert Affiliate - One Week Free"
    • Condition: affiliateOfferCode is any of oneWeekFree
    • Show Offering: Selecione sua oferta promocional
  3. Salve e publique
RevenueCat Targeting configuration showing how to set up rules based on affiliateOfferCode attribute

Clique para ver em tamanho real

Passo 3: Integração do SDK

O SDK do Insert Affiliate define automaticamente o atributo affiliateOfferCode quando configurado corretamente. Veja o Guia de Configuração do RevenueCat para a configuração completa do callback.

No seu app, simplesmente use a oferta atual do RevenueCat:

// Swift
Purchases.shared.getOfferings { offerings, error in
    if let current = offerings?.current {
        // Display current.availablePackages
        // RevenueCat targeting automatically shows the right offering
    }
}
// React Native
const offerings = await Purchases.getOfferings();
if (offerings.current) {
    // Display offerings.current.availablePackages
    // RevenueCat targeting automatically shows the right offering
}

Opção 2: Construção Manual de ID de Produto (Alternativa)

Se você preferir não usar o RevenueCat Targeting, pode construir IDs de produto manualmente anexando o modificador do código de oferta.

Configuração do Catálogo de Produtos:

  1. Produtos base: Crie seus produtos de assinatura padrão (por exemplo, monthlySubscription, yearlySubscription)
  2. Variantes promocionais: Para cada modificador de afiliado que você planeja usar, crie os produtos correspondentes no RevenueCat:
    • monthlySubscription_oneWeekFree
    • monthlySubscription_threeMonthsFree
    • yearlySubscription_oneWeekFree
    • etc.
RevenueCat products catalogue setup showing how to create promotional variants with modifiers

Clique para ver em tamanho real

Observações Importantes:

  • Os IDs de produto no RevenueCat devem corresponder exatamente à convenção de nomenclatura: {baseProductId}{modifier}
  • Cada variante promocional deve ser configurada com o preço/período de teste apropriado
  • Garanta que esses produtos também estejam configurados corretamente no App Store Connect/Google Play Console
  • O sistema de modificadores funciona perfeitamente com os recursos existentes de oferta promocional e preço introdutório do RevenueCat

Para etapas detalhadas de integração do RevenueCat, veja nosso Guia de Configuração do RevenueCat.


Código Necessário

Exemplos de código, implementação e requisitos adicionais estão detalhados nos repositórios na seção relevante.

Configuração no iOS

1. Instale os Pacotes Necessários e Conclua a Configuração

Para instalar o SDK Swift do Insert Affiliate, siga as instruções no nosso repositório do GitHub.

Todas as alterações de código necessárias estão descritas em detalhes com exemplos no Repositório do GitHub.

As alterações de código específicas exigidas pelo Insert Affiliate para a configuração de Descontos para Usuários Finais podem ser encontradas aqui.

Configuração no React Native

1. Instale os Pacotes Necessários e Conclua a Configuração

Para instalar o SDK React Native do Insert Affiliate, siga as instruções no nosso repositório do GitHub.

Todas as alterações de código necessárias estão descritas em detalhes com exemplos no Repositório do GitHub.

As alterações de código específicas exigidas pelo Insert Affiliate para a configuração de Descontos para Usuários Finais podem ser encontradas aqui.

Configuração no Flutter

1. Instale os Pacotes Necessários e Conclua a Configuração

Para instalar o SDK Flutter do Insert Affiliate, siga as instruções no nosso repositório do GitHub.

Todas as alterações de código necessárias estão descritas em detalhes com exemplos no Repositório do GitHub.

As alterações de código específicas exigidas pelo Insert Affiliate para a configuração de Descontos para Usuários Finais podem ser encontradas aqui.

Configuração no Unity

1. Instale os Pacotes Necessários e Conclua a Configuração

Para instalar o SDK Unity do Insert Affiliate, siga as instruções no nosso repositório do GitHub.

Todas as alterações de código necessárias estão descritas em detalhes com exemplos no Repositório do GitHub.

As alterações de código específicas exigidas pelo Insert Affiliate para a configuração de Descontos para Usuários Finais podem ser encontradas aqui.


Configuração de Stripe / Pagamentos Web

Para compras baseadas na web usando o Stripe, você pode aplicar automaticamente cupons ou códigos promocionais às sessões de checkout quando um usuário chega por meio de um link de afiliado.

Como Funciona (Stripe)

  1. Configure o Cupom no Stripe: Crie um cupom ou código promocional no seu Stripe Dashboard
  2. Atribua ao Afiliado: No seu painel do Insert Affiliate, atribua o código do cupom do Stripe a um afiliado (padrão para toda a empresa ou substituição por afiliado)
  3. Recupere no Checkout: Use o SDK para recuperar o código do cupom e aplicá-lo à sua sessão de checkout do Stripe

Configuração no Painel do Insert Affiliate

  1. Acesse seu painel do Insert Affiliate em app.insertaffiliate.com/settings
  2. Encontre o campo "Default Stripe Coupon/Promo Code (Company-Wide)"
  3. Insira seu código de cupom do Stripe (por exemplo, SUMMER2024, AFFILIATE10OFF)
  4. Salve as configurações

Para substituir o padrão da empresa para afiliados específicos:

  1. Acesse app.insertaffiliate.com/affiliates
  2. Selecione o afiliado e clique em "View"
  3. Defina um Stripe Coupon/Promo Code personalizado para esse afiliado
  4. Salve as configurações

Uso do SDK JavaScript

Use o SDK JavaScript do Insert Affiliate para recuperar o código do cupom do Stripe:

import { InsertAffiliate } from 'insert-affiliate-js-sdk';

// Initialize the SDK
await InsertAffiliate.initialize('YOUR_COMPANY_CODE');

// Get the Stripe coupon code for the current affiliate
const stripeCoupon = await InsertAffiliate.getStripeCouponCode();

// Or use the more explicit method with platform parameter
const stripeCoupon = await InsertAffiliate.getOfferCode('stripe');

if (stripeCoupon) {
  // Apply the coupon to your Stripe checkout
  // Example using Stripe.js:
  const session = await stripe.checkout.sessions.create({
    // ... your checkout config
    discounts: [{
      coupon: stripeCoupon,
    }],
  });
}

Exemplo de Integração com o Stripe Checkout

// On your checkout page
const affiliateId = await InsertAffiliate.returnInsertAffiliateIdentifier();
const stripeCoupon = await InsertAffiliate.getStripeCouponCode();

// Create checkout session with the coupon
const response = await fetch('/create-checkout-session', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    priceId: 'price_xxx',
    coupon: stripeCoupon, // Will be null if no affiliate coupon
    affiliateId: affiliateId,
  }),
});