Documentation

Support

Message to Earn (M2E)

Implement tailored messaging in your app to motivate users to engage with the Offerwall and complete desired events.
Read time 4 minutesLast updated 3 hours ago

In-app messaging is a strategic way to drive more users to your offerwall. Messaging can be used in the context of targeting specific user cohorts or currency sales. Tapjoy's Message to Earn product provides granular control to customize the content, targeting and frequency of your messages. Alternatively, if you prefer using your internal messaging, you can deeplink your in-app messages to offerwall. See below for more details on how to leverage both.
In-app message example

Best Practices

  • Message to Earn should be set up with currency sales or running any type of targeting test to maximize effectiveness of Offerwall.
  • Message to Earn should appear at the home screen/main menu to introduce users to the Offerwall.
  • Test, test, test! Run M2E for 10-20% of your traffic via an A/B test to measure the efficacy of your M2E messaging.
  • Customize your Message to Earn to mimic the look and feel of your game.

Using Message to Earn (M2E)

Message to Earn (M2E) content cards are customizable in-app “pop up” messages that provide context before directing users to an Offerwall. These messages help drive more users to your Offerwall. In addition, they can be used in conjunction with currency sales and targeting tests to maximize their effectiveness. For example, you can target first time users with 2X exchange rate with the following message, “Earn Free Gold. Get Double the golds when completing your 1st offer!” The placements you select to add your Message to Earn content cards will determine where these messages and Offerwalls will appear to your users in gameplay. M2E placements should be set up in contextual placements instead of user-initiated placements. A contextual placement is initiated once certain conditions are met by the user in game play. We recommend setting up M2E with the following type of placements:
  • On app open, after main app loading is completed
  • Insufficient currency pop-up or user abandon pop-up
  • From app inbox message (if available)
  • After game level or event is completed
  • From app messaging
Learn more about how to add new placements here.

Setting up Message to Earn content cards

Placements are required for the implementation for Message to Earn. Follow these steps to create placements if there are no placements created for your app yet. If there are already existing placements where you would like to add Message to Earn, proceed with the following steps.
  1. On the left navigation, select “Create Content”. Then select “Message to Earn”.
  2. Proceed to set up your content card.
  3. Under Message, you can either add your own custom image or request one created by Tapjoy's team. Do the following too add a custom image:
    • Select Upload Image.
    • Select a transition type
    • Create a custom message text
  4. Under placement, select the placement where you would like the Message to Earn to appear to your users.
  5. Save
After going live, you may review your M2E content card in Overview. If the M2E content card is underperforming, consider setting up an A/B test to test different messages and targeting.

Advanced Setup

The following features can be used in conjunction with the M2E content cards.

Currency Sale

  • Personalize your currency sale with Message to Earn to create more awareness around the sale. Instructions on how to create can be found here.

Targeting

  • Target specific segments of users with personalized messages. Common examples include the following:
    • Introduce first time users who have not used Offerwall
    • Encourage users that have not completed an offer in X days
    • Nudge users that have not logged into the Offerwall in X days
    • Re-engage users that are in mid-Offerwall event ie 3/7
    • For more information, refer to Targeting

A/B Testing

  • To optimize your message to users, you can run an A/B test to validate the most effective copy with data by doing the following:
    • When creating your content card, toggle on the A/B test.
    • Under A/B Test, select “Add a Variant”. For each variant, you upload different images and messages.
    • Finish creating your content card and select Save.
    • Learn more about Tapjoy's A/B Testing tool here.

Deeplinking internal messaging to Offerwall

Alternative to Message to Earn, you can leverage your internal in-game messaging to direct users to the Offerwall. Refer to the set up instructions below.
  1. Create a contextual placement in the dashboard that will represent your internal message. We recommend naming it in relation to what the placement represents ex. Custom_Popup. For instructions on how to do this, refer to Placements.
  2. Create Offerwall Card(s) that you want your users to be directed to from the message. In this step, ensure that you do not enable Message to Earn so users will not be shown two messages, both M2E and internal. For instructions on how to do this, refer to Offerwall cards setup.
  3. Implement the placement in your code. To request a Placement, use the TJPlacement class. Be sure the Placement name string in your code matches the Placement name you've set up in the dashboard exactly from step one.
TJPlacementListener placementListener = this;
TJPlacement p = Tapjoy.getPlacement("[PLACEMENT_NAME]", placementListener);

// Listeners

public void onRequestSuccess(TJPlacement placement);
public void onRequestFailure(TJPlacement placement, TJError error);
public void onContentReady(TJPlacement placement);
public void onContentShow(TJPlacement placement);
public void onContentDismiss(TJPlacement placement);
  1. Once the listener methods are in place, and the placement has been instantiated, you can request content for that placement.
if(Tapjoy.isConnected()) {
  p.requestContent();
} else {
  Log.d("MyApp", "Tapjoy SDK must finish connecting before requesting content.");
}
  1. Before you request content, ensure that the Tapjoy connect call has succeeded. Do not make a request before you have received the onConnectSuccess callback.
  2. When the content is ready, you can show it.
public void onContentReady(TJPlacement tjPlacement) {
  if(tjPlacement.isContentReady()) {
      p.showContent();
  }
}