Customer Relationship Management Blogs by SAP
Stay up-to-date on the latest developments and product news about intelligent customer experience and CRM technologies through blog posts from SAP experts.
cancel
Showing results for 
Search instead for 
Did you mean: 
joerg_steinmann
Employee
Employee
Chapters

  1. Segmentation and Target Group

  2. Email content and usage of personalization attributes

  3. Campaign definition

  4. Campaign execution


4. Campaign execution


After campaign is defined completely you must push the button “Start”. If approval workflow is active the button “Submit for Approval” must be pushed first. More details can be found in "Application Help: Business Features -> Campaigns -> Managing Campaigns -> Approval Workflow"

After pushing button “Start” the campaign status changes from status “In Preparation” to “Released”.

The execution status depends on start date and time and whether campaign is executed periodically or not. It is related only to the actions assigned to the start trigger = in the example campaign only action “Send Email” which sends email EM1 and EM2. It does not reflect executions of follow-up actions = in the example campaign the action “Send Email” which sends email EM1_1 and EM2_1.

 

Technically the campaign execution is done in batch mode by background jobs. For every action a separate job is started. Because the campaign in the example has two “Send Email” actions (one for email EM1 and second one for email EM2) assigned to target group box in automation model it will start two background jobs at the same date and time, the jobs will be executed in parallel.

These background jobs will run with the context of that user that has started the campaign (= pushed the start button).

Note:


The user starting the campaign must have enough authorizations in order to read the target group and its members, the email content, the interaction contact data (e.g. the language, the email address), the permissions of the interaction contacts and in order to write interactions for the sent emails.


Note:


If the user that has started the campaign is changed (e.g. authorizations removed) or even deleted (because the user left the company) the execution of the campaign will end with an error. Please be careful if you changed or even delete users that typically start campaigns. Erroneous campaigns must be restarted manually.


 

Changes with release 1905:

With release 1905 the background job will still run with the context of the user that has started the campaign (= pushed the start button). However during this execution the authorizations of the user are not checked.

Example:


John Doe has authorizations to access interaction contact data for country United States, but not for Canada. He starts a campaign where a target group is used that has members assigned to country Canada and United States because the target group has been built by a colleague of John. Although John cannot access data of contacts in Canada, the campaign execution will process these contacts successfully, the missing authorization of John is not considered by the campaign execution background job.


 

Rebuild of dynamic target group


If the target group assigned to the campaign is a dynamic one the campaign execution starts an additional background job in order to rebuild the target group (=create the newest snapshot of members by applying the filters of the segmentation model). This rebuild is done before all actions are started. For a recurring campaign this rebuild is done every time a new recurrence is executed. For campaigns executed only once this rebuild is done only once.

Within target group configuration the rebuild of target groups can be controlled by setting a value for the retention period. More details can be found in “Administration Guide: Configuration Apps -> Target Group Configuration -> General Settings for Target Groups

Note:


The rebuild background job runs with the context of that user that has started the campaign (= pushed the start button). This user must have enough authorizations for doing this rebuild of the target group.


 

Campaign is executed only once


If the campaign is started immediately the execution status is “Scheduled” and will switch to “Running” as soon as the campaign action jobs start in background mode, usually within a few seconds.

If the campaign is scheduled for a date and time in future the execution status remains “Scheduled” until the scheduled date and time is reached and the action jobs start. If the first action job starts the execution status is changed to “Running”.

As long as the execution status is “Scheduled” this scheduling can be changed by pushing the button “Pause”. The scheduled background jobs will be removed and the execution status changes to “Not started”. Once execution status has been changed to “Running” the button “Pause” will not be available anymore for this campaign.

As long as one action job is still running the execution status remains “Running”.

Note:


You cannot capture a just running action job and stop it. It will run until all target group members have been processed.


Pushing button “Stop” means that the campaign with all its follow-up triggers and actions is stopped. A stopped campaign cannot be changed or paused or restarted anymore.

If all action jobs have been finished successfully the execution status changes to “Finished”.

If one or all action jobs fail the execution status changes to “Error Occurred”. In case of errors a restart is possible by pushing the button “Restart”.More details can be found in “Application Help: Business Features -> Campaigns -> Managing Campaigns -> Execution Status / Restarting Campaigns

Follow-up triggers and actions are processed as long as the campaign has not been stopped by pushing the button “Stop”. Even if execution status is “Error Occurred” they are processed. More details can be found in “Application Help: Business Features -> Campaigns -> Managing Campaigns -> Campaign Status / Stopping Campaigns

 

