I'm following up on a previous post. The original question is: Of users who watched a livestream, how many of those users are revisiting our site after?
1) Is there a specific time frame we should be filtering the table for?
2) One of the solutions suggested to create this segment. How would this segment look like?
(Segment 2: Users who visited the site after watching the livestream, within a defined timeframe (e.g., 7 days).)
Thank you!!
Views
Replies
Total Likes
Hi @user70977
Yes, this is definitely doable in Adobe Analytics with a bit of smart segment setup.
Here's how I would do it -
1) Timeframe -
You will want to include a date range that covers both the livestream event and the days after (say, 7 days). So if your livestream was on July 1st, your table should probably cover July 1st–8th. That way you're capturing both the initial viewers and anyone who returned afterward.
2) Segment Setup (users who returned after watching):
This would be a visitor-level segment using a sequential container. Something like:
Step 1: Event = Watched Livestream
THEN within 7 days
Step 2: Visit exists (or any page view — depends on how you define “returning”)
This tells Adobe: “Show me users who watched the livestream and came back again within 7 days.”
You can then drop that segment into a freeform table and compare it against your total livestream viewers to get a revisit rate.
Another Important Point:
If you want to be fancy, you can create a calculated metric:
Return Rate = Revisited Users / Total Livestream Viewers
It makes things easier to track over time.
Hope that helps!
Views
Replies
Total Likes
Honestly, I would be more tempted to use a Cohort Table for this (https://experienceleague.adobe.com/en/docs/analytics/analyze/analysis-workspace/visualizations/cohor...
You can change the granularity, it doesn't have to be "months"...
Rolling Calculation is for when you want to check return rate only for people that come back in every column...
For instance.
Initial - watched a live stream (now they are in the "included" column for the time frame
+1 Month - visitor returned
+2 Months - visitor returned
+3 Months - visitor did not return
+4 Months - visitor returned
If no "rolling calculation", then this user will show in the included column, then in columns for +1 Month, +2 Months and +4 Months
If "rolling calculation" is selected, then this user will be in the included column, then only +1 Month and +2 Months... because they did not coming in +3 Months (they are dropped from the cohort because their returns weren't concurrent.
You can create segments from cohort cells, but those tend to have "baked in date ranges".
If you do want to just use segments, there are a few ways to do this...
A simple segment would just be:
This should look for Visitors who watched a video, then after 1 visit returned to the site (this is to fulfil the "came back to the site and not part of the same visit" logic)
If you want to add constraints, like the user had to have returned, but within 7 days (i.e. the site is still "fresh" in their mind), then you could use something like:
The time frames you use are really up to you.. there is no "standard"... what are you trying see really?
Again, this is where cohorts are nice, because it gives you regular intervals for a longer span of time.
Views
Replies
Total Likes
Hi @user70977 , @Jennifer_Dungan , @Vinay_Chauhan ,
I recently had a similar requirement from my product stakeholders.
In your case, the event of interest is "video completed." In mine, it was "user registration" on the app.
The requirement was to analyze user return behavior—specifically:
In your case: Users returning within 7 days after completing a video.
In my case: Users returning within 15 days after registering.
The goal was to build a monthly-level funnel, where each month shows:
How many users registered, and
How many of them came back to the app within 15 days.
I tried several approaches and also had access to data feeds in our data warehouse to validate the numbers.
Segment Definition
If I build the segment as follows:
{ Include everyone, Segment scope as visitor:
[VISIT with registration event on app]
THEN WITH IN 15 DAYS
[VISIT with PageView>=1 on app] }
Issue:
This includes the registration visit itself. If the user had at least one pageview during the same visit, they’d be counted, resulting in an inflated return rate (98–100%).
Also, this segment makes the visitor appear in every month they were active, which doesn't serve the purpose of isolating specific month-level return behavior.
To improve this, I added the AFTER logic:
Segment Definition
Now, If I update the rule by adding "AFTER" logic
{ Include everyone, Segment scope as visitor:
[VISIT with registration event on app]
THEN WITH IN 15 DAYS AFTER 1 VISIT(S)
[VISIT with PageView>=1 on app] }
Issue:
This does not capture the immediate next visit. Instead, it filters for users who had at least two visits, where the return is on the second visit after registration.
I validated this using raw data feeds. The "AFTER 1 VISIT" literally means "next to next visit, and not the immediate next visit", so this logic doesn't meet the requirement either.
I added a time-based workaround, which provided around 99% accuracy when cross-checked with raw datafeeds
Segment Definition
{ Include everyone, Segment scope as visitor:
[VISIT with registration event on app]
THEN WITH IN 15 DAYS AFTER 45 MIN(S)
[VISIT with PageView>=1 on app] }
Rationale:
Since a visit ends after 30 minutes of inactivity by default, adding a 45-minute buffer helps us approximate the next visit fairly well.
This gave more directionally correct results.
The segment scope was still at the visitor level, which caused an issue:
A user would appear in every month they visited the app, not just the one where they registered.
However, the business requirement was to capture only the registration visit, as long as it was followed by a return within 15 days.
So, I further refined the logic using nested segments:
Final Segment Logic:
Segment scope: visit
{ Segment scope as Visits:
[VISIT with registration event on app]
AND
{ Include everyone, Segment scope as visitor:
[VISIT with registration event on app]
THEN WITH IN 15 DAYS AFTER 45 MIN(S)
[VISIT with PageView>=1 on app] }
}
This ensures we only include the registration visit of users who returned within the 15-day window.
Here is how my final segment looks like:
This workaround worked for me because it's rare for users to register multiple times. However, in your case—where users might complete a video in multiple months—this logic could result in overcounting.
For example:
User A watches a video in January and returns within 7 days → counted
The same user watches another video in February but does not return → still counted in February
So this segment logic captures return behavior at the user level, not tied strictly to each video completion. This means the user appears in all months they completed a video, even if they didn’t return afterward in some of them.
This kind of behavior analysis is tricky, especially when stakeholders want to analyze:
"Users who performed a specific action, and then returned within X days."
What we're essentially trying to do is combine:
WITH IN NEXT VISIT
WITH IN a return window constraint
Unfortunately, sequential segments don’t natively support two-layered WITHIN clauses (e.g., return visit within X days of the next session).
Cohort tables work well for this kind of analysis. However, in my case:
The return window was 15 days, and
The analysis period was a full year
So weekly-level cohort tables didn’t meet the business requirement either.
Thanks!
also, Looping the folks from the recent Adobe Analytics Champion User Group - Office Hours meet, where we discussed about this requirement.
Views
Likes
Replies
Views
Likes
Replies