Best Practices on Instant Games


There are over 2 Billion people connecting on Facebook each month. So what are the things you can do in your Instant Games to help people discover your games?

Find below top five tips to help people find and love your games.

1. Build Social Games

Building games with deep social integrations leads to higher retention and virality, so ensuring your game is social is a critical first step to helping drive discovery of your games. Even if your game is largely built for solo play, think about how the game could be approached from a group play perspective, and how your game could work in Messenger threads of different sizes. A 1:1 chat thread as compared to a larger group thread (more than 3 players) could have very different game mechanics. The most successful games on the platform have a social experience built into their core mechanics.

Social Elements in Solo Games A great way to drive discovery is to include a competitive or collaborative element in solo (single player) games. One example of competitive element is to introduce players leaderboards to challenge friends to beat their high score in the game. At the same time, collaborative elements like asking for help also encourage social play.

Documentation: Play w/ Friends or other Players and Leaderboards

From Solo Games to Social Games If you are offering a solo mode in your game, consider encouraging players to play with friends as well. For example, after a solo session, show a prompt to challenge friends who are already playing or to invite new players to the game.

Documentation: Connected Players and Changing Contexts

Friend Suggestions Surface to the player which of their friends already play the game. Show friend suggestions in the lobby to encourage virality through context creation.

Documentation: Connected Players

Inviting Friends The option to invite (or challenge) a friend to play should be prominently displayed and easy-to-understand. Make sure to regularly bring players to the screen where these options are surfaced.

Documentation: Connected Players and Changing Contexts

Encourage Friend Play After a player completes their turn in an open game or completes a level, prompt them to start more games with other friends.

Play with Random Players Offer an option for players to play with random opponents so they can have a social experience, while waiting for their friends turn or if they do not have friends to play with. This is especially helpful in turn-based games and multiplayer games, and it's available for synchronous and asynchronous matches.

Documentation: Matchmaking

Surface Social Context Make it obvious to players what type of gameplay context they are playing in (solo, social-with-random-player, social-with-friends, social-with-group, etc.) and make sure is very apparent when that context switches.

Documentation: Context Updates and Changing Contexts

2. Leverage Game Updates

To take advantage of the social discoverability the platform provides, call updateAsync to inform Facebook of any relevant update that occurred in the game. Game Updates such as new friends invited to play, existing players challenged, friend's high score, or player's best high score can be used to generate messages that appear in Messenger conversations (also called Custom Updates), as well as updating content across Facebook.

Documentation: Custom Updates

3. Share Meaningful Moments

When designing your game, define specific moments that give players a meaningful experience - for example, a feeling of personal accomplishment, an exquisite defeat by a friend, or a celebration of a team effort - and make sure to highlight these moments to the player along with an option to share them to Facebook or Messenger. Note: Incentivizing Shares is against Facebook Policy. You can reward both sharing users and friends joining who have received the shared content ONLY after they've started playing.

Documentation: Custom Sharing

4. Build Your Community

To improve game discovery, cross-promote your games and engage your community on and off Facebook.

Game-Switch API The Game-Switch API allows you to cross-promote your other Instant Games within your game. This can be a powerful tool when utilized properly to help your audience move from one game to another of your games.

Documentation: SDK • switchGameAsync()

Facebook Game Pages Did you know that you can link your Instant Games right to your Facebook Games Page? Don't forget to create a Facebook Page for your games and you can use it as a great place to talk with your fans, get feedback, and see what they'd like in updates to your games.

Deep Links You can link to your Instant Games from anywhere on the web. People can play them from any browser, even if they don't have messenger installed.

Documentation: Deep Links

5. Grow Your Audience

You can find and acquire new players for your game through Acquisition Ads campaigns on Facebook and Messenger. You can run these campaigns directly from your Ads Manager. For further details, click here.

Engagement and Retention

Find below top five tips to improve your games Engagement and Retention.

1. Game Performance

Improve on your game performance to keep players more engaged with your game:

Reduce loading time Instant Games players are generally looking for very quick initial loading times; the drop-off rate starts to increase after just 3 seconds of loading, so try to make your game as instant as possible.

