Audience triggers
How to Trigger an A/B Test After Visitor Inactivity
★☆☆ Technical level 1 of 3
Written by Neil Webley · Last updated
Learn how inactivity triggers work and use an idle timeout to test timely help, popups or page changes when a visitor pauses.
What is a visitor inactivity trigger?
A visitor inactivity trigger waits until somebody has stopped interacting with a web page for a chosen period. When that time has passed, the website can display relevant help, reveal a message or make another tested change.
Inactivity can be a useful sign of hesitation, but it does not prove that somebody is stuck. They may be reading, comparing information, looking for a payment card or speaking to somebody nearby. The trigger should therefore offer assistance without assuming that the visitor has a problem.
An inactivity trigger is sometimes called an idle timeout, idle timer or inactivity timeout. It works on desktop, mobile and tablet devices because it does not depend on mouse pointer movement. It is not only a mobile alternative to exit intent. A desktop visitor can also become inactive and enter a test through the same rule.
How does an inactivity timer work?
The timer starts when the page loads and counts the time since the visitor's most recent interaction. Activity resets the timer, so the full configured period must pass again before the trigger can become true.
FreeCROTool treats clicks, scrolling, touches, key presses and mouse movement as activity. For example, if the inactivity period is 30 seconds and the visitor scrolls after 20 seconds, the timer returns to zero. The test only becomes eligible after another uninterrupted 30 seconds.
The inactivity period is measured in seconds. A value of 30 means the visitor must have no detected interaction for 30 consecutive seconds before the audience rule becomes true.
The timer controls when the visitor becomes eligible to enter the test. It does not tell you why they paused, so the content shown after the trigger should be easy to dismiss and genuinely helpful.
When should I use an inactivity trigger?
Use an inactivity trigger when a pause creates a sensible opportunity to help the visitor continue. Good candidates are journeys where people commonly need time to understand information or complete a demanding task.
- A long form could offer help with a difficult field or explain how progress is saved.
- A checkout could clarify delivery, returns or payment questions.
- A pricing page could provide a link to compare plans or contact support.
- An application process could remind visitors what information they need next.
- A content page could suggest a relevant guide after a reader has paused.
Do not show a popup simply because a timer has expired. Start with evidence about where visitors hesitate, such as analytics, recordings, surveys, support questions or user research. Design the intervention around that problem and test it against the existing experience.
How long should the inactivity period be?
There is no universal delay. Thirty seconds can be a practical starting point for a mobile prompt, but it may be too short for a page containing detailed information. A delay that works for a short checkout step may interrupt somebody who is carefully reading a longer application.
Choose the period using observed behaviour where possible. Look at how long successful visitors normally spend on the page and how quickly they interact. The prompt should appear after a meaningful pause, not during ordinary reading or form completion.
Test the delay on real devices. Check whether normal scrolling, tapping and typing keep resetting the timer as expected, and make sure the intervention does not appear while somebody is actively using the page.
Inactivity trigger or exit intent?
Inactivity and exit intent describe different behaviours. An inactivity trigger responds to a lack of interaction over time. Exit intent responds when a desktop pointer moves towards the top of the browser, suggesting that the visitor may use a browser control.
- Use inactivity when a pause may indicate hesitation. The trigger works across desktop, mobile and tablet devices.
- Use exit intent when the intervention is specifically intended for desktop visitors who appear ready to leave.
Touch devices do not provide the pointer movement used by traditional exit intent. Inactivity is therefore a useful mobile alternative, although it should not be described as detecting that the visitor is about to leave. Inactivity remains equally available for desktop tests when a lack of interaction is the relevant signal. For the separate desktop exit behaviour, read how exit intent works and how to show an exit popup.
Set up an inactivity-triggered test in FreeCROTool
FreeCROTool provides inactivityPeriod as an audience rule. The audience determines when a visitor can enter the test, while the test variants determine what happens after entry.
- Open the project and create an audience for the visitors you want to target.
- Add the inactivityPeriod rule.
- Enter the required period in seconds, such as 30.
- Add any required device or campaign conditions to the audience.
- Create or open the test and select the pages where it is allowed to run.
- Attach the inactivity audience to the test.
- Configure each variant to show the appropriate help, popup or page change.
- Set the test to Staging, publish the Workspace and test every variant before making it live.
Keep the rule as simple as the hypothesis allows. If the mobile and desktop experiences need different layouts, messages or delays, create separate audiences so they can be tested and checked independently. For more detail about combining conditions, read how to create an audience for an A/B test.
Prevent the experience from appearing repeatedly
An inactivity rule can become true again after further activity and another idle period. If repeatedly applying the popup or page change would be intrusive, use the test-level cooldown in Settings, then Details.
- Select Do not show this test again for.
- Enter a positive number.
- Select the appropriate time unit.
- Save the test and publish the Workspace when the change is ready.
The cooldown suppresses transforms, not tracking. FreeCROTool temporarily avoids reapplying the popup or other tested page changes. It continues tracking configured page visits for visitors assigned to the control or a variant because their earlier test experience may still influence what they do next.
Choose a cooldown that matches the journey and how disruptive the intervention is. The setting belongs to the whole test and is available for other test types, not only inactivity-triggered tests.
Test the message and measure the final outcome
Different pauses may need different responses. One variant might offer contextual help, another might clarify a common concern, while the control keeps the existing experience. FreeCROTool can divide traffic between these versions so you can compare their effect.
Use a meaningful final conversion to judge the test, such as a completed purchase, enquiry or application. Popup opens and clicks can help explain behaviour, but they do not prove that the intervention improved the visitor's outcome.
Define the primary conversion before launch and avoid changing the message, delay and design at the same time unless the complete combination is your hypothesis. Keeping the test focused makes the result easier to interpret.
Before publishing
- Test the control and every variant in Staging.
- Confirm the test runs only on the intended pages and for the intended audience.
- Verify clicks, scrolling, touches, key presses and mouse movement reset the timer.
- Wait for the complete inactivity period and confirm the experience appears once.
- Check the popup or page change on desktop, mobile and tablet layouts.
- Test keyboard access, focus order, dismissal and screen-reader labels.
- Verify the cooldown suppresses repeated transforms without stopping configured page tracking.
- Confirm impression and conversion tracking before starting the experiment.