Campaign is executed periodically


If the campaign is started immediately the execution status is “Scheduled” and will switch to “Running” as soon as the campaign action jobs start in background mode, usually within a few seconds.

If the campaign is scheduled for a date and time in future the execution status remains “Scheduled” until the scheduled date and time is reached and the action jobs start. If the first action job starts the execution status is changed to “Running”.

As long as the execution status is “Scheduled” this scheduling can be changed by pushing the button “Pause”. The scheduled background jobs will be removed and the execution status changes to “Not started”.

The execution status remains “Running” until the complete campaign ends. The periodic campaign ends if no further execution is scheduled for future. This end can happen automatically if the maximal number of recurrences is reached or if the campaign end date is reached. In this case the execution status is changed to “Finished”.

Note:


You cannot capture a just running action job and stop it. It will run until all target group members have been processed.


Pushing button “Stop” means that the campaign with all its follow-up triggers and actions is stopped and that no next executions will be planned anymore. A stopped campaign cannot be changed or paused or restarted anymore.


As long as the execution status is “Running” the button “Pause” is available. If the button is pushed all scheduled background jobs (for future execution of next recurrence) will be removed and the execution status changes to “Paused”. The button “Pause” will not stop currently running action jobs. More details can be found in “Application Help: Business Features -> Campaigns -> Managing Campaigns -> Execution Status

A paused periodic campaign can be started again by pushing the button “Start”.

All follow-up triggers and actions of a paused periodic campaign will still be processed.

 

If the last execution of one or all actions (assigned to the target group box in the automation model) fail the execution status changes to “Error Occurred”. In case of errors a restart is possible by pushing the button “Restart”. The restart is possible until the next scheduled recurrence is not started. More details can be found in “Application Help: Business Features -> Campaigns -> Managing Campaigns -> Execution Status / Restarting Campaigns

 

If the campaign has reached the execution status “Finished” all follow-up triggers and actions are still processed as long as the campaign has not been stopped by pushing the button “Stop”. Even if execution status is “Error Occurred” they are processed. More details can be found in “Application Help: Business Features -> Campaigns -> Managing Campaigns -> Campaign Status / Stopping Campaigns

 

 

Note:


Every recurrence of a periodic campaign which has follow-up triggers and actions produces a kind of “swimlane” which is active as long as the campaign is not stopped.


Example:

The example campaign CPG1 is executed every day. In this example we show only 3 executions:


































Execution on Monday Execution on Tuesday Execution on Wednesday


TG1 has 3 members:

Mon1

Mon2

Mon3


TG1 has 2 members:

Tue1

Tue2


TG1 has 4 members:

Wed1

Wed2

Wed3

Wed4
Mon1 opens EM1 on Monday => receives EM1_1 on Monday Tue1 opens EM1 on Tuesday => receives EM1_1 on Tuesday Wed1 opens EM1 on Wednesday => receives EM1_1 on Wednesday
Mon2 opens EM1 on Tuesday => receives EM1_1 on Tuesday Tue2 opens EM1 on Thursday => receives EM1_1 on Thursday Wed2 opens EM1 on Thursday => receives EM1_1 on Thursday
Mon3 does not open EM1 => receives EM1_2 on Thursday Wed3 opens EM1 on Friday => receives EM1_1 on Friday
Wed4 does not open EM1 => receives EM1_2 on Saturday


 

 

Follow-up actions


For the explanation of processing of follow-up actions we use the above sketched example campaign. It shall have a dynamic target group with 50.000 members. The campaign has been started on Monday at 07:00, this means at this date and time the rebuild of the target group has been started and afterwards the both actions for sending email EM1 and EM2. Let’s assume the rebuild of the target group took 2 minutes. All of these 50.000 members received email EM1 and EM2.

Due to the size of the target group, the emails are not sent exactly at the same time but are spread over a period of time.

We use the following example recipients to demonstrate the processing of the follow-up triggers and actions. All the times in the next paragraphs do not represent exact values of a productive system, they are used to demonstrate how the campaign execution works.

Because the execution of the two actions sending email EM1 and EM2 is done in parallel the sending date/time of the emails must not be identical, there can be a delay of some seconds. In the example below we use an average delay of ca. 30 seconds.

 














































Email EM1
TG Member Contact Sending date / time
1 John Doe Monday 07:02:00
2 Joe Public Monday 07:02:01
3 Jane Doe Monday 07:02:02
49999 Jane Smith Monday 07:21:30
50000 Jenny Public Monday 07:21:31


 














































