Painpoints
Painpoints are retention rules that automatically filter which sessions are kept based on user behavior. This helps you focus on the sessions that matter most while reducing storage costs.
How It Works
When a session ends, Recapt evaluates it against your configured painpoints:
- If any enabled painpoint is triggered, the session is retained
- If no painpoints are triggered, the session is automatically deleted
- If the "Track All" painpoint is enabled, all sessions are retained
If you have no painpoints configured, all sessions are retained by default.
Creating Painpoints
- Navigate to Sessions in your Recapt dashboard
- Click on the Painpoints tab or icon
- Click Create Painpoint
- Configure the painpoint settings
- Click Save
Available Triggers
Track All Sessions
Retains every session regardless of user behavior. Use this when you want to capture everything.
| Setting | Value |
|---|---|
| Trigger | track-all |
| Configuration | None required |
Behavior Triggers
Click
Retains sessions where users clicked anywhere on the page.
| Setting | Value |
|---|---|
| Trigger | click |
| Configuration | None required |
Dead Click
Retains sessions where users clicked on elements that appeared interactive but didn't respond. Dead clicks often indicate UI confusion or broken elements.
| Setting | Value |
|---|---|
| Trigger | dead-click |
| Configuration | None required |
Example dead clicks:
- Clicking on text that looks like a link but isn't
- Clicking on disabled buttons that look enabled
- Clicking on images that look like buttons
Rage Click
Retains sessions where users rapidly clicked multiple times in frustration. Rage clicks typically indicate user frustration or unresponsive UI.
| Setting | Value |
|---|---|
| Trigger | rage-click |
| Configuration | None required |
Page Triggers
Navigation
Retains sessions that visited specific pages. Use this to focus on key pages like checkout, signup, or error pages.
| Setting | Value |
|---|---|
| Trigger | navigation |
| Configuration | Page path (e.g., /checkout, /signup) |
Examples:
/checkout- Capture all checkout sessions/pricing- See how users interact with pricing/error- Capture sessions that hit error pages
Page paths support partial matching. /checkout will match /checkout, /checkout/payment, and /checkout/confirmation.
Action Triggers
Custom Action
Retains sessions where users performed specific tracked actions. Actions are custom events you've defined in your application.
| Setting | Value |
|---|---|
| Trigger | action |
| Configuration | Select from your defined actions |
Tag
Retains sessions with specific tags applied. Tags can be added manually or programmatically to sessions.
| Setting | Value |
|---|---|
| Trigger | tag |
| Configuration | Select from your defined tags |
Error Triggers
Console Error
Retains sessions that encountered JavaScript console errors. Optionally filter by error message.
| Setting | Value |
|---|---|
| Trigger | console-error |
| Configuration | Error message (optional, supports partial match) |
Examples:
- Leave empty to capture all errors
TypeError- Capture type errorsNetwork Error- Capture network-related errorsCannot read property- Capture common undefined errors
Console Warning
Retains sessions with console warnings. Similar to console errors but for warnings.
| Setting | Value |
|---|---|
| Trigger | console-warn |
| Configuration | Warning message (optional, supports partial match) |
Time-Based Triggers
Active Duration
Retains sessions where users were actively engaged for a minimum amount of time. Active time excludes periods of inactivity.
| Setting | Value |
|---|---|
| Trigger | active-duration |
| Configuration | Minimum duration (HH:MM:SS format) |
Examples:
00:05:00- Sessions with 5+ minutes of activity00:00:30- Sessions with 30+ seconds of activity01:00:00- Sessions with 1+ hour of activity
Managing Painpoints
Enabling/Disabling Painpoints
Each painpoint can be toggled on or off:
- Go to Sessions > Painpoints
- Find the painpoint you want to toggle
- Click the toggle switch to enable/disable
Disabled painpoints are ignored during session evaluation.
Editing Painpoints
- Go to Sessions > Painpoints
- Click the edit (pencil) icon on the painpoint
- Modify the settings
- Click Save
Deleting Painpoints
- Go to Sessions > Painpoints
- Click the delete (trash) icon on the painpoint
- Confirm the deletion
Deleted painpoints cannot be recovered. Sessions that were already retained will remain, but future sessions will be evaluated without this painpoint.
Painpoint Combinations
Multiple painpoints work together with OR logic:
| Painpoints Enabled | Session Retained If... |
|---|---|
| Dead Click, Rage Click | User performed a dead click OR rage click |
Navigation /checkout, Console Error | User visited checkout OR had a console error |
| Track All | Always (all sessions retained) |
Recommended Configurations
E-Commerce Sites
Focus on conversion and checkout issues:
- Navigation →
/checkout,/cart,/payment - Dead Click → Capture UI confusion
- Rage Click → Capture frustration
- Console Error → Capture technical issues
SaaS Applications
Focus on onboarding and key features:
- Navigation →
/onboarding,/setup,/dashboard - Active Duration →
00:10:00(engaged users) - Console Error → Technical issues
- Dead Click → UI problems
Support-Focused
Capture sessions likely to generate support tickets:
- Console Error → All errors
- Rage Click → User frustration
- Navigation →
/help,/support,/contact
Full Capture (Testing/Debugging)
Capture everything during development:
- Track All → Retain all sessions
Best Practices
-
Start Broad, Then Narrow: Begin with fewer, broader painpoints and refine based on what you learn
-
Always Capture Errors: Console errors are valuable for debugging; consider always having an error painpoint enabled
-
Focus on Key Flows: Identify your most important user journeys and create painpoints for those pages
-
Review Regularly: Periodically review which painpoints are triggering and adjust as needed
-
Balance Coverage and Cost: More painpoints = more retained sessions = higher storage usage
Session Filtering
Even with painpoints configured, you can filter sessions in the dashboard:
- Go to Sessions
- Use the Triggered Painpoints filter
- Select specific painpoints to see only sessions that triggered them
This helps you focus on specific types of sessions even when retaining broadly.