Skip to main content
ACC - Workflow Details

Detailed explanation of the activities that make up the Adobe Campaign split test workflow

Updated over a week ago

Campaign + scheduling settings

This is a JavaScript activity where you specify the date and times of your campaign and enter the Jacquard experiment ID. The code in this activity contacts the Jacquard Connect API service and retrieves the experiment details, including the language variants. The code saves all the Jacquard experiment details within the workflow in what we call the campaign object.

Dates and times

FinalSendDate - the date your campaign will be sent
FinalSendTime - the time of day your campaign will be sent
FinalSendWaitTime - the number of hours your split test will run (typically at least 4 hours)

The “finalSendDate”, “finalSendTime” and “FinalSendWaitTime” fields all work in conjunction with the “Wait” activities set before your split test and final send deliveries.

What the workflow code does is calculate the split test send time by subtracting “FinalSendWaitTime” from the “finalSendTime” eg. Setting the “finalSendTime” = “14:00:00” and “FinalSendWaitTime” = 4 would translate into (14:00:00 – 04:00:00 = 10:00:00). This would mean the split tests should start to send at 10 am.

The workflow then calculates the time difference between the current time and the split test and final send time and sets the relevant “Wait” activities to these times. These calculations take the date into account. If the user schedules the day before at 14:00:00, the split test “Wait” activity would be set to wait 20 hours and the final send “Wait” activity would be set to wait 24 hours (to allow for 4 hours of split testing).

Confused yet? The above is a bit complicated, and may require a second reading, but it’ll all make sense, we promise.

What this all means is that you can schedule a delivery and then start your workflow long before your deliveries are meant to be sent.

Split

This is a standard split activity configured to split the audience into two parts 1. The recipients of the split test email 2. The recipients of the final delivery with the winning subject line. We will refer to these two branches as the "Splits branch" and the "Final branch"

Split branch

Enrichment

The first activity on the split branch is an Enrichment.

This adds a field to the recipients data called language_variant_id. This is for the workflow to assign one of the test language variants (subject lines) to each recipient in the target audience in the next activity in the workflow.

Get variants + randomise audience

This JavaScript activity divides the subscribers in the split branch equally between the number of variants that are being tested. It also then assigns a subject line via the language_variant_id to each one of those subscribers.


Wait for split test deployment time

This wait activity is configured by the initialization script in the advanced tab. This is a calculation to determine the amount of time that should be waited between now and the deployment time entered in the Campaign + scheduling settings activity.

Added for Target Data

This is an Enrichment activity that has no settings and is purely here to realign the data schema names.

Send split test email

This email delivery activity is where you should select your delivery. This can be done either by selecting a specific delivery or by creating a new delivery based on a template. It is important that the email selected here completely configured and ready to send as if you were going to send it normally. The preferred option here is New, created from a template

Wait until finalSendTime to get results

This is another standard wait activity where the wait time is calculated in the initialization script in the Advanced tab. It halts the workflow here and waits the prescribed time set in the Campaign + scheduling settings activity. Normally 4 hours.


Get results of split test and notify users

This alert activity is a critical part of the workflow. In the initialization script section of the Advanced tab is the JavaScript code that gets the results (unique opens, clicks, etc) of the split test subject lines and determines the winning subject line to be sent to the subscribers who are in the Final branch of the workflow. The code in this activity is scheduled to run 10 minutes before the schedule final send time in order to give the system enough time to retrieve the results. If the results have not be retrieved by 10 minutes after the final send time, the workflow is to continue sending the campaign using the subject line configured in the template selected.

The code will send the results to the Jacquard platform via the Jacquard Connect API and will also send the results in table form via email to recipient configured in the activity via the Assignee property.


End

This ends the split test branch of the workflow.

Final Branch

Wait for results or start at FinalSendTime + 10mins

This is a standard wait activity that is configured by the JavaScript in the Initialization script in the Advanced tab. The delay is calculated to 10 minutes after the FinalSendTime configured in the settings. If the split test results code determines a winner before this time has been reached it triggers this wait activity to continue. Similarly if there have been no results 10 minutes after the scheduled time this wait will end and the workflow will continue with the final send using the user subject line configured in the template.

Added for Target Data

This is an Enrichment activity that has no settings and is purely here to realign the data schema names.


Send final email

This is the second configurable email delivery activity and should be configured in exactly the same way as you configured the split test delivery. Using the created for a template option is the preferred option.

Wait

This is a standard wait activity and is configured normally by entering the amount of time you wish to wait. As standard this is set to 1 day.

Get final results and send to users

This is a standard Alert activity that has JavaScript code in the advanced tab that gets the results of the final send. It then updates the Jacquard experiment via the API and sends an email with the tabulated results to whomever is configured to receive them.

Did this answer your question?