---
title: Visitor's time filter
slug: visitors-time
description: How the Visitor's time filter works in Personizely: target by the hour on the visitor's device, start and end rules, overnight ranges, and when it's checked.
image: https://archbee-image-uploads.s3.amazonaws.com/1y1Fr-DMGy_apx7FwibyA/ORDTWfNKMXiY3ZRv0QSgP_personizely-docs-og.png
docTags: 
createdAt: 2026-10-17T09:49:44.352Z
---

The Visitor's time filter matches visitors by the current hour on their own device, in their own time zone. Use it for time-of-day messaging, such as a "late-night deal" popup or a lunch-hour offer, wherever your visitors are.

**Available on:** all platforms.

## How it's evaluated

The filter reads: **The time on visitor's device is between** \[from] **and** \[to].

It uses the clock and time zone of the visitor's device. It matches when the current hour is at or after **from** and before **to**. For example, 09:00 to 17:00 matches from 9:00:00 until 16:59:59.

Campaigns check it on each page load. Widgets with a [Target rule](https://docs.personizely.net/target) check it again when their trigger fires, so a widget triggered at 17:01 doesn't show for a 09:00 to 17:00 range even if the page was opened at 16:55.

## Options

| Option | What it does                                                                   | Values / default                               |
| ------ | ------------------------------------------------------------------------------ | ---------------------------------------------- |
| From   | Start of the range, included                                                   | Whole hours, 00:00 to 23:00. Default **22:00** |
| To     | End of the range, not included. **00:00** means midnight at the end of the day | Whole hours, 00:00 to 23:00. Default **00:00** |

## Behavior details

- **Whole hours only.** You can't set minutes, such as 09:30.
- **A range can't cross midnight.** **To** must be later than **From**, or 00:00. For 22:00 to 06:00, add two Visitor's time filters, 22:00 to 00:00 and 00:00 to 06:00, to one group set to **match any**.
- **00:00 to 00:00 matches the whole day.**
- **It's the visitor's time, not your store's.** A visitor in Tokyo and one in New York see a 12:00 to 14:00 widget at their own lunchtime. To use one fixed time for everyone, convert it to each audience's time zone and combine with the [Location filter](https://docs.personizely.net/location).
- **The device clock decides.** If a visitor's device clock or time zone is set wrong, the filter follows it.
- **Days and dates.** This filter only looks at the hour. For widgets, use the [Days of week](https://docs.personizely.net/days-of-week) and [Timeframe](https://docs.personizely.net/timeframe) rules to limit by weekday or date range. For campaigns, schedule start and end dates on the campaign itself.

## Examples

- **Night owl offer:** 22:00 to 00:00 plus 00:00 to 02:00 in a **match any** group, as the Target rule of a popup with a "midnight sale" code.
- **Business hours chat prompt:** 09:00 to 17:00, combined in a **match all** group with "Location is one of United Kingdom", for a callout that offers live chat.
- **Morning hero test:** an A/B test on the homepage hero targeted to 06:00 to 11:00, testing breakfast-themed creative against the default.

## Related

- [Targets](https://docs.personizely.net/targets)
- [Days of week rule](https://docs.personizely.net/days-of-week)
- [Timeframe rule](https://docs.personizely.net/timeframe)
- [Weather filter](https://docs.personizely.net/weather)
- [Dynamic text](https://docs.personizely.net/dynamic-text)
