Page view history filter
The Page view history filter matches visitors by how many pages they've viewed on your site, optionally only certain pages, for a minimum or maximum total time, and within a date window or the current visit. Examples: "viewed at least 3 product pages during this session", or "viewed /pages/pricing at least once in the last 7 days".
Available on: all platforms. Plan: Premium.
How it's evaluated
Personizely counts the visitor's page views that pass every option you turn on (Page, duration, date window) and compares the count with your number.
- A page view is recorded for each page load, and for each page change in single-page storefronts. Only the page's path is recorded (for example /products/linen-shirt); the domain and query string are not.
- The current page doesn't count when the page loads. Campaigns, and widgets that show on page load, see only earlier page views.
- Visitor history loads first. Filters that need visitor history may take a moment to resolve; content that depends on them stays hidden until they do. With During this session, the filter resolves right away.
Options
The filter reads: Viewed at least / less than N pages, with three optional settings you turn on with their checkboxes.
Option | What it does | Values / default |
|---|---|---|
at least / less than | "At least N" includes N; "less than N" excludes it | at least |
N | The number of page views to compare with | Default 1 |
Page (optional) | Count only page views whose path matches this pattern | Off. Example: /products/* |
With a total duration of N seconds or more / less (optional) | Also require the total time spent on the counted pages to be at least (more) or at most (less) N seconds | Off. more, 0 seconds |
Date window (optional) | Count only page views in the window | Off |
In the last N days | From the start of the day N days ago until now | Default 3 days |
On or after / Before | On the selected date or later / before it | Date |
During this session | Only page views in the visitor's current visit | |
Page patterns
Patterns are matched against the whole path. * is a wildcard, and it behaves slightly differently with During this session:
Pattern | Date windows, or no window | During this session |
|---|---|---|
/pages/pricing | That path only | That path, with or without a trailing slash |
/products/* | Every path starting with /products/, at any depth | One path segment after /products/ (for example /products/linen-shirt) |
/products/** | Same as /products/* | Any path under /products/ |
/*/products/* | Paths with at least one segment before /products/, such as /fr/products/linen-shirt or /collections/sale/products/linen-shirt | Exactly one segment before and after /products/, such as /fr/products/linen-shirt |
For product pages on Shopify, /products/* gives the same result in every mode, because product URLs have one segment after /products/.
Behavior details
- Both conditions must pass with duration. With a duration, the visitor must have the required number of page views and the required total time on those pages.
- Time on page is recorded when the visitor leaves a page. The current page's time isn't included, and a page whose exit the browser didn't report (for example when the browser was closed abruptly) adds no time.
- Query strings are ignored. /collections/sale?page=2 is recorded as /collections/sale. To target by URL parameters, use the Query string filter or the Query string rule.
- New visitors have 0 page views before the current one, so "at least" doesn't match them on their first page and "less than" does.
- Per browser. Page views are counted for the visitor's browser profile; clearing cookies or switching device starts again at 0.
- Paths are compared as text. Use the path exactly as it appears in your URLs.
Examples
- Engaged product browsers: Viewed at least 3 pages, Page /products/*, During this session, with a popup offering help choosing.
- Pricing-page revisits (SaaS or B2B stores): Viewed at least 2 pages, Page /pages/pricing, In the last 14 days, with a "Talk to sales" callout.
- Quick bouncers on the blog: Viewed less than 2 pages, Page /blogs/*, with a total duration of 30 seconds or less, to test a stronger content upgrade.