Expand my Community achievements bar.

SOLVED

Do Streaming Segments update by batch uploads

Avatar

Level 7

Hi there,

 

I have couple streaming segments, and there are two data sources, one is a batch data source that comes in after the global segment evaluation time (say 7am).

 

1) Will these streaming segments' population update after 7am a) if ingestion is a batch source (through batch ingestion api), b) Will this still trigger an AJO journey that starts with Audience Qualification?

 

2) If the above is no, does this mean I need to convert the ingestion method via streaming api in order to update the segments in real-time, and kick off the Audience Qualifications event in AJO?

 

Thanks.

1 Accepted Solution

Avatar

Correct answer by
Employee

Hi @akwankl,

 

A segment job is an asynchronous process that creates an audience segment on demand. Documentation to crate an ad-hoc audience evaluation: 

https://experienceleague.adobe.com/en/docs/experience-platform/segmentation/api/segment-jobs#create

 

Next:

Activate audiences on-demand to batch destinations via the ad-hoc activation API:
https://experienceleague.adobe.com/en/docs/experience-platform/segmentation/api/segment-jobs#create

 

Note: There are guardrails around the no. of time you execute these jobs.

Hope this helps.

 

Regards,

Kumar Saurabh

View solution in original post

10 Replies

Avatar

Level 2

Hi @akwankl ,

 

You need to know the Segment evaluation process.

The Streaming evaluation happens only if the source data is Streaming. Even though you have ingested data through batch, the evaluation of segments happen on during the global segment evaluation time. 

 

Also, in your case the Daily Segment evaluation job is happening before your batch data is ingested. I would recommend, talk to the Adobe support team and request them to change the daily evaluation time to a suitable time so that you have received all the data required for your Segment evaluation. The AJO Journey will be triggered for all the qualified profiles once the Global Segment evaluation is done. 

 

Hope this helps.

 

Regards,

Vinod

Avatar

Employee

Hi @akwankl,

As @vinodkomiri correctly pointed out about the Segment evaluation mechanism, there is still a possibility your segment gets evaluated as streaming.

Go through the below link that outlines the criteria for the segments to be evaluated as streaming:

 

https://experienceleague.adobe.com/en/docs/experience-platform/segmentation/ui/streaming-segmentatio...

 

Regards,

Kumar Saurabh

Avatar

Level 7

Thanks for the response. 

 

The issue is that this data source does not update before the global segment evaluation time, so we cannot adjust the global segment evaluation time for this data source alone.

 

Is there a way to update segment in real-time/on demand then once a batch comes in? For example, our marketing team might have a list of customers (csv, batch upload or through batch api) they want to upload and target on the same day, we can't tell them to wait 24 hours in order to launch the campaign. What can we do?

Avatar

Employee

hi @akwankl,

You can update the Segment Job evaluation time (global) using Schedule Job API Endpoint.

Schedules are a tool that can be used to automatically run batch segmentation jobs once a day. You can use the /config/schedules endpoint to retrieve a list of schedules, create a new schedule, retrieve details of a specific schedule, update a specific schedule, or delete a specific schedule.

 

https://experienceleague.adobe.com/en/docs/experience-platform/segmentation/api/schedules#update-sch...

 

Regards,

Kumar Saurabh

Avatar

Level 7

Hi @Kumar_Saurabh_ 

 

My understanding is that the global schedule can only be ran once a day. The issue is I cannot adjust the global schedule from 7am to something else as 7am works for 99% of my other data points. 

 

Back to my other question: 

Is there a way to update segment in real-time/on demand then once a batch comes in? For example, our marketing team might have a list of customers (csv, batch upload or through batch api) they want to upload and target on the same day, we can't tell them to wait 24 hours in order to launch the campaign. What can we do?

Avatar

Employee Advisor

To trigger a Streaming Segment you will need to send in a Streaming Source.  I would recommend changing your source that comes in after the global segment evaluation time to streaming.

Avatar

Level 2

Hi @akwankl ,

You can try to create another schedule job only for the segment which you want to run after the batch data is ingested, this way you can evaluate the segment twice once with global evaluation job and once with your schedule. I am not 100% sure, if we can have more than one schedule.

@Kumar_Saurabh_ , can you plz comment on this.

 

Also, regarding adjusting global evaluation time, you said the current time working fine for 99%of source. I believe we try to set the evaluation of segment based on downstream or destination requirement. Most of the downstream export is triggered after scheduled job evaluation. So try to adjust your global according to destination requirement.

 

Regards,

Vinod 

Avatar

Employee

Hi @vinodkomiri @akwankl ,

The ad-hoc segment evaluation can be done, but it is a manual process, plus, it has to be triggered for each segment via API.

Also, there are guardrails around the number of ad-hoc runs per day.

 

You should schedule the time of the Segment eval. job in such a way that all the sources are refreshed and then your evaluation starts.

 

Regards,

Kumar Saurabh

 

Avatar

Level 7

Hi @Kumar_Saurabh_,

 

Thanks for the response, is it possible for you outline what are the steps & APIS to call to trigger that manual segment evaluation? I understand we need to create a Segment Job Request, but I believe that alone doesn't really activate the new audience population to be used for AJO or destination activation. 

 

2nd, unfortunately as our situation is complex and so no single time would be the most suited evaluation time, what would work best is multiple batch evaluation time throughout the day, but what else is possible?

 

Thanks.

 

 

Avatar

Correct answer by
Employee

Hi @akwankl,

 

A segment job is an asynchronous process that creates an audience segment on demand. Documentation to crate an ad-hoc audience evaluation: 

https://experienceleague.adobe.com/en/docs/experience-platform/segmentation/api/segment-jobs#create

 

Next:

Activate audiences on-demand to batch destinations via the ad-hoc activation API:
https://experienceleague.adobe.com/en/docs/experience-platform/segmentation/api/segment-jobs#create

 

Note: There are guardrails around the no. of time you execute these jobs.

Hope this helps.

 

Regards,

Kumar Saurabh