Premium Payouts

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:

  1. 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).

  2. Click the button and select Developer Stats from the context menu. The stats page for the place displays.

  3. In the top navigation, click the Premium tab. The Premium Payout and Premium Visits charts display.

Premium Payout

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.


Premium Visits

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.

Best Practices

  • 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.


1local MarketplaceService = game:GetService("MarketplaceService")
2local TeleportService = game:GetService("TeleportService")
3local Players = game:GetService("Players")
4
5local teleporter = script.Parent
6local showPrompt = true
7
8local placeID_Premium = 012345678
9
10local function onTeleporterTouch(otherPart)
11 local player = Players:GetPlayerFromCharacter(otherPart.Parent)
12 if not player then return end
13
14 if player.MembershipType == Enum.MembershipType.Premium then
15 -- User has Premium, teleport them to the Premium-only place
16 TeleportService:Teleport(placeID_Premium, player)
17 else
18 -- Show premium modal, use debounce to show at most once every few seconds
19 if not showPrompt then return end
20 showPrompt = false
21 delay(5, function()
22 showPrompt = true
23 end)
24 MarketplaceService:PromptPremiumPurchase(player)
25 warn("Prompted Premium purchase")
26 end
27end
28teleporter.Touched:Connect(onTeleporterTouch)
29
30-- If needed, use this event to know when the Premium modal is closed
31MarketplaceService.PromptPremiumPurchaseFinished:Connect(function(player)
32 warn("Premium modal closed")
33end)
34
35-- Handle potential Premium purchase from outside the game while user is playing
36Players.PlayerMembershipChanged:Connect(function(player)
37 warn("Player membership changed; new membership is " .. tostring(player.MembershipType))
38 if player.MembershipType == Enum.MembershipType.Premium then
39 -- Teleport player to the Premium-only place
40 TeleportService:Teleport(placeID_Premium, player)
41 end
42end)
43

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.


1local Players = game:GetService("Players")
2local player = Players.LocalPlayer
3
4if player.MembershipType == Enum.MembershipType.Premium then
5 -- Take some action specifically for Premium members
6end
7