How to Implement In-App Messaging
Mobile Marketing

How to Implement In-App Messaging

How to Implement In-App Messaging
Karina InAppStory

TL;DR
 

In-app messages appear when the moment is right. They can welcome new users, explain a feature, or push someone to complete checkout. Unlike email or push, they live inside the product and speak while the user is still listening. This guide walks you through how they work and how to set them up.

 

What In-App Messages Do Inside Your App

 

An in-app message is a piece of content displayed within the app interface itself. Common formats include:

  • Pop-ups (modals): windows that appear over the main interface.
  • Bottom sheets: panels that slide up from the bottom without blocking the entire screen.
  • Fullscreens: panels covering the full display with interactive elements.


Unlike push notifications or email, these messages are delivered only when the user is already active in the app. Their purpose is to provide contextual information, guide behavior, or highlight functions without redirecting the user outside the product environment.
 

In practice, they are applied to solve specific product and marketing challenges:

  • Onboarding: guiding new users through the first actions.
  • Promotion: informing about discounts or new products.
  • Feature adoption: highlighting functions that might otherwise remain unnoticed.
  • Retention: encouraging users to return or complete abandoned actions.


The effectiveness of in-app messages depends on timing and context. A message linked to a clear trigger such as app launch, reaching the checkout page, or clicking a product category will integrate smoothly into the user journey. Random or excessive messages increase friction and reduce trust.

 

How to Create In-App Messages: Step by Step

 

In-app messages require one technical component before they can be created: the SDK. An SDK, or software development kit, is a block of code that connects your app to a third-party service. 

 

Once installed, it enables the app to display formats such as stories, mini-games, or in-app messages. Integration is a one-time process. After this step, your marketing and product teams can design and publish messages directly through the console. The example below is based on how these steps are implemented inside the InAppStory platform. 

 

Step 1. Choose the format

In-app messaging platforms usually offer three formats:
 

1. Pop-ups (modals): small windows that open on top of the interface. They work well for time-sensitive information such as discounts or confirmations.
 

pop-ups in mobile apps

2. Bottom sheets: sliding panels from the bottom of the screen. They deliver content without fully interrupting the user’s current flow.

 

bottom sheets in mobile apps

3. Fullscreens: panels that take over the entire screen. They are suitable for onboarding steps, tutorials, or campaigns that need maximum visibility.

 

fullscreens in mobile apps

 

Each format can be reused, cloned, or edited in the console. Format selection depends on the business goal: onboarding calls for fullscreen guidance, while a promo code may be better suited to a pop-up.

 

Step 2. Add the content
 

Once the format is chosen, the editor allows you to insert content blocks:

  • Text: short instructions, product highlights, or explanations.
  • Image or video: visuals to demonstrate or promote.
  • Buttons and swipe actions: to direct users to the next screen or checkout.
  • Widgets: extra functions such as copy-to-clipboard, barcode, or swipe-up redirection.

 

Backgrounds can be customized in several ways: using predefined colors, a color picker, or a full image upload. Important interface elements should not be embedded into the background image, as resizing may crop them on different devices.

 

Step 3. Set display rules
 

Rules define how often and under what conditions the message appears:

  1. Frequency limit: show once, every time, daily, or at longer intervals.
  2. Opening limit: total number of impressions allowed across all users.
  3. Priority: order in which a message is displayed if several are triggered at the same time. Higher numbers take precedence over lower ones.

 

For example, a message with priority “10” will be shown before one with priority “9,” even if both share the same trigger. If limits conflict (e.g., hourly vs daily), the stricter one applies.

 

Step 4. Configure additional fields
 

Advanced settings let you pass custom data:

  • Slide payloads: carry metadata across iOS, Android, and web for tracking or personalization.
  • Content fields: specify values such as “yes/no,” numbers, or strings to customize the message content for each user.
  • Descriptions: internal notes for team members, invisible to end users.

 

These options help align messages with analytics systems and CRM workflows, ensuring consistency between marketing and product data.

 

Step 5. Preview and publish
 

Before publishing, each message can be previewed on a real device. Scanning a QR code in the console loads the draft into a test app for validation. After adjustments, the message can be published according to the defined rules. Once live, its performance (opens, clicks, and CTR) is tracked in the analytics console.

 

How to Make In-App Messages Valuable

 

Value comes from how precisely messages are integrated into the app journey. They should feel like part of the product, not a layer on top of it. Below are principles and features that advanced teams use to make in-app messaging both effective and unobtrusive.

 

Key principles and controls

AreaWhy it mattersFeatures you can configureRisks if ignored
Publishing rulesPrevents user fatigue by limiting exposure.Frequency caps, opening limits, event triggers, scheduling.Overexposure, uninstalls.
PersonalizationIncreases relevance and trust.Text variables, images, links tied to user segments.Generic, “spammy” campaigns.
Visual designGrabs attention without overwhelming.Pop-ups, bottom sheets, fullscreens; CTAs, promo codes, barcodes, widgets (e.g., countdowns).Cluttered layouts, ignored CTAs.
TargetingEnsures the right segment sees the right message.Tags, cohorts, CDP integrations, segment builder.Irrelevant prompts, poor CTR.
AnalyticsLinks engagement to product metrics.Opens, clicks, CTR on dashboards; exports to CSV/XLS/API.Blind spots, no optimization.

⚡ Applied in real user journeys

  1. Homepage: Fullscreens, bottom sheets, pop-ups, and even gamification can appear when the app opens, setting the tone for onboarding or promotions.
  2. Search and profile pages: Bottom sheets or short pop-ups guide discovery without interrupting flow.
  3. Offer pages: Fullscreens and bottom sheets highlight promotions, while keeping users focused on conversion.
  4. Loyalty sections: Gamification and fullscreens reinforce retention programs and keep customers engaged.

 

in-app messages as part of user journey in mobile apps

 

Mapping formats to specific stages ensures each message serves a clear role. For example, a discount shown as a bottom sheet during checkout feels supportive, while the same message as a fullscreen on the homepage may feel intrusive.

 

Conclusion

 

Looking at the flow of a user journey, it’s clear that no single in-app message type works everywhere. A fullscreen that feels helpful on day one becomes annoying on day thirty. A bottom sheet that nudges checkout works only if shown once, not ten times. The power of in-app messaging lies in making these trade-offs consciously, with data guiding each decision.

 

What follows from this is simple: in-app messages are not just a feature to enable but a practice to maintain. The most effective teams treat them as part of the product experience, not as a campaign channel to be switched on and off. They test, cap, personalize, and measure, and they know that the user’s trust is the ultimate metric.