CashoutGuard

Estornos de offerwall: por que conversões são revertidas e como parar de pagar por elas

Um estorno (chargeback) em um offerwall significa que a rede pega de volta o dinheiro de uma conversão, muitas vezes semanas depois de você já ter pago o usuário. Este guia explica por que isso acontece, como tratar no seu código e como deixar de pagar por isso desde o início.

Resposta curta

Um estorno de offerwall é a rede retirando o pagamento de uma conversão que o anunciante rejeitou, muitas vezes dias ou semanas depois de você creditar o usuário. Trate os postbacks de estorno pelo ID da transação, retenha as conversões arriscadas até passar a janela de validação e verifique a conta antes do saque, o último momento em que o dinheiro ainda é seu.

Taxas de estorno típicas
Publicações do setor costumam citar de 10 a 25 por cento no tráfego de offerwall.
Causas comuns
VPN ou país errado, usuários duplicados, ofertas concluídas rápido demais, emuladores e bots, postbacks repetidos.
Métrica principal
Taxa de estorno: valor estornado dividido pelo valor total pago, por offerwall e por mês.
Proteção mais simples
Períodos de retenção para contas novas e ofertas que pagam muito.

O que é um estorno de offerwall

Quando um usuário conclui uma oferta, a rede envia um postback ao seu site e você credita o usuário. A rede só recebe do anunciante depois, quando ele já verificou a qualidade dos usuários. Se o anunciante rejeita uma conversão, a rede a estorna e normalmente envia um segundo postback com valor negativo.

O problema é o tempo. Os estornos costumam chegar dias ou semanas depois da conversão original. Nessa altura, um usuário fraudulento já pode ter sacado e sumido, e o dinheiro sai da sua margem. Publicações do setor costumam citar taxas de estorno de 10 a 25 por cento no tráfego de offerwall, então não é um caso raro.

Motivos comuns para estornar conversões

MotivoO que aconteceuComo evitar
País erradoO usuário estava em uma VPN ou em um país que o anunciante não queriaVerifique a rede no clique da oferta e esconda os offerwalls de quem usa VPN
Usuários duplicadosA mesma pessoa instalou o app em várias contasLigue contas por dispositivo e por endereço de pagamento
Rápido demaisNível 10 em dois minutos, uma pesquisa respondida em segundosCompare o tempo de conclusão com o de jogadores reais
Baixa qualidadeO app foi instalado e removido, sem uso realRetenções mais longas em ofertas de instalação para contas novas
Emuladores e botsInstalações vindas de emuladores, fazendas de dispositivos ou scriptsDetecte automação e emuladores antes do clique
Postbacks duplicadosO mesmo ID de transação foi enviado ou reenviado duas vezesGuarde os IDs de transação e ignore repetições

Quase tudo isso é visível antes de a rede estornar qualquer coisa. Os dados estão nos seus próprios registros: quem clicou, de onde, em qual dispositivo e quanto tempo levou.

Trate os postbacks de estorno corretamente

Antes de pensar em prevenção, garanta que o seu site lida bem com os estornos. Muitos sites ignoram em silêncio os postbacks negativos, e assim o prejuízo nunca é descontado do saldo do usuário.

  1. Aceite o postback de estorno. Leia na documentação da rede qual status ou valor negativo ela envia e confirme que o seu endpoint trata esse caso.
  2. Associe pelo ID da transação à conversão original e registre as duas. Nunca aplique o mesmo estorno duas vezes.
  3. Desconte do saldo do usuário, mesmo que fique negativo. Um saldo negativo bloqueia o próximo saque até ser recuperado.
  4. Mostre ao usuário no histórico, com o nome da oferta. Registros claros reduzem os pedidos de suporte.
  5. Acompanhe por offerwall e por usuário, para ver quais usuários e quais offerwalls geram mais estornos.
// Sketch of a postback endpoint
$tx = $request->transaction_id;
$status = $request->status; // for example 'completed' or 'reversed'

if (Conversion::where('transaction_id', $tx)->where('status', $status)->exists()) {
    return 'OK'; // already processed: ignore replays
}

if ($status === 'reversed') {
    $original = Conversion::where('transaction_id', $tx)->firstOrFail();
    $original->user->decrement('balance', $original->amount); // may go negative
}

Períodos de retenção: pague depois pelas conversões arriscadas