Documentation: Load times and performance

Ensure a Smooth Cross-platform Experience Engage your players by ensuring the best gaming experience on every platform and device. Instant Games are available on Android, iOS, PC, and Mac. Make sure your games are optimized to allow flexibility in the devices people play on and how they interact with their friends.

Make it Lightweight Optimize your games to support more devices. Instant Games players are experiencing your games all over the world - some may be using devices with limited rendering capabilities or may be located in areas with low internet connectivity, so making the game lightweight can ensure a better experience across the globe. This in turn can lead to an increase in engagement and retention.

Documentation: Lightweight games

Localizing your Game Players tend to engage more with the game if they can play in a language that's natural to them. Translate and localize everything: your game content, UI, tutorial, the custom updates and the admin messages you send.

Consider the top 10 languages as must have and the next 10 languages as nice to have:

Ranking Languages Priority

Top 10 Languages

EN (English), ES (Spanish), PT (Portuguese), FR (French), AR (Arabic), ID (Indonesian), VI (Vietnamese), TH (Thai), TR (Turkish), DE (German)

Must have

Next Top 10 Languages

IT (Italian), ZH (Chinese), RU (Russian), PL (Polish), JA (Japanese), NL (Dutch), SV (Swedish), HU (Hungarian), EL (Greek), CS (Czech)

Nice to have

2. Home Screen Shortcut

Consider prompting users to add a shortcut to your games to increase long term retention by creating an additional persistent entry point. Use the Home Screen Shortcut API to place a dialog in-game for players to save the game to their home screen on Android devices. You can incentivize this action. You can use our SDK's method canCreateShortcutAsync to infer if that session supports creation of a shortcut.

3. Leaderboards

Leaderboards are a good way to keep friends engaged with the game and drive retention. The Leaderboard API sends out the most recent leaderboard update so you are sure to send the most relevant update to players at the optimal time (the end of the play session).
Documentation: Leaderboards

4. Reward Returning Players

Offer Daily Rewards for returning players to increase retention. Optimize implementation with a Multiplier/Streak Bonus when players return for consecutive days.

5. Instant Games Messenger Bot

Messenger Bots allow you to engage in a conversation with your players and send them regular updates. To keep the block rate low, make your messages delightful and relevant for your players to bring them back into the game.
Documentation: Messenger bots

Note: as of January 19th, 2019, all bot messages will need to have Opt-In for new players.

Some examples of messages you can use according to your game play and mechanics:

Friends suggestions and updates Inform players about their friends' activities (for example when a friend joins the game, wins a match, or has overtaken the player in the leaderboard) to keep them engaged by playing together:

Reminders and nudging Remind players to come back to the game to take their turn. Improve their score on the leaderboard, or nudge friends to get them back into the game.

Send rewards regularly Offer daily or hourly rewards to redeem and claim in-game.

Send updates Inform players about new features or items available in-game.

Send help to re-engage users Offer strategy tips and hints to players when they've been stuck for 24 hours or longer. Help completing the level and progressing in-game increases both short-term retention and the number of daily sessions.

Top tips about how to create and test bot opt-ins for your new players

We recommend that you test different variables and variations to find what works best for your audience.

1. A/B TEST WHEN TO PROMPT: Test different timing of when to show the prompt: players should see the prompt to opt-in to the game bot at a moment that makes sense within the flow of gameplay and you should test different moments to find the sweet spot.

2. A/B TEST THE VALUE MESSAGE: Make sure to convey clear value to set expectations for players when they subscribe to the bot. Value of subscribing to bot should be clear to players before prompting them.

3. A/B TEST CUSTOM PROMPTS: Test surfacing a custom message to players prior to calling the API to part of your audience and show the standard dialogue to another part. When creating a custom prompt, make sure to seamlessly integrate the in-game message so it fits the look and feel of the game. Be careful not to make the bot prompt too jarring for players or they will likely decline. Another option is to expose part of your audience to the dialog provided via API.

4. CONTEXTUALIZE THE PROMPT: Surface the opt-in prompt such that it makes sense within the context of actions the player is taking. You can use the flow of the game to drive players into an experience that replicates the value of subscribing to the bot and then prompt them to opt in.

