Natural Language Date Filter

KatieZ
Level 1

Natural Language Date Filter

I have a theory that Marketo's "in future before xx days" uses hours as a unit of measurement. Can anyone confirm or provide insight?

Situation: We want to send a renewal notice to customers whose subscriptions expire 30 days from the send date. We are using expiration date "is in future 31 days", and expiration date "is in future after 30 days" to isolate that 30th day before expiration.

 

We are transitioning these renewal notices from an old marketo instance to a new marketo instance. I'm noticing some weird discrepancies between the two systems and I want to know more about how Marketo calculates those natural language durations for "in future 31 days" and "in future after 30 days".


Example:
In the old system Contact A's expiration date is set as 4/5/2024 (no timestamp)
In the new system Contact A's expiration date is set as 4/5/24 11:59pm
In the old system, Contact A qualifies for the smart list and is sent the renewal notice on 3/5/24.

However, in the new system Contact A qualifies for the smartlist and is sent the renewal notice on 3/6/24.

Why is that if they both show the same day date and both are using identical smart list filters. (Assume everything else about the data and smartlist are identical)


Side note:
The old system's timezone is PST
The new system's timezone is EST


So my question is, does Marketo calculate the natural language filters for "in future" and "in future after" in hour increments and the timestamp is causing the same contact to qualify on different dates?

 

UPDATE:

I suspect Marketo is processing in hours because 722 hours before 4/5/24 00:00 is 3/5/24, whereas 722 hours before 4/5/24 23:59 is 3/6/24. (30 days is 720 hours, so I'm looking for just after 720 hours)

10 REPLIES 10
SanfordWhiteman
Level 10 - Community Moderator

Re: Natural Language Date Filter

To be clear, are you running these Smart Lists at exactly the same time? (And making sure they're not cached.)
KatieZ
Level 1

Re: Natural Language Date Filter

We're using Smart Campaigns, and I'll need to check with other team members on the rest of the question.

SanfordWhiteman
Level 10 - Community Moderator

Re: Natural Language Date Filter

When I say same time, I mean same UTC time.
uditmathur
Level 5

Re: Natural Language Date Filter

Hi,

Can you also confirm when are you scheduling Email campaign to run & if you are using "Recipient Time Zone" while scheduling your Email Campaign.

uditmathur_0-1710219477575.png

 

As when you use this check box Marketo calculates the time zones setting considering 2 scenarios of  1. scheduled delivery within 25 Hours & 2. Scheduled delivery after 25 hours.

 

 

KatieZ
Level 1

Re: Natural Language Date Filter

We're using Smart Campaigns to send or add to list.

SaurabhGoyal_GN
Level 4

Re: Natural Language Date Filter

Hi @KatieZ - 

I wanted to clarify how filters work in Marketo when it comes to applying them based on days. In Marketo, 1 day is considered as 24 hours. If we have data available with both date and time, we can filter it more accurately based on time. However, if we only have the date, Marketo will count every date as 1 day.

In relation to your filters in hours, it is important to consider the recurring batch campaign scheduling time. For example, let's say Contact A has an expiration date of 3/31/24 10:59PM EST and you want to send an email on March 1st, 2024 at 09:00 AM EST. In this case, the filters should be set as "in future after 711 hours" and "in future 735 hours."

The logic behind this is that there are 30 days in a month, equaling 720 hours. Since you are sending the email at 9 AM EST, subtracting 9 from 720 gives us 711 hours. Similarly, with 31 days in a month, you get 744 hours, so subtracting 9 gives us 735 hours.

I hope this explanation clarifies any questions you may have had. 

 

If this solution meets your requirements, please mark it as the solution.

 

Tags (3)
KatieZ
Level 1

Re: Natural Language Date Filter

Maybe we're talking about the same thing but in different ways.

 

To put it more concisely, I'm asking why would Contact A receive a 30 day notice (via a Smart Campaign) on different days, when both systems have 4/5/24 as the expiration date, and both smart campaigns run at the same time?

uditmathur
Level 5

Re: Natural Language Date Filter

Hi,

Given your use case expiration of subscription of Contact A in old system happens on 4/5/2024 (i.e. 12:00AM on 4/5/2024 or to put in time stamp terms @ 11:59PM on 4/4/204) & on the new instance with time stamp expiration happens on 4/5/2024 @ 11:59PM (I.e. when date changes 4/6/2024).

Also, if you are using "Recipient Time Zone" & by the time your campaign is fired the scheduled time in recipient zone has already passed then it will be delivered on the consecutive day.

these articles might help you further understand 

https://experienceleague.adobe.com/en/docs/marketo/using/product-docs/email-marketing/email-programs...

https://experienceleague.adobe.com/en/docs/marketo/using/product-docs/email-marketing/email-programs...

 

SanfordWhiteman
Level 10 - Community Moderator

Re: Natural Language Date Filter


Given your use case expiration of subscription of Contact A in old system happens on 4/5/2024 (i.e. 12:00AM on 4/5/2024 or to put in time stamp terms @ 11:59PM on 4/4/204) & on the new instance with time stamp expiration happens on 4/5/2024 @ 11:59PM (I.e. when date changes 4/6/2024).


This isn’t a correct description of how datetime-to-datetime and datetime-to-date comparisons work in Marketo.

 

I will explain further in an official blog post in the Products area. Will take a few days to publish.