Expand my Community achievements bar.

Submissions are now open for the 2026 Adobe Experience Maker Awards

How to Segment First-Time Purchasers in Adobe Analytics?

Avatar

Level 2

Hello,
I’d like to isolate first-time purchasers in Adobe Analytics — users who made their very first transaction during a specific time period.
Is there a recommended way to do this using segments or calculated metrics?
Any guidance or examples would be greatly appreciated. Thanks in advance!

8 Replies

Avatar

Community Advisor

Hi @MezzoMe ,

 

To segment first-time purchasers in Adobe Analytics, you can isolate users who made their first-ever purchase during a specific time period by using sequential segments and optionally visitor-level logic. Here's a step-by-step guide to do this using segments, which is the most straightforward method:

 

Go to Components > Segments

Click "Create New Segment"

Use the Following Settings:

Segment Container: Visitor
  • Because we want to find users whose first purchase ever happened in this time window.
 
Define the Logic:
Step A: Exclude Past Purchases
Use a sequential segment:
  • Then logic
  • First condition (before your date range):
    • Hit where Purchase Event exists
    • With date range set to before your analysis period (e.g., before July 1)
AND
Step B: Include Purchases During Your Desired Time Range
  • Hit where Purchase Event exists
    • With date range within your analysis window (e.g., July 1 to July 31)

 

Example: 

If your reporting period is July 2025, here's how it might look:
Visitor-level segment
Include if:
  • Does NOT have: Purchase Event before July 1, 2025
      AND
  • Has: Purchase Event between July 1 and July 31, 2025
This will isolate users whose first transaction ever was in July.
 
Thanks.
Pradnya

Avatar

Level 2

MezzoMe_0-1754559672024.png

 

Thanks for getting back to me!

I’m looking to identify users who had no purchases in the past three years, but made their very first purchase during the period of July 14–20.

Could you kindly check if the filters I applied are set up correctly to capture this group?

Really appreciate your quick response!

Avatar

Level 4

Hi @MezzoMe 

This is a bit of a tricky solution but is possible. 

If you want to isolate the first time purchasers create a visitor based segment where orders is equal to 1.

DanIMS1_2-1754312739711.png

This will check it based on the time frame in the calendar in the workspace. 
You will notice that if you change the date range the values change.

If you want it only looking back a specific number of days, then you can add a rolling date parameter to the segment which will lock it to only look back to the specified time.
This will look like this:

DanIMS1_6-1754313944867.png

 

Applying this segment to the reports will give all the first time orders in the look back window, even those that aren't in your reporting window (the calendar set timeframe).


To only show the data in your reporting window, you will need to use a date dimension to filter the data to the specific window of time you want to report on. Example of this is below:

 

DanIMS1_5-1754313912337.png

 

Thanks,

Dan

 




 

Avatar

Level 2

Thanks for the explanation!
What I'm trying to do is find users who had not purchased before, but made their first-ever purchase within a certain date range.
I just wanted to check — would the segment still work as expected in this case?

MezzoMe_0-1754650039931.png

 

Avatar

Level 6

Adobe Analytics has no built-in “first purchase date” dimension, so you use sequential logic to mimic that behavior.

You can use the Orders event or Revenue depending on what defines a “purchase” in your implementation.

Always use Visitor container — since you’re working across time.

Avatar

Level 2

MezzoMe_0-1754649744863.png

Hi, thank you again for your support.
Based on your guidance, I created the segment like this. Would you mind taking a quick look and letting me know if it seems correct?

Avatar

Level 6

The one I mentioned is at the implementation level. 
The segment you are creating is an adhoc one and however it might work as per the logic I see. You are trying to see the purchase comparing months whether it exists or not. 

Avatar

Level 3

Hi @MezzoMe ,

I don’t work for an eCommerce company, so I don’t have access to typical metrics like orders, etc. However, I was able to simulate your use case with a similar scenario:

Since I have access to raw data feeds, it was easy for me to experiment and validate the results directly from the source.

 

My Use Case:

Visitors who were active in the last 7 days but not in the previous 3 months.
As of today (8th August), this means I’m looking for users who visited the site between 1st–7th August, but not between 1st May–31st July.

 

Approach & Experiments:

Experiment 1:

I created a segment to identify users who were active in both the last 7 days and the previous 3 months.
This allowed me to subtract that group from the total visitors during the last 7 days to isolate the desired audience.

Findings: This method worked as expected when validated against the raw data.

(For your case: it would give you the visitors who order in both the date ranges, and you can subtract these users from the total user who purchased in the later date range)

nitesh__anwani_0-1754667815586.png

 

 

Experiment 2:

I created a segment for users who were active in the last 7 days, and explicitly "EXCLUDED" those who were active in the last 3 months.

Important Note: This method only works accurately when the date range selected on the analysis panel includes both timeframes (i.e., the last 7 days and the prior 3 months).

nitesh__anwani_1-1754667868047.png

 

 

Regarding Your Segment (Based on the Screenshot You Shared):

From what I can see, using the "THEN" (sequential segment) logic might not be suitable for this use case.

That’s because you’re trying to filter users based on two separate date ranges, rather than defining a sequence of actions over time. Sequential logic is typically useful when you’re tracking event order, like users who did X and then Y.

 

Special Note:

Be cautious when using rolling date ranges within segments—these are calculated relative to the current date, which can affect your segment logic depending on when you run the report. so for this case, you can use the static date ranges in your segments.

 

I recommend trying an approach similar to what I’ve outlined above and seeing if that gives you the expected results.

Feel free to share how it goes or if you run into any issues.

Thanks,
Nitesh