Display Behavior
The Keep'em widget is intelligent about when to show and when to stay hidden. You don't need to implement this logic — the widget handles it automatically based on the viewer's status.
Decision Logic
When the widget loads, it checks the viewer's status and decides whether to display:
- Already completed? → Don't show. They've watched the video.
- Opted out? → Never show. They clicked "Don't show again."
- Dismissed recently? → Don't show until the cooldown passes (configurable, default 3 days).
- Dismissed too many times? → Stop showing (configurable, default 3 dismissals).
- Otherwise → Show the video.
Dismissal vs. Opt-Out
Dismissal is temporary. The viewer closes the popup but hasn't explicitly asked to never see it again. After the cooldown period (configurable), the video will reappear on their next visit.
Opt-out is permanent. The viewer clicks "Don't show this again" and the video never appears for them again (unless the merchant resets their status via the dashboard or API).
Completion
Completion is determined by the event's completion threshold (default: 80%). Once a viewer's highest progress point across all sessions reaches this threshold, they're marked as completed. The widget will not show for completed viewers.
Configuration Options
Keepem.init({
// ... other config
display: {
mode: 'popup', // 'popup', 'inline', or 'trigger'
delay: 2000, // Milliseconds before showing (popup mode)
dismissCooldownDays: 3, // Days before re-showing after dismissal
maxDismissals: 3 // Stop showing after this many dismissals
}
});Display modes:
popup— Appears as an overlay after a configurable delayinline— Renders in a specific container element on the pagetrigger— Stays hidden until a specific event (e.g., button click)