Monetizar seu jogo

Preço regional: o jogador brasileiro pode pagar menos, e a sua interface não fica sabendo

O preço gerenciado ajusta o valor por localização econômica, com piso de 70% de desconto e teto no preço padrão. O problema: preço escrito à mão na interface não acompanha, e o jogador vê um número e paga outro.

por Gustavo Cantino7 min de leituraIntermediário

Produzido com IA a partir das fontes citadas abaixo, e conferido por checagens automáticas contra essas mesmas fontes. Nenhuma pessoa leu este texto antes da publicação. Política Editorial

Placa tipográfica com a categoria Monetizar seu jogo em destaque, o nível intermediário abaixo, e um campo de barras verticais verde-limão sobre fundo escuro.

Existe uma chance grande de o preço que os seus jogadores brasileiros pagam hoje não ser o preço que você digitou — e de a sua loja estar mostrando o número errado para eles.

A primeira metade disso é de propósito e é boa. A segunda é um bug, e é silencioso. Este guia separa as duas.

O problema

O preço gerenciado permite oferecer preço específico por região. O funcionamento: você define um preço global padrão, e a Roblox ajusta a partir dele conforme a localização econômica do usuário.

A frase que organiza tudo o que vem depois é esta: localização econômica nem sempre é a mesma coisa que localização da conta. Os sinais usados incluem uso de VPN, histórico de cobrança e histórico da conta. E quando não dá para determinar, o usuário vê o preço global padrão.

Os limites são generosos e assimétricos: o preço regional nunca tem desconto maior que 70 por cento do padrão, e nunca passa do padrão. O exemplo oficial fecha a conta — um item de 100 Robux pode ficar entre 30 e 100 Robux, seja qual for a região.

Repare na assimetria, porque ela é tranquilizadora: o preço só pode ser igual ou menor. Não existe o risco de alguém ser cobrado mais do que você definiu.

Onde isso já está ligado sem você ter feito nada: em passes, o preço regional vem ligado por padrão em todos — novos e existentes. E em assinatura cobrada em Robux, ele vem ligado e não pode ser desligado.

Ou seja, se você vende passe ou assinatura em Robux, o preço regional está funcionando agora, com ou sem a sua decisão.

Passo a passo

Para passes, não há nada a ligar — já está. O que existe é o caminho de desligar, se você quiser: em Creations, escolha o jogo, vá em Monetization e depois Passes, selecione um ou mais passes e clique em Disable Managed Pricing.

Vale antes olhar o efeito: selecionando um passe e indo à página de vendas dele, a lista de países principais mostra os preços ajustados a partir do preço padrão. É o jeito mais rápido de ver quanto o seu público paga de fato.

Para produto de desenvolvedor, o recurso não vem ligado, e a sequência tem uma ordem que importa:

  1. Confira se os preços são lidos dinamicamente por script. Este passo vem primeiro de propósito, e é o assunto da seção de erro comum.
  2. Implemente o GetUsersPriceLevelsAsync para regular transferência de item.
  3. Em Monetization e depois Developer Products, selecione os produtos e clique em Enable Managed Pricing.

O segundo passo existe por um motivo específico: quando usuários presenteiam ou trocam itens com preços gerenciados diferentes, abre-se uma brecha de arbitragem — comprar barato numa região e transferir para outra. A API existe para você regular essa transferência conhecendo o nível de preço de cada lado.

Para assinatura, não há o que fazer: em Robux o preço gerenciado está ligado e não desliga; em moeda local ele não existe.

Uma observação sobre o que o recurso NÃO faz. Ele não é uma promoção, não é temporário e não é configurável por você região a região. Você define um preço padrão e escolhe quais itens entram; o resto é decidido por sinais que a Roblox observa, e os valores são atualizados periodicamente para acompanhar a economia global.

Isso tem uma implicação de planejamento: o preço que um jogador de uma região vê hoje pode não ser o mesmo daqui a alguns meses, sem que nada tenha mudado do seu lado. Qualquer comunicação que prometa um valor específico para uma região envelhece sozinha.

Artefato

A tabela abaixo diz, por tipo de item, onde o preço gerenciado já está ligado, se dá para desligar e o que você precisa mudar no código para cada caso.

Ela existe porque o estado padrão é diferente em cada tipo, e a diferença não é intuitiva: passe vem ligado, produto vem desligado, assinatura em Robux vem ligado e travado. Quem assume um estado único acaba com metade da loja ajustando preço e a outra metade não.

No fim dela está o roteiro da conferência de preço dinâmico, que é a parte prática deste texto.

Vale ainda entender o que a localização econômica significa para quem está do outro lado. Ela não é um rótulo que o jogador escolhe nem que ele vê: é uma inferência, feita a partir de sinais como uso de VPN, histórico de cobrança e histórico da conta. Dois jogadores no mesmo país podem acabar em níveis diferentes, e nenhum dos dois tem como saber por quê.

Isso tem uma consequência de suporte que vale antecipar: quando um jogador reclama que o amigo pagou menos, não há um ajuste que você possa fazer. A resposta honesta é que o preço é ajustado pela plataforma e que o valor que você definiu é o teto — ninguém paga mais que ele.

Erro comum

O erro é único, é comum e é invisível de dentro: preço escrito à mão na interface.

O mecanismo é exatamente este, descrito na documentação: se você escreveu o preço na interface do jogo, aquele número não se atualiza, porque ele não é dinâmico nem acessível à Roblox. O resultado é que o jogador é cobrado do valor regional correto e vê o valor escrito à mão.