Email EM2
TG Member Contact Sending date / time
1 John Doe Monday 07:02:29
2 Joe Public Monday 07:02:31
3 Jane Doe Monday 07:02:32
49999 Jane Smith Monday 07:22:04
50000 Jenny Public Monday 07:22:05


 

Technical information:

For a YES branch of a trigger a triggering interaction like “Click Through” must exists that has a relation to the campaign and the preceding outbound interaction EMAIL_OUTBOUND. This interaction is transferred to the action assigned to the trigger.

For a NO branch of a trigger no triggering interaction exists with relation to the preceding outbound interaction. Because the action for sending the email must always get an interaction, for the NO case the outbound interaction (like “Email Outbound”) is taken and transferred to the action assigned to the trigger. More detailed explanation can be found in the subsequent examples.

Campaign management has a technical background job SAP_CUAN_MKT_EXEC_LISTENER which runs every minute and collects the related interactions, either those for the YES or the NO branch.

This technical background job selects all those interactions that have been created since its last run. For this it compares the stored information of “its last run” (stored in an own database table) with the Created_At timestamp of the interaction..

Note:


The technical background job collects only newly created interactions. Changed interactions are not collected.


The technical background job uses the Created_At timestamp of the interaction. This is an internal timestamp set at this date&time when the interaction was created in the system. It is no identical with the Interaction Timestamp field offered in some segmentation objects.


 

The technical background job runs with the context of a special user of type “System”. It schedules the execution of the all actions of a trigger based campaign. Hence all actions run with the context of that system user that executes the technical background job SAP_CUAN_MKT_EXEC_LISTENER.

Note:


The system user executing the technical background job SAP_CUAN_MKT_EXEC_LISTENER must have the needed authorizations. Read installation and upgrade guide in order to use the correct role and authorizations. If this system user has not all needed authorizations the actions of a trigger based campaign will not executed correctly and the execution may end with errors.


The technical background job collects all newly created interactions fitting to follow-up trigger of the campaign and puts the found interactions into an internal target group. The internal target group is used because all campaign actions process always target group members, either members of a dynamic or static target group or members of an internal target group. Because the technical background job knows which trigger is listening to the collected interaction it knows also the actions assigned to these triggers. Hence the job schedules the corresponding actions, either for immediate execution of with certain delay, depending on the advanced scheduling options of every action.

 

 

Branch for EM1


Send email EM1_1:



  • Target group member 2 “Joe Public” opens the email EM1 on Monday at 10:15:36, corresponding interaction “Email Opened” is written into the system.

  • The technical background job SAP_CUAN_MKT_EXEC_LISTENER runs on Monday at 10:16:01.

  • It collects the interaction "Email Opened" of “Joe Public”, puts it into internal target group TGi_EM1_1 and schedules the execution of action for email EM1_1 immediately.

  • The action job starts on Monday at 10:16:45 and sends the email EM1_1 to “Joe Public” on Monday at 10:16:46.


 

  • Target group member 49999 “Jane Smith” opens the email EM1 on Tuesday at 18:22:11, corresponding interaction “Email Opened” is written into the system.

  • The technical background job SAP_CUAN_MKT_EXEC_LISTENER runs on on Tuesday at 18:24:01.

  • It collects the interaction "Email Opened" of “Jane Smith”, puts it into internal target group TGi_EM1_1 and schedules the execution of action for email EM1_1 immediately.

  • The action job starts on Tuesday at 18:25:01 and sends the email EM1_1 to “Jane Smith” on Tuesday at 18:25:06.


 

Send email EM1_2:



  • Target group member 1 “John Doe” and 3 “Jane Doe” do not open email EM1.

  • The waiting period of 3 days is reached on Thursday at 07:02:02 because 3 days are 3 x 24 hours = 72 hours related to the sending date and time of the email EM1 for “John Doe” and “Jane Doe”.

  • The technical background job SAP_CUAN_MKT_EXEC_LISTENER runs on Thursday at 07:03:01.

  • It detects that the waiting period is reached for the email EM1 for “John Doe” and “Jane Doe”.

  • The technical background job puts the interaction “Email Outbound EM1” of "John Doe” and “Jane Doe” into internal target group TGi_EM1_2 and schedules the execution of the action for Thursday at 07:20:00.

  • The action job starts on Thursday at 07:20:00 and sends the email EM1_2 to “John Doe” on Thursday at 07:20:03 and “Jane Doe” on Thursday at 07:20:04.


 

  • Target group member 50000 “Jenny Public” does not open email EM1.

  • The waiting period of 3 days is reached on Thursday at 07:21:31 because 3 days are 3 x 24 hours = 72 hours related to the sending date and time of the email EM1 for “Jenny Public”.

  • The technical background job SAP_CUAN_MKT_EXEC_LISTENER runs on Thursday at 07:22:01.

  • It detects that the waiting period is reached for the email EM1 for “Jenny Public”.

  • The technical background job puts the interaction “Email Outbound EM1” of “Jenny Public” into internal target group TGi_EM1_2 and schedules the execution of the action for Friday (!) at 07:20:00.

  • It cannot schedule it for Thursday at 07:20:00 because this time is already over. Hence it takes the given delayed start time and takes the next possible day = Friday.

  • The action job starts on Friday at 07:20:00 and sends the email EM1_2 to “Jenny Public” on Friday at 07:20:02.



































































