Best Practices

Guidelines for creating effective in-app messages that engage users without annoying them.

Message Strategy

One Message, One Goal

Every message should have a single, clear purpose:

Good
Bad

"Welcome! Take the product tour."

"Welcome! Here's a tour, our pricing, our blog, and a survey."

"New feature: Dark Mode"

"New feature plus 5 other updates you missed"

Choose the Right Format

Goal
Best Format

Quick announcement

Banner

Important info requiring attention

Modal

Multi-step guidance

Checklist

Collect feedback

Feedback survey

Product updates

Changelog

Don't Overwhelm

  • Limit active messages - 2-3 concurrent max

  • Space out modals - Users need breathing room

  • Use banners for passive info - Less intrusive than modals

Targeting Best Practices

Be Specific

Broad targeting = irrelevant messages = annoyed users.

Combine Dimensions

Layer targeting for precision:

Test on Yourself First

Before launching to everyone:

  1. Add a rule: Email equals [email protected]

  2. Test the full experience

  3. Remove the rule when ready

Exclude Already-Converted

Don't show conversion messages to converted users:

Content Best Practices

Headlines

  • Be specific: "Introducing Dark Mode" > "New Feature!"

  • Lead with value: "Save 2 hours/week" > "New automation"

  • Keep short: 5-8 words ideal

Body Copy

  • Front-load value: Most important info first

  • Use bullets: Scannable > walls of text

  • Be concise: Respect user time

Calls to Action

  • Action-oriented: "Start Free Trial" > "Submit"

  • Specific: "See Pricing" > "Learn More"

  • One primary CTA: Don't split attention

Good CTAs:

  • "Get Started"

  • "Try It Now"

  • "View Plans"

  • "Take the Tour"

Weak CTAs:

  • "Click Here"

  • "Learn More" (sometimes okay)

  • "Submit"

  • "OK"

Timing Best Practices

New Users

Time
Message Type

Day 1

Welcome modal, onboarding checklist

Day 3

Feature discovery hints

Day 7

Check-in, value reinforcement

Day 14

Upgrade prompt (if free)

Established Users

  • Announce features when relevant

  • NPS after 30+ days

  • Re-engage after 7+ days inactive

Trigger on Actions

Better than time-based:

Design Best Practices

Visual Hierarchy

  1. Headline - Biggest, boldest

  2. Key message - Clear and scannable

  3. CTA - Prominent, clickable

Colors

  • Match your brand - Consistency builds trust

  • Contrast matters - Text must be readable

  • Use color purposefully - Red for warnings, green for success

Images

  • Add value - Don't use decorative images

  • Show the feature - Screenshots > stock photos

  • Optimize size - Don't slow page load

Mobile

  • Test on mobile - Many users are mobile

  • Keep text short - Less space available

  • Ensure tap targets - Buttons must be tappable

Checklist Best Practices

Item Count

  • 5-7 items ideal - Achievable but comprehensive

  • Too few (2-3) - Doesn't feel valuable

  • Too many (10+) - Overwhelming, low completion

Item Quality

  • Specific actions: "Create your first project" > "Get started"

  • Achievable: Each item completable in minutes

  • Valuable: Every item teaches something useful

Completion Types

Use Manual
Use Automatic

Reading docs

Creating something

Watching videos

Inviting someone

Acknowledging info

Using a feature

Progress Motivation

  • Always show progress bar - Motivates completion

  • Celebrate completion - Thank users when done

  • Consider rewards - Unlock something upon completion

Feedback Best Practices

When to Ask

  • Not too early - Wait until they've experienced value

  • Not during critical flows - Don't interrupt work

  • After positive moments - Just completed something? Good time.

Question Design

  • One question - Surveys ≠ interrogations

  • Be specific - "Rate dashboard usability" > "Rate our product"

  • Make it quick - 5 seconds to complete

NPS Guidelines

  • Wait 30+ days - They need experience to judge

  • Target active users - Inactive users skew results

  • Don't over-ask - Once per quarter max

Act on Feedback

  • Review regularly - Weekly at minimum

  • Follow up on low scores - Reach out personally

  • Close the loop - Tell users when you fix things

Testing Best Practices

Before Launch

  1. Test on yourself (target by email)

  2. Check mobile appearance

  3. Verify links work

  4. Test dismiss behavior

  5. Check targeting logic

A/B Testing

Test one variable at a time:

  • Headline A vs Headline B

  • CTA text variations

  • Different images

  • Modal vs banner

Measure Success

Metric
Good Sign
Bad Sign

CTR

>10% (modal)

<2%

Completion rate

>50% (checklist)

<20%

Dismissal rate

<30%

>70%

NPS response rate

>20%

<5%

What to Avoid

Don't

  • ❌ Show modals on every page load

  • ❌ Make messages impossible to dismiss

  • ❌ Use dark patterns ("Not interested" vs "No thanks, I hate saving money")

  • ❌ Send the same message repeatedly

  • ❌ Block critical user workflows

  • ❌ Use misleading CTAs

Do

  • ✅ Respect user attention

  • ✅ Provide clear dismiss options

  • ✅ Be honest and direct

  • ✅ Test before launching

  • ✅ Monitor analytics

  • ✅ Iterate based on data

Quick Reference

Message Frequency

Type
Max Frequency

Modals

1 per session

Banners

1-2 concurrent

Checklists

1 active

Feedback

1 per month

Targeting Priorities

  1. User stage (new/established)

  2. Plan level

  3. Behavior (events)

  4. Page context

Content Length

Element
Ideal Length

Headline

5-8 words

Body

2-3 sentences

CTA

2-4 words

Checklist item

5-10 words

Last updated