contact policy vs volume constraint

Hi All,

I’m struggling with the contact policy in Pega Marketing 8.4 and I would like to ask for your help.

We use NBA Designer to configure our marketing artifacts. We have configured the Customer Contact Policy to limit the number of outbound interactions with the customers(i.e 1 email and 1 SMS per week). We’ve also configured an Additional Schedule in the NBA designer. If this outbound campaign runs without a Volume Contraint then the contact policy works well. After the campaign-run, the updated records can be found in the related ContactSummary DB table(-> PegaMKT-Data-ContactSummary). And of course, the next campaign-run won’t produce a new outbound message due to the Contact Policy. So everything works as expected.

But my issue is when we also configure a volume Constraint for the campaign (in the NBA designer) - and all of the other configurations are still the same - then the records in the ContactSummary table won’t be updated and therefore the contact policy constraint won’t/can’t be applied in the following campaign-runs.

In my view, the Customer Contact Policy and the Volume Constraint are different types of artifacts with different purposes. So Contact Policy still should work with Volume Constraint.

What’s your opinion?

Has anyone ever experienced this issue?

Thanks in advance!

Let me share some updates!

Earlier I tried to debug my issue and find out how it works in the background. I noticed that pega generates two different data flows in order to execute the campaign. I mean, if there is no Volume Constraint then the generated data flow will call directly the “DF_ProcessOffer” and if there is a Volume Constraint then first it calls the “DF_WriteToBatchTable” data flow and persists the result of the strategy and applies the Volume Constraint as well. In the following steps, the stored records will be processed by another data flow(“DF_Wait”) and the “DF_ProcessOffer” will be called too.

“DF_ProcessOffer” is important, as far as I understood, because this is will update the Contact Summary data set.

So “DF_ProcessOffer” is called in both cases but its execution will be different. The details of the contact summary are stored in the “ContactSummary” page property. This property exists and has value inside “DF_ProcessOffer” in the first case when there is no volume constraint configured. If there is a VC then it doesn’t have value and ContactSummary data set won’t be updated.

Based on my research, the contact policy is not applied if the given run is in TestExecutionMode or IsResumeOffer is true or IsWaitProcess is true.
If VC is set in the campaign then IsWaitProcess is true(set in “ExecuteWaitDF” activity) and therefore ContactPolicy is not applied.

Can anybody explain the reason for this implementation? Or is it a bug?

Thanks

Ps: FYI - I’ve already raised an SR almost 2 months ago but there’s no progress and that’s why I’m trying to get an answer here.

Hi @AttilaB3

Yes, Contact Policy and Volume Constraints serve different purposes and can be used together.

After reviewing your Support Case, it appears that there is an on-going investigation. Please continue to engage with GCS on this issue.

Thanks,

Ok, thanks for the feedback!

Just to close this thread and share the solution, so the issue mentioned above has been identified as a pega bug.

Please find the details of the provided hotfix below:

Root cause description: A defect in Pegasystems’ code or rules.
Solution type: Hotfix
Solution description: Apply HFIX-80190

Hotfix for HFIX-80190 : Recording of contact summary with volume constraints

May be applied to v8.4

Rule Changes:
PegaMKT-Engine : 08-04-02 - RULE-OBJ-ACTIVITY SYSTEM-QUEUE-WAITFLOW
EXECUTEWAITDF #20210331T180007.058 GMT

Thank you, @AttilaB3 for sharing your resolution! I have marked it as the Accepted Solution.