TL;DR: Most mobile teams treat bottom sheets and modals like they're just stylistic choices. They're not. Each format makes a fundamentally different promise to the user about whether you're moving their journey forward or stopping it completely. Get this wrong, and you introduce friction that quietly poisons your entire engagement funnel. So let's break down what each one really does, where it belongs, the mistakes groups consistently get wrong, and how you can build a decision framework that actually works.
The Format Is Part of the Message
Growth teams rarely ask the question. But every user answers it instantly: is this helping me, or is it just in my way?
Think about it. When someone opens your fintech app to check their portfolio and a full-screen modal immediately blocks them, asking for an upgrade, they don't weigh the offer's merits. They react to the interruption. The format itself, the hard stop, has already framed their entire emotional response before they've even read a single word of your copy.
This isn't intuitive for most teams. Why? Because their tools push them in the wrong direction. The campaign dashboard puts all the focus on the copy or the targeting logic, but the format is just a dropdown at the bottom of the screen, an afterthought. But format is anything but an afterthought. It communicates something completely separate from the content, telling users if this is part of their flow, a helpful addition, or a roadblock demanding their immediate attention.
Get that signal wrong, and it won't matter how good everything else is. You'll tank your conversion rate. This article is about getting it right.
This is the third piece in Digia's Engagement and Lifecycle series. If you haven't read the first two posts, on what server-driven UI for engagement actually is and how to eliminate app release dependencies for faster experiments, you should probably start there. This piece assumes you understand the delivery architecture. Here, we're talking about the design decisions that sit on top of it.
First, Let's Be Precise About What These Are
Product teams use these terms loosely. And loose terminology leads to loose decisions, so before we get to the framework, let's nail down what we're actually talking about.
First up, the bottom sheet. It's a panel that slides up from the bottom edge of your screen, sitting right on top of the existing content. The key is that the user's current context, the screen they were just on, the task they were doing, remains partially visible behind it. Some you can dismiss with a swipe. Others require an explicit action to move forward. they're the natural continuation format in mobile UI: a way of saying "here's something relevant to what you're doing, right at the edge of your current world."
Then you have the modal. It's a full overlay that completely hijacks the screen's focus, either by dimming the background or replacing it entirely. Nothing else matters. The user can't interact with anything behind it; they have to deal with the modal first. It's the UI equivalent of shouting, "Stop everything, this needs your attention *right now*."
What about an inline component? It's embedded directly within the content flow. No overlay, no interruption. Think of a widget plopped in the middle of a feed, a banner tucked inside a card, or even a persistent sticky element at the top or bottom of the screen. These basically say "this is part of your environment, it's here if you want it, and you can ignore it if you don't."
These aren't just different visual styles. Not at all. Each one creates a fundamentally distinct relationship between your engagement campaign and whatever the user is trying to do at that moment. And that relationship is everything, it's what decides whether your campaign actually converts or just creates a bunch of friction.
The Core Tension: Interruption vs. Continuation
Every in-app engagement format sits on a spectrum. It's either an interruption or a continuation.
Interruption is simple. It means you're blocking the user's current task, forcing them to pause whatever they were doing to pay attention to *you*. While this definitely grabs their attention, it comes with a cost: you're basically announcing that your goal matters more than theirs, at least for this moment. People will put up with that for something genuinely important. They resent it when it happens repeatedly for things they couldn't care less about.
Continuation is the opposite. The user's goal is still right there in view. Your engagement just adds a relevant layer to what they're already doing. Attention capture is lower, sure, but so is the friction. Because you're not fighting their intent, you're working with it, users are much more receptive.
So where do most teams go wrong? They default to interruption formats because they feel more "prominent." A big modal feels important, so it gets used for things that aren't nearly key enough to justify bringing everything to a halt. A bottom sheet, on the other hand, feels subtle and gets dismissed as less effective, even in situations where a quiet approach is exactly what would have worked.
Stop asking, "Which format is more visible?" That's the wrong question. The real question is this: what's the user trying to do right now, and does my engagement support that or compete with it?
The answer to that question tells you which format to use. Everything else, the copy, the design, the personalization, it all just follows.
Why Format Directly Impacts Conversion
This isn't just theory. We can actually measure the link between how you ask for engagement and your conversion rate, and the research shows a clear pattern.
A Nielsen Norman Group study on mobile UX found that modal dialogs get closed almost instantly when users feel like they're being blocked from doing something. The content of the pop-up didn't even matter. The closing behavior was a reaction to the interruption itself, not a lack of interest in the offer.
But what about contextual bottom sheets? These are the ones that appear at a logical transition point, not in the middle of a task, and they perform substantially better in the same research. The reason is simple: the user is at a natural pause point and is open to adjacent information, so the format signals relevance instead of making a demand.
Spotify gets this right. Instead of blocking your listening experience with a full-screen premium upsell (the worst possible moment), they show upgrade messages in bottom sheets or inline banners right when you've hit a constraint, like running out of skips or hearing an ad. The format matches the moment perfectly because you're already in a decision context. The ad doesn't create the context; it meets you inside of one.
This is the principle that should guide your choice. The format you choose has to match the user's actual readiness to make a decision, rather than just reflecting the grand scale of whatever ambition you have for the campaign.
When Bottom Sheets Are the Right Choice
Bottom sheets have a sweet spot. They work best when the thing you're showing is directly relevant to what the user is currently focused on, but not so pressing that it demands they drop everything else.
The clearest use case? Post-action prompts. The user just did something significant, like completing a transaction, finishing step three of onboarding, or making their first investment. They're at a natural pause. A bottom sheet can build on that action, offering a related next step, confirming completion, or suggesting a feature they haven't tried, and arrives at a moment of perfect receptivity. The task is done. The user is momentarily open. A bottom sheet just sits in that gap without demanding a thing.
They're also great for nudges during exploration. Think about when a user is just in discovery mode, scrolling a product feed, browsing through content, or poking around in the menu options, and you'll see they're totally open to adjacent information. A bottom sheet that surfaces a recommendation, a limited offer, or a feature highlight fits right into that flow. It's not a stop sign. It's a signpost.
Then there are multi-step flows. If you need to walk a user through a few steps, for a quick quiz, a preference setup, or a personalized recommendation flow, a bottom sheet is almost always the right container. It gives you a contained, scrollable surface without kicking the user off their current screen. The context stays grounded below, which massively reduces the cognitive strain of going through a complex process.
And low-stakes opt-ins. Notification permission requests, feature feedback, review requests: all of these belong in bottom sheets. They're asking for something small, and the format should signal that smallness. A modal for a push notification permission request is a massive overclaim, it says "this is critical" when it absolutely isn't. A bottom sheet just says "this is available and easy," which is exactly the tone that converts.
Here's where they fail: urgency. If your campaign genuinely requires the user's immediate and complete attention, a session expiry warning, a security alert, a confirmation before a destructive action, a bottom sheet is the wrong tool. Users are conditioned to dismiss them without reading carefully. When you need them to read carefully, you need a different format.
When Modals Are the Right Choice
Modals are for emergencies. They're meant for high-priority moments that genuinely justify yanking the user out of whatever they were doing, and frankly, the bar for that's way higher than most teams think.
The valid uses are narrow:
Irreversible or high-stakes confirmations. Think about decisions with real consequences: "Are you sure you want to delete your account?" or "This transfer can't be reversed." Users get it. A modal here isn't annoying at all; it's protective, and it's exactly the kind of thing people expect and trust you to do.
First-session onboarding gates. A modal makes sense when someone opens your app for the very first time but still has a mandatory setup step to finish, like KYC for a fintech app or just creating a basic profile for a social one. They can't fully use the product yet. The pop-up is an honest signal of that.
Security and permission escalations. Biometric setup, two-factor authentication, payment confirmation, these are moments where the system needs the user's deliberate, focused attention. These aren't marketing campaigns. They're system requirements. This is what modals were built for.
Time-sensitive alerts. A sale ending in 30 minutes. A booking about to expire. When the value of something is decaying fast, a modal's interruption cost is absolutely worth paying because the only other option is watching that conversion disappear completely.
See the pattern here? The user, if you asked them, would probably agree that stopping them was a reasonable thing to do. If you can't say that about your campaign, don't use a modal.
So here's what teams should do: ruthlessly audit every single modal in their engagement stack and kill anything that doesn't fit one of these categories. Promotional pop-ups on app open are the worst offenders. You're blocking people before they've even done anything. There's no task to interrupt. No context. The only signal you're sending is that your priorities outrank theirs. Users close these things. Often, they just close the app.
When Inline Components Are the Right Choice
Inline components just don't "feel" like engagement campaigns. Widgets, banners, embedded cards, they're chronically underused because there's no trigger, no animation, no clear moment of delivery. They're just there.
And that's precisely why they work.
Persistent awareness nudges. If you want a user to know a feature exists without derailing their session, an inline widget in the home screen feed is the perfect format. A user who spots a "New: SIP Calculator" card in their portfolio three times over a week will click it when they're finally ready. A modal asking them to try the calculator on their second visit might convert once, sure, but it's far more likely to just create resentment twice.
Ambient upsell placements. The Amazon model is the classic example: "frequently bought together" and "you might also like" are placed right inside the cart and product screens. These are engagement campaigns. they're revenue-driving nudges. But they feel like content, because they're embedded in the exact context where they're genuinely useful. A modal or bottom sheet with the same offer would feel like an ad; the inline placement makes it feel like a service.
Social proof and urgency signals. "Only 2 left at this price" inside a product card, or "12 people are viewing this" placed directly within the listing, these are inline engagement mechanics that use format to eliminate friction. They can't be modals. They absolutely need to be part of the decision-making context the user is already in.
So what's the limitation here? Inline components have low guaranteed attention capture. A user can and will scroll right past them. If your campaign's success depends on the user seeing it *right now*, inline isn't the right choice. But if your campaign's success depends on it being available at the exact moment when the user is ready, inline is often the only format that won't actively work against you.
The Mistakes Teams Actually Make
These aren't edge cases. Every mobile engagement team that doesn't think deliberately about format runs headfirst into at least one of them.


