Keep'emKeep'em
Embedding

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:

  1. Already completed? → Don't show. They've watched the video.
  2. Opted out? → Never show. They clicked "Don't show again."
  3. Dismissed recently? → Don't show until the cooldown passes (configurable, default 3 days).
  4. Dismissed too many times? → Stop showing (configurable, default 3 dismissals).
  5. 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 delay
  • inline — Renders in a specific container element on the page
  • trigger — Stays hidden until a specific event (e.g., button click)