Email EM1 Email EM1_1 Email EM1_2
TG Member Contact Sending date / time Opening date / time Sending date / time Sending date / time
1 John Doe Monday 07:02:00 Not opened Not sent Thursday 07:20:03
2 Joe Public Monday 07:02:01 Monday 10:15:36 Monday 10:16:46 Not sent
3 Jane Doe Monday 07:02:02 Not opened Not sent Thursday 07:20:04
49999 Jane Smith Monday 07:21:30 Tuesday 18:22:11 Tuesday 18:25:06 Not sent
50000 Jenny Public Monday 07:21:31 Not opened Not sent Friday 07:20:02


 

 

Branch for EM2


Send email EM2_1:



  • Target group member 1 “John Doe” clicks on a link in email EM2 on Monday at 11:45:36, corresponding interaction “Click Through” is written into the system.

  • The technical background job SAP_CUAN_MKT_EXEC_LISTENER runs on Monday at 11:46:01.

  • It collects the interaction "Click Through" of “John Doe”, puts it into internal target group TGi_EM2_1 and schedules the execution of this action for Wednesday at 11:46:02.

  • The action job starts on Wednesday at 11:46:02 and sends the email EM2_1 to “John Doe” on Wednesday at 11:46:03.


 

  • Target group member 2 “Joe Public” clicks on a link in email EM2 on Tuesday at 21:30:05, corresponding interaction “Click Through” is written into the system.

  • The technical background job SAP_CUAN_MKT_EXEC_LISTENER runs on Tuesday at 21:31:01.

  • It collects the interaction "Click Through" of “Joe Public”, puts it into internal target group TGi_EM2_1 and schedules the execution of this action for Thursday at 21:31:02.

  • The action job starts on Thursday at 21:31:02 and sends the email EM2_1 to “Joe Public” on Thursday at 21:31:04.


 

  • Target group member 49999 “Jane Smith” clicks on a link in email EM2 on Friday at 07:58:12, corresponding interaction “Click Through” is written into the system.

  • The technical background job SAP_CUAN_MKT_EXEC_LISTENER runs on Friday at 07:59:01.

  • It collects the interaction "Click Through" of “Jane Smith”, puts it into internal target group TGi_EM2_1 and schedules the execution of this action for Sunday at 07:59:06.

  • The action job starts on Sunday at 07:59:06 and sends the email EM2_1 to “Jane Smith” on Sunday at 07:59:07.



























































Email EM2 Email EM2_1
TG Member Contact Sending date / time Clicking date / time Sending date / time
1 John Doe Monday 07:02:00 Monday 11:45:36 Wednesday 11:46:03
2 Joe Public Monday 07:02:01 Tuesday 21:30:05 Thursday 21:31:04
3 Jane Doe Monday 07:02:02 Not clicked Not sent
49999 Jane Smith Monday 07:21:30 Friday 07:58:12 Sunday 07:59:07
50000 Jenny Public Monday 07:21:31 Not clicked Not sent


 

 

Restart


If the execution of a follow-up action failed it will reprocess all not-processed interactions again if the action is executed again. Such a “restart” is done automatically, either because the technical background job has collected again newly created interactions and scheduled again the action. Or by another technical job which collects all aborted actions of a trigger based campaign and restarts them if their last execution is older than a certain period of time. More details can be found in “Application Help: Business Features -> Campaigns -> Managing Campaigns -> Restarting Campaigns”

 

STOP button


If you push the button “Stop” the campaign with all its follow-up triggers and actions is stopped and no next executions will be planned anymore. A stopped campaign cannot be changed or paused or restarted anymore.

The “Stop” button will not stop a currently running action job.

 

End date of campaign


The start action of the campaign will be processed until the end date of the campaign is reached.