Pense no que isso produz do lado de quem joga. A loja diz 100 Robux. Ele clica, e a janela de compra da Roblox diz 30. Na melhor das hipóteses ele acha que ganhou um desconto misterioso; na pior, desconfia do jogo. E se a diferença fosse ao contrário, seria pior ainda — mas isso não acontece, porque o preço regional nunca sobe.

O detalhe que engana é que não é um bug de cobrança. A cobrança está certa. É um bug de exibição, e por isso nenhum log, nenhum relatório de vendas e nenhum painel acusa.

Há uma exceção que dispensa trabalho, e vale conhecer: se você só aplica preço gerenciado a passes vendidos na página de detalhe do jogo, não precisa conferir preço escrito à mão. Quando o recurso está ligado, o preço se ajusta por região dentro e fora do jogo — o problema só existe na interface que você desenhou.

E existe uma ferramenta oficial para achar esses casos, que quase ninguém usa. A conferência de preço dinâmico atualiza todos os itens à venda dentro do jogo com um preço falso em Robux ou uma localização econômica falsa. O que mudar na tela está sendo lido do MarketplaceService a partir de um script de cliente; o que não mudar está escrito à mão.

É um teste de efeito, não de leitura de código — o tipo que não erra. O caminho é Monetization, depois Passes ou Developer Products, o menu do item e Dynamic Price Check. Dá para informar até cinco usuários Roblox como contas de teste.

A correção, depois de identificar, é trocar o número escrito por uma leitura do MarketplaceService — que é a mesma chamada que já monta o resto da vitrine.

E há um caso que merece atenção especial: a loja montada por um script de servidor. Como a exibição do preço regional depende de o valor ser lido do lado de quem está comprando, vitrine montada no servidor mostra o mesmo número para todo mundo — que é uma variação do mesmo problema do preço escrito à mão, com a diferença de que o código parece dinâmico.

Próximo passo

O trabalho concreto para hoje é a conferência. Rode a ferramenta com uma conta de teste, olhe a sua loja, e anote cada preço que não mudou. Essa lista é a lista de bugs.

Depois disso, vale olhar o efeito no dinheiro antes de decidir desligar alguma coisa. A tentação de desligar o preço gerenciado num passe que vende bem é real — parece que se está perdendo até 70 por cento em algumas regiões. A conta que importa é outra: quantos desses jogadores comprariam pelo preço cheio? Desconto sobre venda que não aconteceria não é perda.

A lista de países principais, na página de vendas do passe, dá a matéria-prima para essa conta: ela mostra quanto cada região paga hoje, e você já sabe de onde vêm os seus jogadores.

E, para quem vende produto de desenvolvedor com transferência entre jogadores, o GetUsersPriceLevelsAsync deixa de ser opcional no momento em que o preço gerenciado é ligado. Sem ele, a diferença de preço entre regiões vira uma máquina de arbitragem dentro do seu próprio jogo — e ela roda sozinha, sem ninguém precisar explorar nada.

Fontes

Como corrigimos erros

Artefato pronto pra usar

Onde o preço gerenciado está ligado e o que precisa mudar no código (conferido em 23/09/2026)
markdown
PRECO GERENCIADO, POR TIPO DE ITEM. Conferido em 23/09/2026.

| Tipo de item              | Estado padrao        | Da para desligar? | O que voce precisa fazer |
|---------------------------|----------------------|-------------------|--------------------------|
| Passe                     | LIGADO em todos,     | sim, botao        | nada, SE o preco na sua  |
|                           | novos e existentes   | Disable Managed   | interface for lido, nao  |
|                           |                      | Pricing           | escrito a mao            |
| Produto de desenvolvedor  | desligado            | -                 | precos lidos por script  |
|                           |                      |                   | + GetUsersPriceLevelsAsync |
|                           |                      |                   | + botao Enable           |
| Assinatura em Robux       | LIGADO               | NAO               | nada                     |
| Assinatura em moeda local | nao existe           | -                 | -                        |
| Item de avatar            | ver Publish to       | -                 | -                        |
|                           | Marketplace          |                   |                          |

OS LIMITES DO AJUSTE — o preco regional nunca desce mais que 70% abaixo do
padrao e NUNCA sobe acima dele. O exemplo oficial:

| Preco padrao | Piso  | Teto  |
|--------------|-------|-------|
| 100 Robux    | 30    | 100   |

Ou seja: o preco regional so pode ser IGUAL ou MENOR. Nao ha risco de um
jogador ser cobrado mais que o valor que voce definiu.

COMO O PRECO E ESCOLHIDO

  - pela LOCALIZACAO ECONOMICA, que NAO e a mesma coisa que a localizacao
    da conta
  - sinais usados: uso de VPN, historico de cobranca, historico da conta
  - se nao der para determinar: o usuario ve o preco global padrao
  - os valores sao atualizados periodicamente, acompanhando a economia

A CONFERENCIA QUE QUASE NINGUEM RODA

  A ferramenta de preco dinamico poe um preco FALSO em Robux, ou uma
  localizacao economica FALSA, em tudo que esta a venda dentro do jogo.
  O que mudar na tela esta sendo lido do MarketplaceService; o que NAO
  mudar esta escrito a mao -- e e esse que mente para o jogador.

  Caminho: Monetization > Passes (ou Developer Products) > menu > Dynamic
  Price Check. Aceita ate CINCO contas de teste.
Neste artigo

Continue por aqui