October 15, 2024
“At any point in time” option in Google Analytics 4
Some things in Google Analytics 4 can leave you with more questions than answers. I ended up in this situation while writing this blog post.
Initially, I intended to write this article just as another tutorial that provides all the answers to the reader. But now, I must admit I have more questions than answers.
So, I just want to set the expectations right. In this blog post, I will explore the “At any point in time” feature and share some observations. However, there are still some unknowns (and maybe you could help solve them).
Audiences and segments
Both audiences and segments are features in Google Analytics 4 used to group users. Segments are temporary groupings often applied to explorations, whereas audiences are persistent groupings updated over time (users are added and removed depending on changes in their behavior).
You can find the “At any point in time” feature in the segment/audience builder (only for user segments) when the condition scoping is set to “Across all sessions”.

While this article mentions segments and audiences, it won’t dive into the details of these two features. You can read more about the similarities and differences here.
One feature to highlight when creating segments and audiences is condition scoping. Condition scoping allows you to set different scopes in separate condition groups.

Each type of segment has different options for condition scoping, but there are three in total:
- Within the same event: All conditions must be met within a single event
 - Within the same session: All conditions must be met within a single session
 - Across all sessions: All conditions must be met during the user’s lifetime
 
With this background, we can begin to understand how this may be causing some of the issues you are experiencing.
How does “At any point in time” work?
Typically, user segments with dimension-based conditions (e.g., country or page location) will look at whether the user is currently meeting the conditions (the users will not be included if they no longer meet them). According to Google documentation, if you select “Across all sessions” as your condition scoping, this will include a user if “all conditions are met during the lifetime of the user”.
So, what’s the point of selecting “At any point in time” if having “Across all sessions” also checks the data during the lifetime of a user?
When you select “At any point in time”, GA4 should include the user in the segment as long as they have met the condition(s) – as the name suggests – At any point in time. For example, if a user accesses your site on both web and mobile, they will be included in both segments when you choose “At any point in time”, even if the device category was not their most recent one.
If we look at the definition of “Across all sessions”, again, it would seem that when you use “Across all sessions”, it would result in at least the same (or similar) number of users.
However, this does not seem to be the case. Let’s get into an example.
Why do you see different numbers?
Both the “At any point in time” and condition scoping features are quite poorly documented by Google, so I decided to run an experiment to understand better what is happening here. We talked about condition scoping earlier because it is likely the reason for all this confusion, but perhaps not in the way that you think.
In Google Analytics 4, go to Explore and create a “Blank” report.

Under the Variables tab, select the “+” sign next to Segments.

We are going to create two user segments. For each of them, when prompted, select “User segment”.

If you go to the condition scoping icon, you will see that the default condition scoping is “Across all sessions”. Keep it selected.

To keep things simple, the condition we will be looking at is whether the Page location contains “/search”.

Until now, the steps were exactly the same for both segments. However, since we want to test the “At any point in time” feature, you must enable this for one of the segments.

Now, you should have two segments. I have named mine “At any point in time” and “Not AAPIT (Across all sessions)”. Double-click on both segments to add them to the report.

Under the Metrics section, add “Total Users” and double-click to apply it to the report.

When the report populates, you’ll notice that the “Across all sessions” user count is much lower than the “At any point in time” with “Across all sessions” condition scoping.

This doesn’t make much sense (the date range is one week if you were curious). If Google’s documentation is correct, “Across all sessions” should just be looking at whether the condition is true at some point in the user’s lifetime, so why is it presenting a significantly lower number than “At any point in time”?
The documentation is unclear, which, unfortunately, means that I cannot provide a clear answer to why such a big differences exist.
Maybe “At any point in time” is higher than “Across all sessions” because the “Across all sessions” indeed looks to the latest value. While “At any point in time” does not care whether the value is the latest or not.
But things can get confusing really quickly. Keep reading.
More confusion
He’s another example. I built two segments. One is looking at traffic from the United States “Across all sessions”.

And then, I added one more segment with “United States”, “Across all sessions” and “At any point in time”. So far, the principle is the same example as the previous one.

When I added both segments to the report, the numbers were pretty similar (the difference was much lower than in the previous example). However, the “Across all sessions” segment’s number was still lower.

Now, here’s the confusing part. I created one more segment: traffic from the US, but the condition scope was changed from “Across all sessions” to “Within the same session”. To my surprise, this segment’s number was almost the same as of “At any point in time”.

Why is the “Within the same session” segment higher than “Across all sessions”? Honestly, I don’t know. And I could not find the answer. This is just a weird result. If anyone reading this article has an idea, feel free to share it in the comments.
“At any point in time” option in GA4: Final Words
If you know something about why there is a difference in total users for “Across all sessions” user segments when “At any point in time” is enabled vs. disabled, please start a discussion in the comments below, and I’ll join.
This is one of those Google Analytics 4 mysteries I would love to solve.
                    
6 COMMENTS
Reading this article made me feel like riding a roller coaster.
At first, I was like "Ooh, will this guy give a better explanation than Google itself?".
And then I got hit with a "maybe". 😆
Could it be that “across all sessions” means the condition needs to have been met in every session a user has had? This would explain why the search example segment would be much smaller, as it would require the user to have searched in every one of their sessions to be counted. In summary, this could mean that AAPIT applies if the condition is met at any point in a session, whereas “across all sessions” requires the condition to be met in every session
Maybe. That makes sense.
I was going to say this exact comment. Would explain why we results for the country test to be what it is: most users who visit your site from the US are likely to always visit your site from the US across all sessions, but there could be a small % who may visit your site from different locales for whatever reason
Here's the explanation https://support.google.com/analytics/answer/9304353#zippy=%2Cin-this-article:~:text=Dynamic%20evaluation,not%20be%20in%20the%20segment.
Dynamic evaluation
By default, user segments with dimension-based conditions include users when they currently meet the condition and then remove them when they no longer meet the condition.
You can override this behavior by selecting the At any point option. This includes users if they ever met the condition during the report or exploration time period, even if they don't currently satisfy the condition criteria.
Here's an example:
Let's say one of your users visited Brazil 2 months ago but is now currently in a different location. Adding a segment with a condition "Country = Brazil" and a time period of the previous 3 months will evaluate as follows:
With At any point selected, this condition will still be true today, and that user will be in the segment.
With At any point unselected, this condition will be false today, and that user will not be in the segment.
Yes, I saw it. It's the same documentation that I mentioned in this article. However, this does not explain why combined with "Across all sessions" returns weird results.