---
title: Goal history filter
slug: goal-history
description: How the Goal history filter works in Personizely targets: counting goal hits for one goal, date windows, the current session, and when hits count.
docTags: 
createdAt: 2026-10-17T09:52:22.605Z
---

The Goal history filter matches visitors by how many times they've reached one of your [Goals](docId\:XSkE1LjM1yiNhLBzpr1B1), such as "reached Purchase at least 1 time in the last 30 days" or "reached the Size guide click goal at least 1 time during this session". It turns the goals you already track for A/B tests into audiences.

**Available on:** all platforms. Which goals exist depends on your platform; see [Goals](docId\:XSkE1LjM1yiNhLBzpr1B1).
**Plan:** Premium.

## How it's evaluated

Personizely counts the goal hits recorded for the visitor for the selected goal, optionally within a date window or the current visit, and compares the count with your number.

- **A goal hit** is recorded the same way as for reports: following the goal's type, pages and **Count goal as reached** setting. A goal set to **Once per session** adds at most one hit per visit.
- **When a hit starts to count** depends on the goal type (see the table below).
- **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.

### When goal hits count

| Goal types                                                                             | Counted on the current page                                                                                                    | Counted with During this session |
| -------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------ | -------------------------------- |
| Click, Form submit, Time, Scroll, Manual                                               | Yes, right away: a hit on this page is included the next time the filter is checked, for example when a widget's trigger fires | Yes                              |
| Page view, Event (including the system goals Purchase, Add to cart and Checkout start) | No: from the next page the visitor loads                                                                                       | No                               |

Page view and Event goals are matched to the visit or event after it's recorded, and commerce goals are recorded from your store platform's own data. Use **In the last N days** or no date window for them.

## Options

The filter reads: **Reached the goal** *goal* *at least / less than* *N* *times*, with an optional date window.

| Option                 | What it does                                       | Values / default                                                                                       |
| ---------------------- | -------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
| Goal                   | The goal to count                                  | Required. Any goal of the website, including the system goals Purchase, Add to cart and Checkout start |
| at least / less than   | "At least N" includes N; "less than N" excludes it | **at least**                                                                                           |
| N                      | The number of goal hits to compare with            | Default **1**                                                                                          |
| Date window (optional) | Count only hits 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 hits in the visitor's current visit           |                                                                                                        |

## Behavior details

- **History starts when the goal exists.** Hits are counted from when the goal was created. A goal you create today has no history yet.
- **New visitors** have no goal hits, so "at least" doesn't match them and "less than" does.
- **Per browser.** History is tied to the visitor's browser profile; clearing cookies or switching device starts again at 0.
- **One goal per filter.** To combine goals, add several Goal history filters to a group and choose **all** or **any**.
- **For orders, consider Order history.** On Shopify, the [Order history filter](docId\:bV0w3-JjkCkmH-za_dK3g) filter can also count a logged-in customer's orders placed before Personizely was installed, and filter by order value, products or tags.

## Examples

- **Exclude buyers from a discount popup:** a group set to **don't match** with Reached the goal **Purchase** at least **1** time **In the last 30 days**.
- **Engaged shoppers:** Reached the goal **Add to cart** at least **2** times **In the last 1 days**, with a free-shipping callout.
- **Content to commerce:** Reached a Page view goal on your size guide at least **1** time, to show a fit-guarantee bar on product pages.

## Related

- [Goals](docId\:XSkE1LjM1yiNhLBzpr1B1)
- [Event history filter](docId\:rFOpxArbQHQ-Nqnu_OxBd)
- [Widget history filter](docId\:ay2ODKE7j7zS4TXMlrdJg)
- [Order history filter](docId\:bV0w3-JjkCkmH-za_dK3g)
- [Targets](docId\:tWNdHNIcvVf9rNerxrynw)
