0

We are using the Now() function in a journey email. This gets converted into a Local Date and also formatted into a readable string. The variables are then passed to a data extension via the InsertDE() function. However, the time outputs in the data extension are showing up to a 10 min difference. The following code snippet appears first in the email body:

Set @LocalDateTime = Now()
Set @Send_Date_SFMC = SystemDateToLocalDate(@LocalDateTime)
Set @Send_Date_Time = FormatDate(@LocalDateTime, "yyyy/MM/dd HH:mm:ss")

Then there are condition statements containing the InsertDE() function. There are a lot of records being processed and the code below only shows a small portion of the inserted fields:

InsertDE("DE1", "SubscriberID",@SubscriberID,
 "Send_Date_Time",@Send_Date_Time, "Send_Date_SFMC",@Send_Date_SFMC)

So my question is: Does the OMM fix the Now() function for the @Send_Date_Time as a formatted constant, but only translates the value of the @Send_Date_SFMC variable later (because it is essentially retrieving the Now() system time value during the insert process which occurs last)? Putting it another way, does the InsertDE() function process this code at send time

@Send_Date_SFMC = SystemDateToLocalDate(Now())

or is the date/time cached when the @LocalDateTime variable is first set?

Failing that theory, perhaps someone may be able to shed light on what else might be causing the lag.

1 Answer 1

0

It was kind of hard to understand the exact problem without an example result.

From what I could gather, here is my input:

It is documented that Inserts etc. are not handled at individual send time but at the end of processing for a send. So the insert definitely processes last.

https://developer.salesforce.com/docs/marketing/marketing-cloud/guide/ampscriptProcessing.html

I would investigate the GetSendTime function ("This function returns the date and time a send starts or the date and time a send has completed for a specific subscriber." ) https://ampscript.guide/getsendtime/

...in contrast to Now() ("This function returns the current system date and time or the date and time of the original send.") https://ampscript.guide/now/

1
  • Sorry about the poor question format. Thanks for the suggestion on how to investigate further --- Add the GetSendTime() function as an additional string output and see if that matches the offset @Send_Date_SFMC value being inserted.
    – Sean_K
    Feb 6, 2022 at 15:37

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.