Last modified May 19, 2023 by Shelly Wolfe

In-app communications best practices

Learn how to optimize your customer’s in-app communications experience with our mobile campaign best practices.

Swrve gives you two options for communicating with your customers while they’re using your app: predesigned, interstitial-type in-app messages and customizable, interactive Conversations. This article discusses some best practices for optimizing your in-app message and Conversation campaigns to drive measurable business impact and results.

General guidelines

The following are general guidelines for in-app messages and Conversations:


  • Avoid over-exposing customers to too many messages within a short timeframe.
  • Segment and target specific customers as effectively as possible.
  • Design messaging campaigns that are short but frequent. Short, frequent campaigns are more effective than longer, static campaigns as they enable you to make frequent creative adjustments and be more responsive to changing data and results.
  • Tailor content to your audience, as different cultures and audiences respond to differing visual prompts in different ways.
  • Make sure in-app messages and Conversations support your overall multichannel marketing strategy and fall in line with your customer lifecycle and journey.


  • Be conservative – Consider the percentage of overall customers to reach and avoid over-messaging customers, especially new ones. Use the frequency control and configure trigger set-up carefully to prevent over-messaging.
  • Target specific campaigns at the following segments, for starters:
    • Subscribers, but target those subscribers much less frequently than non-subscribers.
    • Non-payers, customers who have not yet used a particular feature of your app, or other particular customer types—for example, customers who have upgraded and customers who have installed your app for free.
  • Use audience segmentation to accurately define and provide customers with the right messages, at the right time.
  • Qualify customers who share predefined attributes and preferences and tailor content to be personalized to those cohorts.


  • Deliver your message at the right point in the customer journey, such as after they’ve completed a task or purchase, not during standard navigation.
  • Time your message to help you achieve specific goals. Some strong use cases are:
      • Push permission opt-in – Plan the timing of your permission request wisely by triggering the request when a customer favorites or likes a specific preference or at the end of onboarding. To improve the acceptance of a push notification permission request, ask when a customer is feeling good about your app.
    • Feature awareness – When a customer opens the app, highlight a new feature with an in-app message or surface a complementary feature once a customer has finished using another.
    • Promotional and upsell opportunities – Once a customer has made a purchase, offer a supplemental product or service.
  • Prioritize your communications with your customer – Show them the most important message first. Ask yourself which message is most important for your customer, not necessarily your brand. Prioritization alongside display rules should resonate well with your customer.

Campaign triggers

This section details general guidelines for selecting the app events that trigger your in-app campaigns. Use triggers to identify when a customer sees a message. The table below lists typical trigger events that your development team may have configured.

