In Production, we get the customer data feed once in a day and there is no real time feed and we run daily Batch campaigns. We are using Pega Marketing 8.3 version.
As per the Business Use Case, we have some child segments which is being called in multiple parent segments (used in daily campaigns). So, we expect the common child segment to get run once per day instead of getting refreshed by all the calling segments. And, we have other child segments which is being used in a single parent segment also.
To Implement this, will the below configuration be the recommended way?
Refresh campaign Segment option will be enabled in the campaign Engagement to refresh the Parent segment
Parent Segment (which calls both the common child segment and specific child segment)
Enable Transactional Refresh - Unchecked
Refreshable Segment - Checked
Refresh Child Segments - Checked
Common child segment (Being called in multiple segments)
Enable Transactional Refresh - Unchecked
Refreshable Segment - Unchecked
Refresh Child Segments - Unchecked
Schedule it to run daily before all the daily campaigns run schedule (Can we rely on this Schedule completely to refresh the segments on daily basis?)
Specific child segment (Being called in only one parent segment)
Thanks for the detailed post about your setup and use case. Overall, the approach you have outlined makes sense. A few pointers:
Your parent segment doesn’t need to be marked refreshable for the schedule to refresh it. The refreshable setting comes into play when a different segment tries to refresh this segment.
The common child segment’s refresh schedule should be fine to refresh it daily. You would want to test out the schedule over multiple runs to ensure that the runtime is inline with what you expect, and leave some room before your campaign schedule kicks in - particularly if this common segment is complex and takes a long time to populate.
In terms of timeliness of this schedule, there’s very little overhead in the segment schedule itself - it uses the scheduled task agent queue for processing. As long as your system is not inundated with other agent requests, this should be reliable. Monitoring your segment’s scheduled performance over a few days should help ascertain this.
Another consideration for your common child segment is whether it should be marked transactional. This reduces the runtime performance of the segment, but does ensure the transactional nature. The need for having this checked depends on the nature and intent of your common segment.
You can check out the latest doc for more details: Pegasystems Documentation . Please note that some features may not be available on your version.