Can I set a daily limit up top of the sampling rate of 1% for session replay to ensure it last the entire month or can it be set to capture only when an event property or user property is set to xyz for example that is more useful
Hi event, Please stand by as I search the Mixpanel knowledge base for an AI-powered answer. I normally take about 15 seconds or so. In case AI cannot answer your question, feel free to reach out to Mixpanel support at mixpanel.com/get-support. If you have follow-up questions for this thread, please tag me again with your question: @kapa.ai <follow-up question> 👋
Feel free to ask a follow-up question once I've answered by mentioning me with @kapa.ai
Mixpanel doesn’t document any daily replay limit configuration on top of the sampling rate. The SDKs only expose: - A sampling percentage (e.g., record_sessions_percent for web, recordingSessionsPercent for iOS/Android) to control what share of sessions are recorded overall.[JS config][Swift/Android sampling]
- Time-based controls like idle timeout and max replay length for web.[JS config] There is no documented way to say “record up to X replays per day” directly in Mixpanel’s configuration.However, you can make capture conditional on events or properties using manual start/stop logic:
Web
Set sampling very low or to 0, and explicitly start recording when your condition is met: js mixpanel.init("<YOUR_PROJECT_TOKEN> ", { record_sessions_percent: 0 // or very low });LBKS// When a certain user or event property is true: if (user.plan === 'xyz') { mixpanel.start_session_recording(); }LBKS// When you want to stop: mixpanel.stop_session_recording();LBKSManual start/stop is explicitly supported for targeting certain user types or features.[JS manual capture]
iOS / Android
Similar pattern with .startRecording() / .stopRecording(): LBKS// iOS example – only record for users with property xyz if user.plan == "xyz" { MPSessionReplay.getInstance()?.startRecording() } else { MPSessionReplay.getInstance()?.stopRecording() }LBKSLBKS// Android example if (user.plan == "xyz") { MPSessionReplay.getInstance()?.startRecording() } else { MPSessionReplay.getInstance()?.stopRecording() }LBKSThe docs call out exactly these use cases: only certain user types or when specific features are used.[Swift manual][Android manual]
Summary
- Daily cap: Not documented/supported as a built-in control. - Property-based capture: Yes, supported via your own app logic + manual start/stop methods on web, iOS, and Android, which is closer to what you describe as “more useful.”
kapa.ai is still learning and improving, please let me know how I did by reacting below.
ℹ️ Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.
