background shape
background shape

Mastering Workflow Time zones in Adobe Campaign

When working with workflows in Adobe Campaign Classic (ACC), time zone configuration plays a vital role in ensuring accuracy for time-dependent tasks such as queries, data imports, exports, or scheduled executions of campaigns. By properly setting up workflow-specific time zones to match your local time zone, you can ensure smooth operations and avoid potential discrepancies.

Why Workflow Time zone Matters

Adobe Campaign Classic’s default behavior uses the server’s time zone or the operator’s time zone for date and time settings. This may lead to inconsistencies when workflows are executed across different time zones or when operators from various regions collaborate. Configuring the time zone at the workflow level ensures precision and minimizes confusion, particularly for:

  • Scheduled Campaigns: It often happens that you work with stakeholders from around the world, each requiring a schedule in their local timezone. To make things easier, you can set the workflow time zone to your desired one and then configure the scheduler in the requested local time.
  • Export import activities: Time-sensitive operations like data imports and exports will use server time zone if not set differently
  • Targeting and Segmentation: When time-based conditions are involved. The setting will be more accurate. For example when querying all clicks from yesterday.
  • Data Reporting: Ensuring timestamps in reports align with the intended time zone.

Configuring Time zone Settings at the Workflow Level

To customize the time zone for a workflow:

Time zone settings in adobe campaign classic
  1. Access the Workflow Properties:
    • Open the desired workflow in Adobe Campaign Classic.
    • Click on Properties button on top of the workflow canvas.
  2. Modify the Timezone:
    • Navigate to the General tab in the workflow properties.
    • Locate the Time zone field and choose the appropriate time zone from the dropdown menu.
    • Save the changes.

Best Practices for workflow Time zone Management

  • Ensure Consistency Across Workflows: Align time zones across interconnected workflows to maintain data integrity. For all date-related fields, you are informing the workflow of the time zone your data is in.
  • Document Time zone Changes: Clearly document time zone settings within workflow descriptions for easy reference by other team members.
  • Test Time-Based Logic: Validate any time-dependent logic or scheduled tasks to ensure they execute correctly within the configured time zone.

Setting Workflow Activity-Specific Time zone Settings

In Adobe Campaign Classic, you can configure time zone settings at the activity level instead of relying solely on the workflow-level time zone. This can be particularly useful when a workflow involves activities that need to execute in different time zones, providing greater flexibility and precision.

Steps to Set Time zone for a Workflow Activity:

  1. Open the Workflow:
    • Access the workflow in Adobe Campaign Classic and locate the activity where you need to set a specific time zone.
  2. Select the Activity:
    • Click on the desired activity (e.g., a scheduler, query, or delivery activity) and open its Advanced tab.
  3. Modify Time zone Settings:
    • In the activity advanced tab, navigate to the section that specifies the time zone.
    • Select the appropriate time zone for that specific activity from the dropdown menu.
  4. Save the Changes:
    • Click OK to confirm your settings.
  5. Test the Workflow:
    • Run or simulate the workflow to verify that the activity executes at the expected time in the specified time zone.
Settings for adobe campaign classic workflow activity timezone.

Where we use time zone settings on activity level

Extracts for Different Stakeholders

You manage a global campaign, and different stakeholders in various regions (e.g., New York, London, and Tokyo) need daily data extracts scheduled in their respective local time zones.

Solution:

  • Configure a Data Extract activity for each stakeholder.
  • Set the timezone of each extract activity to the specific region, e.g.:
    • New York: America/New_York
    • London: Europe/London
    • Tokyo: Asia/Tokyo
  • This ensures extracts are generated and delivered at appropriate times for each stakeholder, avoiding confusion caused by a single global workflow-level time zone.

Working with time zones in JavaScript

JavaScript activities allow for more dynamic and precise operations, especially when working with varying time zones, date formatting, or advanced date calculations. Combining Adobe’s JSAPI functions with ES5’s capabilities enables you to build robust and flexible workflows that meet custom requirements.

formatDate

Almost certainly, when working with Adobe Campaign Classic, you have encountered the formatDate function. This is not a core JavaScript function for working with and formatting dates but rather an Adobe JSAPI function. Now, here comes the plot twist: not many know that this function accepts a third argument to specify the time zone you want to use for your date operations.

formatDate(date, format [, timeZone])
  • date: The date object you wish to format.
  • format: A string that defines the desired output format using specific characters to represent date components.
  • timeZone(optional): A string representing the timezone to apply. If omitted, the server’s default timezone is used.

Format

  • Y – Year
  • M – Month of the year (1-12)
  • B – Month name
  • D – Day of the month (1-31)
  • A – Day name
  • J – Day of the year (1-366)
  • W – Week of the year
  • H – Hour (0-23)
  • I – Hour (1-12)
  • N – Minutes (0-59)
  • S – Seconds (0-59)
  • P – AM/PM

Examples

  • “%4Y/%2M/%2D” => 2000/01/24.
  • “%A %D %B %4Y” => mon 24 jan 2000.
  • “%Al %D %Bl %4Y” => monday 24 january 2000.
  • “%02H:%02N:%02S” displays the hour, minutes and seconds to two figures.

