All Collections
Best practices and troubleshooting
How to create a non-spammy experience
How to create a non-spammy experience

It's easier said than done, especially when multiple PMs, designers, or marketers are simultaneously launching experiences.

Emily Wang avatar
Written by Emily Wang
Updated over a week ago

In order to create an effective everboarding experience across a customer's lifecycle, they have to feel like the experiences they're getting are high quality, highly relevant, and not spammy.

But we've all experiences those moments when an app inundates us with announcements of new features, followed by more announcements of upcoming marketing events, followed by more "useful" tips and tricks. Together, it can be just too much.

Here are a set of recommendations from least to most disruptive, and how we'd recommend leveraging the library of components you have with Bento.

First: do not target to "everyone"

The first rule of not being spammy is to choose your audiences tightly. Any attributes passed into Bento directly or via our integrations can help you achieve this.

You can quickly scan your targeting rules by hovering over guide names in the library. A hovercard will show you whether rules are set, or if they're targeting all users and all accounts.

Second: choose components thoughtfully

Bento offers a wide library of components so you can use an effective portfolio strategy, versus being constrained to just pop up messages. Here's our take on their level of disruption, as well as the complexity of design decisions that need to be made.

Embedded onboarding, embedded cards

Disruption level: low

Design complexity: med-high

👇Example of a card asking for feedback on more integrations, put directly onto the page

Users rarely (never?) complain that a page happened to have helper text. Or an empty state. Or a page had helpful content. There's something about being part of the the product instead of an overlay that evokes a different level of responsiveness from a user.

Embedded onboarding guides and cards allow you to extend your actual product and experiment with personalized messaging or CTAs.

💡 Tip: Work with your product designer to designate certain parts of pages in your app for "everboarding". Eng can make empty divs to hold the place. If there's a guide that's relevant, it'll show up! If not, end users won't see anything.

Tooltips and contextual guides launched by visual tag

Disruption level: low - med

Design complexity: med

Visual tags are similar to embedded components in that they just fit into the page. Users can hover on them and choose to "see more" and open a sidebar contextual guide, or hover on them to see the tooltip.

The branding of visual tags – everything from color, shadow, radius, and icons, can be controlled in Styles.

Floating banners

Disruption level: low - med

Design complexity: low

These are commonly used to announce an upcoming marketing event, or maintenance window. While not very intrusive, users also tend to have a "blindness" about them.

Modals

Disruption level: high

Design complexity: low

These takeovers are effective at capturing a user's attention, but are highly disruptive.

  • You can style them to be smaller, or load from part of the screen, instead of a full page takeover

  • Bento helps here by automatically throttling modals that are set to "launch on page load" to 1 per user session. Read more here.

Tooltips launched on page load

Disruption level: high

Design complexity: med

Similar to a modal, anytime an element pops up, and requires explicit dismissal, is considered disruptive. Pay particular attention to multiple tooltips (i.e. a product tour) that can't be dismissed without requiring users to engage.

💡 Tip: If you want to create a multi-tooltip experience (for example, for introducing new UI), consider only making the first one show on load.

  • Parent tooltip: tell users that there's something new, and ask them if they want to see more hints/tips

  • One of your calls-to-action ("Yes! show me more") can launch a "child tooltip" (i.e. tooltip #2)

  • Then, you can have all other tooltips targeting "Guide received = [child tooltip]"

Finally: Stack rank ruthlessly

Prioritizing guides among each other is actually required when launching. This way, we know how to handle situations where multiple guides are all eligible to be shown at once.

You can get a quick view of the priority across all auto-launched guides from the Guide Library.

While this doesn't (yet) solve the problem of: "how can I control the overall number of experiences across a user's web session" we have started by ensuring that only 1 modal (usually used for feature announcements) will be shown per session (read more here)...and more coming soon.

Did this answer your question?