Placements Setup

A placement is a specific location in your app where you want to display an Offerwall or a Message to Earn to your users. In the example below, your app would call the Main_Menu_Button placement and Tapjoy would go through the listed offerwalls and display the first one that matches the country targeting criteria for the user.


You can think of a Placement as a billboard, and the Offerwall cards as what gets shown on that billboard. With placements, you have the additional flexibility to display different Offerwall configurations to specific user segments by adding more than one Offerwall card under one placement like in the example above.

Placements need to be implemented via the Tapjoy SDK. For this reason, we strongly advise integrating all recommended placements in your app during onboarding. Doing so will offer greater flexibility in testing and eliminates the need for additional coding efforts in the future.

More details on how to implement placements within your code, please refer to the respective platform pages iOS, Android, Unity, ReactNative. Placement names can be reused within all platforms, so there's no need to create specific platform placements.

Contextual vs User Initiated Placements

When strategizing placements to implement, you and your team should consider both contextual and user initiated placements.

User initiated placements need to be implemented in physical locations in the game where the user will have to tap to see the Offerwall. As a user is expecting to see the Offerwall based on their action, there is no need to use any additional messaging (such as Tapjoy’s Message to Earn feature) when using this type of placement logic.

Contextual placements need to be implemented to be called once certain conditions are met in game play by the user. For example, after an app loads or when the user has insufficient currency. In this scenario you would link Message to Earn to Offerwall cards in these placements so the user is given context before being led to the offerwall. Contextual placements, when used in conjunction with effective in-app messaging, are very effective at driving higher Offerwall performance.

Creating a placement

Placements will need to be decided and implemented by your technical team within your app’s code. We recommend the following placements.

*If your team is unable to implement all placements, we strongly recommend starting off with at least the MainMenu and MainMenu_Messaging placements to allow testing for both Offerwall and Message to Earn.

Placement Type Description
*MainMenu User Initiated As an option from your main menu
*MainMenu_Messaging Contextual As an option to display in-app message that is displayed in your main menu that leads to an Offerwall
AppOpen Contextual After your main app has finished loading
Store User Initiated In your currency store along with your IAP
InsufficientCurrency Contextual As an option if your user does not have enough currency to make a purchase
AbandonCurrency Contextual As an option when your user did not make an IAP
Inbox User Initiated From a message in your inbox so your users can get sent directly to a currency sale from an inbox message.
LevelComplete Contextual After a level or event completion
AppMessage User Initiated From your app's internal user messaging system

Once a placement is specified within your app's code, connect it to a placement on our dashboard using the following steps:

  1. Navigate to the 'Placements' tab
  2. Click 'Create Placement'
  3. Fill in Name with exactly the text used in your app's code. Case, spacing, and special characters are all important here.
  4. Optionally, if you would like to add a note about this placement, go ahead and put that into the "Description" field for your internal team.
  5. Click "Create" to create this new placement.

You will need to continue and create content cards for each placement in order to actually start receiving offers through these placements.

Please note: Tapjoy has an AppLaunch placement by default. This placement gets triggered as soon as the Tapjoy SDK has finished initializing, which should occur during your app's launch phase. You cannot disable the Tapjoy SDK from trying to call for this placement, but you can have it do nothing by not adding any content to the AppLaunch placement in the Tapjoy dashboard.