timeZone

String of characters corresponding to the time zone. Possible values are specified in the xtk:common:timezone enumeration schema. Simply put you can use any value from any time zone drop down setting.

timezone common settings in adobe campaign classic

First four do not work maybe later I will figure that out or someone will tell me 🙂

Name Value
Default _inherit_
Server time zone _server_
Operator time zone _login_
Time zone of the database _wdbc_

All values below work as intended.

Name Value
Default _inherit_
Server time zone _server_
Operator time zone _login_
Time zone of the database _wdbc_
(GMT-11:00) Samoa Pacific/Samoa
(GMT-11:00) Greenwich Mean Time minus 11 hours Etc/GMT+11
(GMT-10:00) Hawai Pacific/Honolulu
(GMT-10:00) Greenwich Mean Time minus 10 hours Etc/GMT+10
(GMT-09:00) Alaska America/Anchorage
(GMT-09:00) Greenwich Mean Time minus 9 hours Etc/GMT+9
(GMT-08:00) Pacific (United States and Canada) America/Los_Angeles
(GMT-08:00) Greenwich Mean Time minus 8 hours Etc/GMT+8
(GMT-07:00) Arizona America/Phoenix
(GMT-07:00) Chihuahua, La Paz, Mazatlan America/Chihuahua
(GMT-07:00) Rocky Mountains (United States and Canada) America/Denver
(GMT-07:00) Greenwich Mean Time minus 7 hours Etc/GMT+7
(GMT-06:00) Central America America/Regina
(GMT-06:00) Center (United States and Canada) America/Chicago
(GMT-06:00) Guadalajara, Mexico, Monterrey America/Mexico_City
(GMT-06:00) Greenwich Mean Time minus 6 hours Etc/GMT+6
(GMT-05:00) Bogota, Lima, Quito America/Bogota
(GMT-05:00) Est (United States and Canada) America/New_York
(GMT-05:00) Indiana (East) America/Indianapolis
(GMT-05:00) Greenwich Mean Time minus 5 hours Etc/GMT+5
(GMT-04:30) Caracas America/Caracas
(GMT-04:00) Asunción America/Asuncion
(GMT-04:00) Cuiaba America/Cuiaba
(GMT-04:00) La Paz America/La_Paz
(GMT-04:00) Manaus America/Manaus
(GMT-04:00) Atlantic Standard Time (Canada) America/Halifax
(GMT-04:00) Santiago America/Santiago
(GMT-04:00) Greenwich Mean Time minus 4 hours Etc/GMT+4
(GMT-03:30) Newfoundland America/St_Johns
(GMT-03:00) Brasi America/Sao_Paulo
(GMT-03:00) Buenos Aires, Cayenne, Fortaleza America/Buenos_Aires
(GMT-03:00) Greenland America/Godthab
(GMT-03:00) Montevideo America/Montevideo
(GMT-03:00) Greenwich Mean Time minus 3 hours Etc/GMT+3
(GMT-02:00) Central-Atlantic Atlantic/South_Georgia
(GMT-02:00) Greenwich Mean Time minus 2 hours Etc/GMT+2
(GMT-01:00) Cape Verde islands Atlantic/Cape_Verde
(GMT-01:00) The Azores Atlantic/Azores
(GMT-01:00) Greenwich Mean Time minus 1 hour Etc/GMT+1
(GMT) Casablanca Africa/Casablanca
(GMT) Greenwich Mean Time: Dublin, Edinburgh, Lisbon, London Europe/London
(GMT) Monrovia Africa/Monrovia
(GMT) Reykjavik Atlantic/Reykjavik
(GMT) Greenwich mean time GMT
(GMT+01:00) Central Africa – West Africa/Luanda
(GMT+01:00) Amsterdam, Berlin, Berne, Rome, Stockholm, Vienna Europe/Berlin
(GMT+01:00) Belgrade, Bratislava, Budapest, Ljubljana, Prague Europe/Belgrade
(GMT+01:00) Brussels, Copenhagen, Madrid, Paris Europe/Paris
(GMT+01:00) Sarajevo, Skoplje, Sofia, Warsaw, Zagreb Europe/Sarajevo
(GMT+01:00) Greenwich Mean Time plus 1 hour Etc/GMT-1
(GMT+02:00) Amman Asia/Amman
(GMT+02:00) Athens, Istanbul, Minsk Europe/Athens
(GMT+02:00) Beirut Asia/Beirut
(GMT+02:00) Bucarest Europe/Bucharest
(GMT+02:00) Damas Asia/Damascus
(GMT+02:00) Harare, Pretoria Africa/Harare
(GMT+02:00) Helsinki, Kiev, Riga, Sofia, Tallinn, Vilnius Europe/Helsinki
(GMT+02:00) Jerusalem Asia/Jerusalem
(GMT+02:00) Cairo Africa/Cairo
(GMT+02:00) Windhoek Africa/Windhoek
(GMT+02:00) Greenwich Mean Time plus 2 hours Etc/GMT-2
(GMT+03:00) Bagdad Asia/Baghdad
(GMT+03:00) Koweït, Riyad Asia/Riyadh
(GMT+03:00) Moscow, St. Petersburg, Volgograd Europe/Moscow
(GMT+03:00) Nairobi Africa/Nairobi
(GMT+03:00) Greenwich Mean Time plus 3 hours Etc/GMT-3
(GMT+03:30) Teheran Asia/Tehran
(GMT+04:00) Abu Dhabi, Muscat Asia/Muscat
(GMT+04:00) Baku Asia/Baku
(GMT+04:00) Caucasus, Erevan Asia/Yerevan
(GMT+04:00) Port Louis Indian/Mauritius
(GMT+04:00) Tbilissi Asia/Tbilisi
(GMT+04:00) Greenwich Mean Time plus 4 hours Etc/GMT-4
(GMT+04:30) Kabul Asia/Kabul
(GMT+05:00) Iekaterinburg Asia/Yekaterinburg
(GMT+05:00) Islamabad, Karachi, Tachkent Asia/Karachi
(GMT+05:00) Greenwich Mean Time plus 5 hours Etc/GMT-5
(GMT+05:30) Calcutta Asia/Calcutta
(GMT+05:30) Kolkata, Chennai, Mumbai, New Delhi Asia/Kolkata
(GMT+05:30) Sri Jayawardenepura Asia/Colombo
(GMT+05:45) Katmandu Asia/Katmandu
(GMT+06:00) Astana, Dhaka Asia/Dhaka
(GMT+06:00) Novossibirsk Asia/Novosibirsk
(GMT+06:00) Greenwich Mean Time plus 6 hours Etc/GMT-6
(GMT+06:30) Rangoon Asia/Rangoon
(GMT+07:00) Bangkok, Hanoi, Djakarta Asia/Bangkok
(GMT+07:00) Krasnoïarsk Asia/Krasnoyarsk
(GMT+07:00) Greenwich Mean Time plus 7 hours Etc/GMT-7
(GMT+08:00) Irkoutsk Asia/Irkutsk
(GMT+08:00) Kuala Lumpur, Singapore Asia/Kuala_Lumpur
(GMT+08:00) Oulan-Bator Asia/Ulan_Bator
(GMT+08:00) Beijing, Chongqing, Hong Kong, Urumqi Asia/Shanghai
(GMT+08:00) Perth Australia/Perth
(GMT+08:00) Taipei Asia/Taipei
(GMT+08:00) Greenwich Mean Time plus 8 hours Etc/GMT-8
(GMT+09:00) Osaka, Sapporo, Tokyo Asia/Tokyo
(GMT+09:00) Seoul Asia/Seoul
(GMT+09:00) Yakoutsk Asia/Yakutsk
(GMT+09:00) Greenwich Mean Time plus 9 hours Etc/GMT-9
(GMT+09:30) Adelaïde Australia/Adelaide
(GMT+09:30) Darwin Australia/Darwin
(GMT+10:00) Brisbane Australia/Brisbane
(GMT+10:00) Canberra, Melbourne, Sydney Australia/Canberra
(GMT+10:00) Guam, Port Moresby Pacific/Guam
(GMT+10:00) Hobart Australia/Hobart
(GMT+10:00) Vladivostok Asia/Vladivostok
(GMT+10:00) Greenwich Mean Time plus 10 hours Etc/GMT-10
(GMT+11:00) Magadan, The Solomon Islands, New Caledonia Pacific/Guadalcanal
(GMT+11:00) Greenwich Mean Time plus 11 hours Etc/GMT-11
(GMT+12:00) Auckland, Wellington Pacific/Auckland
(GMT+12:00) Fidji Pacific/Fiji
(GMT+12:00) Greenwich Mean Time plus 12 hours Etc/GMT-12
(GMT+13:00) Nuku’alofa Pacific/Tongatapu
(GMT+13:00) Greenwich Mean Time plus 13 hours Etc/GMT-13
var serverDate = getCurrentDate();

// Array of 10 random timezone values
var timezones = [
  "America/Phoenix",
  "Asia/Kolkata",
  "Europe/London",
  "Pacific/Samoa",
  "America/Anchorage",
  "Asia/Shanghai",
  "Australia/Sydney",
  "Africa/Nairobi",
  "America/New_York",
  "Etc/GMT+5"
];

// Loop through the timezones and log the formatted date for each
timezones.forEach(function (timezone) {
  var formattedDate = formatDate(serverDate, "%2D/%2M/%2Y %02H:%02N:%02S", timezone);
  logInfo("Converted Server Date for timezone (" + timezone + "): " + formattedDate);
});

Oh hi there 👋
I have a FREE e-book for you.

Sign up now to get an in-depth analysis of Adobe and Salesforce Marketing Clouds!

We don’t spam! Read our privacy policy for more info.

Share With Others

MarTech consultant

Marcel Szimonisz

Marcel Szimonisz

I specialize in solving problems, automating processes, and driving innovation through major marketing automation platforms.

Buy me a coffee