Event Sent when a customer Use this opportunity to
Swrve.session_start Starts a new app session. Inform customers of major changes, updates, and special sales.
ui. Loads a specific menu. Display an interstitial message to introduce new features and holiday promotions. Enters the store. Promote app upgrades, new modules (for example, for a language-learning app) or subscriptions (for an app with a subscription revenue model). Exits the store without making a purchase (sent in addition to Introduce a sale item to convert non-spenders. Makes a purchase. Introduce a special sale with a large discount to attempt a quick upsell. For example, if a customer has just purchased a one-week subscription, this is a good time to let them apply that value towards a one-month subscription.
usage.completedaction.completed Completes an action within your app. Prolong customer engagement. At this stage, there’s a high probability of them leaving your app. In the instance of a carpooling app, for example, you could use this opportunity to encourage customers to list their own vehicle instead of just closing the app.
tutorial.start Starts your tutorial. Provide timely information about your app or inform customers about promotions.
tutorial.step_ Completes a step in your tutorial. Offer assistance, provide timely information about your app, or inform customers about promotions.
tutorial.end Leaves your tutorial. Ask them to review your app on the app store. This assists customer acquisition and promotes your public image in the app store. Do this before delivering in-app messages aimed at promoting customer spending.

For information about selecting event triggers during in-app campaign creation, see Creating in-app messages and Creating Conversations.

Campaign goals

This section details general guidelines for selecting custom campaign goals to measure and report on for your in-app campaigns. The table below outlines example goals you might select to measure downstream engagement or purchase events.

Message summary Primary goal Secondary goal
Purchase of in-app currency. Purchasing in-app currency. Spending in-app currency.
Promoting a new feature, for example, saving content to favorites. Saving content as a favorite. Accessing content in favorites.
Promoting a time-bound event. Customer attended event. Anything related to the event.
Tip for helping customers complete registration. Customer followed tip. Customer completed registration.
Encouraging customers to register with their social media details. Customer completed registration. Customer shared status on social media.

In-app messaging

In-app messages are a great way to communicate with your customer when they’re in the app, whether they’re already using it or were directed from a linked push notification campaign. In-app messages are effective because they can be customized and tailored to the brand’s look, feel, and tone of voice and be used to encourage customers to take action, such as opting in to receive push notifications. Other great uses for in-app messages include:

  • Encouraging feature or product discovery.
  • Offering guided deep linking from the home screen to another part of the app.
  • Sharing personalized reminders for your customers.

Before you create your first in-app message, make sure you review the in-app messaging prerequisites.

Image safe zones

Each platform has a range of devices, each with its own aspect ratio, however, there is a standard sizing schema that applies across all platforms. For example, the iPhone X is tall and narrow, while the iPad has the length and width of a more traditional tablet. Regardless of your platform, Swrve helps you to manage artwork that supports all devices for a particular platform.

When you upload images on the Add Content screen of the in-app message workflow, two image resolutions are displayed in the palette:

  • The resolution of the image to be uploaded.
  • The resolution of the safe zone.

The first resolution above is the size of the image that Swrve recommends you upload. For example, we recommend 2365 x 3840 pixels (px) for portrait images on all platforms. For any given device on which your in-app message is displayed, Swrve resizes the image. Due to varying aspect ratios, some devices crop part of the image when displaying.

The safe zone is the portion of the uploaded image that is always displayed, regardless of the device, and is not affected by cropping. For example, we recommend 1773 x 3152 px for portrait images on all platforms. Design your image content so that no text, buttons, or CTAs are included outside the centered safe zone. Swrve enables you to preview your image and the associated safe zone on various devices in the dashboard so that you can check your content and ensure no important material is at risk of being cropped.

The image below illustrates the different aspect ratio and safe zone for all platform devices in landscape:

Sample background image for all platforms showing safe zone

If you are using the default templates from Swrve, then Swrve resizes your artwork for all devices. The background image resolution and safe zone for each platform should be as follows. Examples show the width x height for portrait orientation images:

Platform Resolution (px) Safe zone (px)
All platforms 2365 x 3840 1773 x 3152
Apple 2048 x 3326 1536 x 2730
Google 2426 x 3840 1818 x 3233
Amazon 1600 x 2667 1500 x 2560

If you’re tracking multiple platforms to the same app integration in Swrve, then you’ll be targeting multiple platforms with the same message. In this case, use the All platform template sizes.

Sample images and templates

Swrve supports images in PNG and JPG formats.

Animated images (GIFs)

  • When using GIFs as the background or button image in your in-app message, ensure the MIME type is image/gif.
  • For efficient downloading and display of the GIF to users’ devices, we recommend keeping the file size to less than 2MB. Similarly, avoid using multiple GIFs on the same message or across multiple pages.
  • To ensure the message still displays in cases where the Swrve SDK can’t resolve the GIF URL or it fails to download, include a fallback image whenever possible.

Specific devices

If you want to use different images for tablets versus phones (for example, iPad versus iPhone), then you may want to contact Swrve support for access to our Specific Devices templates.

Campaign creative

  • Keep them branded – Brand your in-app messages with the look and feel of your brand. You can upload custom imagery and call-to-action (CTA) buttons designed off-platform to offer the most visually appealing communication.
  • Keep your in-app messages brief and concise – You have limited real estate for your image and content, so make good use of the space and quickly deliver your main message.
  • Be consistent – In-app messages should serve a consistent purpose throughout the customer journey—the most common types are transactional, educational, and promotional.
  • To ensure consistent deliverability, keep PNG files smaller than 5MB.
  • Test up to 10 different versions of your message for best conversion. A/B testing best practices include:
    • To be confident of the conversion rates of each variant, you need to be sure each variant is exposed to as many users as possible. Therefore, if you plan to create a campaign with a large number of variants, ensure you’re targeting a large audience, or running the campaign for a longer period of time.
    • Test specific creative aspects of your message, such as tone, varying the background image, or changing the button text or position, and then adjust your future campaigns based on the results.


  • Avoid over-exposing customers to too many messages within a short timeframe – Swrve has message display rule options that enable you to specify a throttle before message display, restrict the number of messages displayed per session, or limit the frequency of messages. For more information, see how to set app-level display rules.

Deep linking

  • Use deeplinks and social sharing to help improve the customer experience by appropriately directing the customer to where you want them to go, but ensure you’re driving them to a place they expect. Avoid a disjointed experience.


One of the most effective ways to connect with your customers is through interactive, multi-screen Conversations. Conversations allow your brand to develop an extended flow of messaging to help drive home a message or set of functionality for your app and guide the customer to the information they need. Conversations can prove effective for a number of use cases, including onboarding, feature announcements, video highlights, and interactive surveys.

Before you create your first Conversation, make sure you review the Conversations prerequisites.

Best practices include:


  • Create personal, interactive messages for your customers – Use Conversations for surveys, onboarding tutorials, new feature walkthroughs, feedback, opt-in campaigns, or cross-app promotion to generate additional downloads or subscriptions through cross-promotion of similar products.
  • Craft more detailed messages for your customer – You’re allowed more than one screen and can guide a customer through each with a custom CTA, so your messages can be longer and more detailed.
  • Take advantage of the multi-page or long scroll formatting – Deliver multi-step processes or tours.
  • Take advantage of built-in capabilities – Swrve’s predefined Conversations templates include powerful deeplinks, click-to-call functionality, and notification opt-in campaigns.
  • Use videos as often as possible – Dynamically engage your customer with rich content types like video to drive home your message.

Deep Linking

  • You can link your CTA to any desired location, such as a website, social network, or other titles in your portfolio.
  • Use deep links for custom actions such as initiating a push opt-in prompt or driving customers to the app store to rate your app.

Migrating to in-app message custom button styles (new!)

We’re excited to release a new feature for in-app messages—custom button styles! While Conversations are limited to using a maximum of three fixed buttons that have minimal styling options, our new custom in-app button styles let you create a variety of on-brand buttons that are available to reuse across all your in-app message campaigns. We highly recommend trying out this powerful and flexible new feature!

The following table reviews how to customize elements of Conversation buttons and the equivalent setting for in-app message button styles:

Button elements Conversation In-app message
Background For Solid style buttons, separately define the background color of your primary, secondary, or tertiary buttons. Set the background color of the various button states (default, pressed, or focused).
Border For Outline style buttons, separately define the background color of your primary, secondary, or tertiary buttons. Set the border color of the various button states (default, pressed, or focused).
Text color Set text color as white, to use the same Conversation background color, or a separate text color. Set the text color of the various button states (default, pressed, or focused).
Corner radius Use the Corner Radius slider or input field to set the corner radius between 0 and 18 pixels. Under Size & shape, set the Corner radius based on the button size.
Font Use the default font for Conversations or select a custom font when editing your Conversation campaign. Specify the font when creating your button. When editing your campaign, select the required button style.

To create custom in-app buttons that match your Conversation button styles, review the following sections:

Conversation button style: Outline

In the in-app messages Button style editor:

  • Set the button Border and Text colors to match the relevant Conversation button color.
  • Set the button Background based on the Conversation Fill setting:
    • Transparent fill – Turn off the Background toggle.
    • White – Set the background color as white (#FFFFFF).

Conversation button style: Solid

In the in-app messages Button style editor:

  • Set the Background color of your button to match the relevant Conversation button color.
  • Set the Text color based on the Conversation Text color, for example white, general background color, or general text color.

Next steps