All follow-up triggers and actions are processed and executed, even if the campaign has reached the end date. Only if the campaign is stopped, all follow-up triggers and actions are stopped too. Even if campaign is paused, all follow-up triggers and actions are processed and executed.

If the action assigned to the start trigger is executed and the end date of the campaign is in the past, this execution fails and an error message ”Please adapt the end date of campaign “<ID of campaign>”. It must lie ahead.” is shown in the log.

 

How can an execution happen AFTER the end date?

Example:

  • On 10. March a campaign is scheduled for 14. March and campaign has an end date 15. March.

  • On 12. March the end date of the campaign was changed manually to 12. March.

  • Execution is still scheduled for 14. March.

  • On 14. March execution checks the end date of the campaign an raises an error message and finishes with error.


 

Retrieval of personalization values for the personalized emails


The retrieval depends on the used personalization attributes of the email content.

If only attributes of the interaction contact are used the values are retrieved from the root table of the interaction contact = Golden Record.

If attributes of a segmentation object are used these values are retrieved by usage of an API of segmentation engine. Here are two cases of retrieval depending on if the action is assigned to start trigger or to follow-up trigger.

  • Action assigned to start trigger


As described in chapter “2. Email content and usage of personalization attributes” the filters of target group’s segmentation model are applied by default. With Business Add-In and Target Group Configuration you can influence this retrieval and prohibit that the filters are applied.




  • Action assigned to follow-up trigger


Because here no segmentation model related target group is used the retrieval of the personalization values is done without applying the filters.


Note:


If your email content uses personalization attributes of a segmentation object and the personalization attribute can have several values (= multi-value), the personalized email will show all these values, separated by comma.


 

 

Recipient’s email address


Campaign has no “Communication Category” assigned


The email address of the recipient is taken from the root table of the interaction contact = Golden Record.

Campaign has a “Communication Category” assigned


If a communication category is assigned this campaign acts as a subscription-enabled campaign. The communication category identifies the subscription topic. The processed interaction contacts must have been subscribed to this communication category in order to receive the email. The email address of the recipient is taken from the marketing permission table where interaction contact’s email address for the corresponding communication category is stored.

More details regarding subscriptions can be found in “Application Help: Business Features -> Permission Marketing

More details regarding subscription-enabled campaigns can be found in “Application Help: Business Features -> Campaigns -> Campaign Channels -> Email and Text Message Campaigns -> Subscription-Enabled Campaigns”

 

 

Marketing Permission Check


Campaign has no “Communication Category” assigned


The action “Send Email” checks for every interaction contact that the contact has valid marketing permissions. Only if this check is successful the interaction contact will receive the email.

You can skip this check by setting the flag “Ignore Marketing Permission” for the campaign. In this case the execution log shows the message “Check for marketing permission is suspended by a campaign setting”.

More details regarding permissions can be found in “Application Help: Business Features -> Permission Marketing

Campaign has a “Communication Category” assigned


If a communication category is assigned this campaign acts as a subscription-enabled campaign. The communication category identifies the subscription topic. The processed interaction contacts must have been subscribed to this communication category in order to receive the email = instead of checking the marketing permission the campaign execution checks for the subscription.

The flag “Ignore Marketing Permission” is not used in this case, this means that the campaign execution always checks for subscriptions if a communication category is assigned.

 

 

Messages in execution log



  • No contact key "<UUID of interaction contact>" found for execution of campaign action


This warning messages is raised if the campaign execution cannot find the interaction contact. This can happen if the dynamic target group has an older snapshot of members because – due to settings of target group’s retention period - the rebuild was not done immediately before the campaign execution started. In the time between last rebuild of target group and execution of campaign’s action the interaction contact has been removed, e.g. by a merge with another interaction contact. Hence the executed action cannot retrieve details of the interaction contact (e.g. email address) and cannot process it.




  • No interaction data found for interaction "<UUID of interaction>"


This warning message is raised if the campaign execution cannot find the interaction which shall be processed by a follow-up action. This can happen if the technical background job SAP_CUAN_MKT_EXEC_LISTENER has collected the interaction, put it into an internal target group and scheduled the execution of the action “Send Email” for a particular date or time. In the timeframe between the collection of the interaction and execution of the action this interaction has been removed again from the database. Hence the executed action cannot retrieve details of the given interaction and cannot process it.




  • No dynamic content found for contact "<UUID of interaction contact>" (segmentation object "<ID of segmentation object>").


This information message is explained in SAP note 2528524


 

Previous chapter Campaign definition
2 Comments