5. REWARD PLAYERS WHO OPT-IN: Provide players with a reward for subscribing to the bot that they can redeem through the call-to-action presented in the initial bot message.

6. AVOID INTERRUPTING PLAYERS: Make sure the opt-in prompt does not interrupt an action the player is in the middle of trying to take. If interrupted, players will be more likely to decline the request without consideration.


1. Setting up Ads monetization

When setting up Ads monetization, make sure to:

Preload Ads: Ensure a smooth player experience by loading some ad instances (API calls getRewardedVideoAsync and getInterstitialAdAsync - maximum of 3 each prior to the ad request.)

Verify Ad Support: Some player sessions won’t support ads. Make sure to call the API FBInstant.getSupportedAPIs() to verify that ads are supported for that session before trying to request an ad.

Customize “No Fill” Message: Set up a player-friendly message that will display in instances when an ad is not filled. Seeing a message that matches the game UI with friendly language to smooth the disruption in player experience.

QA Test Ad Integration: Before submitting your game for Audience Network review, verify your ad integration is functioning as intended. As a developer of the app, you will be eligible to see ads even before the game is live.
Documentation: Testing Audience Network Implementation

Get Started: learn how to get started with Ads monetization.
Documentation: Getting Started With In-App Ads Monetization

Don’t Spam Players: If a player declines to watch a Rewarded Video, do not show them an interstitial ad in its place.

Make Great Games: Players can tell if a game is made only as a vehicle for serving ads versus a game that is fun that incorporates advertising in a smart way.

2. Optimize by Format

Ads monetization placement can be optimized by format:


Frequency Avoid Spamming Players: Our policy permits showing a maximum of 1 interstitial ad every 30 seconds to players. We believe that any more than that could create a “spammy” experience for players. Note that this doesn’t mean that the optimal frequency for your game is one interstitial ad every 30 seconds, but that’s the maximum.

Placement: Launch interstitial ads at natural breaks during gameplay.

Testing: Make sure to test where and when you place your ads for optimal ROI, like during natural breaks.


Use Descriptive Entry Point: Clearly Establish What Player Will Receive and What Is Being Given in Return. Make sure player has a clear understanding of the value proposition taking place in the game.

Have Congruent User Experience: Avoid Accidental Clicks. Design the user experience to reduce accidental clicks / unintentional video-starts of the ad.

Use Transparent Communication: Set Appropriate Expectations With Players. If you tell players from the start that not completing the video will not give them the reward, then you are clearly laying out the value exchange concept through explicit messaging.

Build a Balanced Economy: Keep Rewards Valuable and Ad Engagement Strong. Serving too many RV ads to players can negatively impact ad engagement. Players may perceive RV ads as an easy button-click to receive in-game items instead of being engaged with the video being shown.

User-initiated Video Ads: Learn how to integrate user-initiated video ads into your game and see how they can help build a sustainable business that creates value at scale for your game, along with recommendations for top placements for rewarded video ads in your game.

3. Setting up In App Purchases

When setting up In App Purchase monetization, make sure to:

Optimize Store: Make sure to choose price points that are sensible and appealing to players. When showing multiple package prices, make sure to highlight the best-value item, and show players the saving they make by choosing this item.

Create Sales and Events: Run sale and discount events, especially linked to seasonal holidays. Sales both increase spend among existing payers and help convert new payers.

Offer Daily Rewards: Rewarding players for logging in on consecutive days is a great way to increase retention but also helps monetization as players get a sense of the benefit of having more coins/currency within the game.

Test and Measure: Information and analytics about IAP can be found in your Facebook Analytics dashboard. Make sure to set up tests to measure effectiveness of In-App Purchases to maximize your ROI.

4. Monetization availability by Platforms

Make sure you know which monetization type is available on which platform:

PlatformInterstitialRewarded VideoIn-App Purchase



Mobile Web

Desktop Web

Make sure you are showing the right monetization offer on the right platform: e.g. you should not show any reference to payments on iOS, and not prompt users to play on other platforms where this could be available.