A Premium Payout allows you to earn Robux based on the share of time that Premium members engage in your experiences. You will earn the same amount of Robux for each unit of Premium time spent in your experience, regardless of the experience's size. Premium Payouts happen automatically, and are in addition to earnings from other monetization methods, such as Game Passes and Private Servers.
To encourage Premium subscriber growth, you can add the Premium Purchase Modal directly into your experiences. The more users upgrade to Premium, the more potential you have to earn premium payout earnings.
Accessing Premium Payout Data
Premium Payout data can provide vital feedback to help you understand what factors drive Premium subscribers to your experiences.
To access Premium Payout data:
Navigate to the main page for a specific place in an experience (most data is curated by place, although some data will reflect the entire experience).
Click the … button and select Developer Stats from the context menu. The stats page for the place displays.
In the top navigation, click the Premium tab. The Premium Payout and Premium Visits charts display.
The Premium Payout chart tracks Premium Payout data based on the following metrics:
Premium Playtime Score is the amount of time Premium subscribers engage with your experience per day. This metric can provide immediate feedback on the impact of new features you release.
Premium Playtime Robux Earned is the amount you can expect to earn for Premium subscriber engagement. This is not based on the daily time Premium subscribers spend engaging with your experience. Instead, this metric looks back at and aggregates each user's behavior over the past 28 days. As such, even though they have similar trends, this metric has no direct mathematical relationship with the Premium Playtime Score.
The Premium Visits chart tracks how many visits to your experience are from Premium subscribers. Using the dropdown menu, you can choose either Premium Visit Percentage, Premium Visits, or Total Visits.
Premium Purchase Modal
Another strategy to earn Premium Payouts is to encourage users to upgrade to Premium status through the Premium Purchase Modal. Users can complete the purchase entirely within your experience, and they'll immediately be granted both Premium and their monthly Robux.
Avoid Paywalls: Do not present the modal as a "paywall" when users enter your experience. This type of aggressive selling irritates most users, and some may not return to play your experience.
Be Honest and Accurate: To improve buyer confidence and trust, clearly describe the benefits of upgrading, both in-experience and within your experience's description. Do not promise benefits like Robux or other out-of-game rewards that you don't control.
Avoid Pay-to-Win Upgrades: Do not give Premium members a tactical gameplay advantage over others, such as an array of ultra-powerful weapons that non-Premium users can't compete against.
Triggering the Premium Purchase Modal
You can trigger the Premium Purchase Modal with the PromptPremiumPurchase() method. For example, the following code prompts users to purchase Premium when their avatar touches the part that its containing Script is attached to, such as a teleporter that allows access to a Premium-only area.
local MarketplaceService = game:GetService("MarketplaceService")local TeleportService = game:GetService("TeleportService")local Players = game:GetService("Players")local teleporter = script.Parentlocal showPrompt = truelocal placeID_Premium = 012345678local function onTeleporterTouch(otherPart)local player = Players:GetPlayerFromCharacter(otherPart.Parent)if not player then return endif player.MembershipType == Enum.MembershipType.Premium then-- User has Premium, teleport them to the Premium-only placeTeleportService:Teleport(placeID_Premium, player)else-- Show premium modal, use debounce to show at most once every few secondsif not showPrompt then return endshowPrompt = falsedelay(5, function()showPrompt = trueend)MarketplaceService:PromptPremiumPurchase(player)warn("Prompted Premium purchase")endendteleporter.Touched:Connect(onTeleporterTouch)-- If needed, use this event to know when the Premium modal is closedMarketplaceService.PromptPremiumPurchaseFinished:Connect(function(player)warn("Premium modal closed")end)-- Handle potential Premium purchase from outside the game while user is playingPlayers.PlayerMembershipChanged:Connect(function(player)warn("Player membership changed; new membership is " .. tostring(player.MembershipType))if player.MembershipType == Enum.MembershipType.Premium then-- Teleport player to the Premium-only placeTeleportService:Teleport(placeID_Premium, player)endend)
Checking Membership Level
To test if a user is subscribed to Premium, check their MembershipType property. For instance, you can include the following code sample in a LocalScript to unlock Premium-only shop items. For non-Premium users, you can also trigger the Premium Purchase Modal to prompt an upgrade.
local Players = game:GetService("Players")local player = Players.LocalPlayerif player.MembershipType == Enum.MembershipType.Premium then-- Take some action specifically for Premium membersend