Um período de retenção mantém a conversão pendente por alguns dias antes de o usuário poder sacá-la. É a proteção mais simples contra estornos, porque a maioria deles chega enquanto o dinheiro ainda está do seu lado.

  • Retenha por mais tempo as ofertas que pagam muito. Uma oferta de jogo de vários dólares merece uma retenção mais longa do que poucos centavos de uma pesquisa curta.
  • Retenha por mais tempo as contas novas. A confiança cresce com a idade da conta e um histórico de saques limpo.
  • Libere antes para usuários confiáveis. Usuários antigos sem estornos podem pular quase toda a espera, o que mantém felizes os seus melhores usuários.
  • Explique as retenções na página da oferta. Os usuários aceitam esperar quando sabem por que e por quanto tempo.

Pare a fraude antes do saque

A retenção adia o problema; a detecção o elimina. O melhor momento para agir é o saque, porque é o último ponto em que o dinheiro ainda é seu.

  • Velocidade da oferta. Registre quando o usuário clicou na oferta e quando a conversão chegou. Compare com o tempo que usuários reais levam.
  • Velocidade de conversões. Uma rajada de conversões em pouco tempo vinda de uma conta raramente é uma pessoa real.
  • IDs de transação duplicados. Um ID repetido indica um postback reenviado ou duplicado.
  • Saques de contas novas. Contas recém-criadas que sacam imediatamente merecem um olhar mais atento.
  • Dispositivos e endereços de pagamento compartilhados. Os estornos se concentram em grupos de multicontas.

Meça a sua taxa de estorno

Divida o valor estornado pelo valor total pago em cada offerwall, a cada mês. Separe por país e por idade da conta. Uma taxa subindo em um offerwall costuma apontar para uma fonte de tráfego ou um grupo de usuários, e as redes acompanham esse número de perto quando decidem como tratar o seu site.

Quando você sabe quais segmentos mais geram estornos, pode apertar retenções e verificações ali e afrouxar no resto, o que é mais justo com os usuários honestos.

MétricaComo calcularO que ela mostra
Taxa de estornoValor estornado dividido pelo valor total pago, por offerwall e por mêsA qualidade geral do tráfego como a rede a vê
Taxa de estorno por idade da contaO mesmo, separando contas com menos e mais de 30 diasSe as contas novas precisam de retenções mais longas
Pago antes do estornoValor estornado que já tinha sido sacadoO dinheiro que você realmente perdeu
Usuários mais estornadosUsuários ordenados pelo valor estornadoContas e grupos para revisar primeiro

Trabalhe junto com as redes de offerwall

As redes estão do seu lado mais vezes do que parece. Elas também perdem dinheiro com tráfego estornado e preferem manter um publisher que corrige problemas a perder um. Quando os estornos subirem, pergunte ao seu gerente de conta quais ofertas e países são afetados e se ele pode enviar o motivo do estorno em cada postback negativo.

Conte o que você mudou: verificação de VPN no clique da oferta, retenções para contas novas, fila de revisão de saques. Publishers que mostram uma taxa de estorno em queda estão em posição muito melhor para pedir pagamentos maiores ou acesso a ofertas premium.

Como o CashoutGuard automatiza isso

Envie ao CashoutGuard um evento de conversão quando chegar um postback, com o ID da oferta, o ID da transação da rede e o valor. Ele lembra do clique na oferta, então sabe quanto tempo a oferta realmente levou.

  • offer_completed_too_fast quando o tempo entre o clique e a conversão é menor do que jogadores reais conseguem.
  • conversion_velocity e cashout_velocity para rajadas de atividade.
  • duplicate_transaction para IDs de transação repetidos.
  • new_account_cashout para contas que sacam logo depois do cadastro.

Cada saque chega então a uma fila de revisão com esses motivos, e webhooks assinados avisam o seu backend no momento em que uma conta passa a bloqueada, para congelar o saldo antes do próximo saque. Comece no modo sombra e compare os saques sinalizados com os estornos que as suas redes enviam. Veja a documentação com os campos da conversão.

Perguntas frequentes

Posso recusar um estorno de offerwall?

Na prática, raramente. A rede só repassa a decisão do anunciante. O que você controla é se o dinheiro já saiu do seu site, e é por isso que retenções e verificações no saque importam.

O saldo do usuário deve ficar negativo depois de um estorno?

A maioria dos sites permite. A alternativa é você absorver o prejuízo, o que premia os usuários que sacam mais rápido.

Quanto tempo deve durar a retenção?

O suficiente para cobrir a maioria dos estornos das suas redes. Veja nos seus próprios dados quando os estornos chegam e defina retenções para contas novas e ofertas grandes que cubram essa janela.

Os estornos afetam a minha reputação com a rede?

Sim. Uma taxa de estorno alta indica tráfego de baixa qualidade, e as redes podem reduzir pagamentos ou retirar ofertas de publishers com problemas persistentes.

Continue lendo