Date filter never passes — comparing Google Sheets date to "15 days ago"

:bullseye: What is your goal?

I am collecting client data in a google form. With this form I am using the google sheet to pull certain data, in specific a email and check out date. I want to automatically send them an email 15 days after their checkout date as well as specific other days after their checkout.

:thinking: What is the problem & what have you tried?

The HTTP and Gmail modules work perfectly — when I manually pick a row and bypass the filter, the email sends correctly. The only thing failing is the date filter. It always shows “bundle did not pass through the filter,” even when the row’s checkout date should match.
My filter condition:

Value 1: Checkout date (D) (mapped from Google Sheets)
Operator: I’ve tried Text operators “Equal to” AND Datetime operators “Equal to”
Value 2: formatDate(now; “M/D/YYYY”) (and many variations)

What the Google Sheets module outputs for that field:
Checkout date (D): 6/8/2026
What I’ve already tried (none worked):

formatDate(now; “M/D/YYYY”) with Text operator Equal to
formatDate(now; “M/d/yyyy”) (lowercase tokens)
formatDate(addDays(now; -15); “M/D/YYYY”)
Same with commas instead of semicolons
Datetime operators: Equal to with formatDate(now; “YYYY-MM-DD”)
Inserting now as the proper variable (confirmed it resolves to “current date and time,” not text)

For testing I set a row’s checkout date to today (6/8/2026) and use formatDate(now; “M/D/YYYY”) — it still won’t match.
My question: Is my “Checkout date” column being read as a real date value vs. text, and is that the reason the comparison fails? What’s the correct filter setup to check whether a Google Sheets date equals “today minus 15 days,” accounting for the time component? I only care about the calendar date, not the time.
Screenshots of my filter and the Sheets module output are attached. Thanks!

:camera_with_flash: Screenshots (scenario flow, module settings, errors)

Hey Andrew :waving_hand:

You can try out this filter:

{{formatDate(parseDate(1.Checkout date (D); “M/D/YYYY”); “YYYY-MM-DD”)}}
Text operators → Equal to
{{formatDate(addDays(now; -15); “YYYY-MM-DD”)}}

Let us know how it goes :wink:

-John

Hey Andrew,

your screenshot shows that the google sheet is showing M/D/YYYY HH:mm:ss as date, so you will need to grab only the date from there first to compare it.

Hi, this usually happens because the date you see in Google Sheets is not always the same thing the filter/query is comparing internally.

If your date column contains real dates or timestamps, I would use a start/end boundary instead of checking one displayed date value.

For example, for the last 15 days:

=QUERY(A1:D, “select * where A >= date '”&TEXT(TODAY()-15,“yyyy-mm-dd”)&“’ and A < date '”&TEXT(TODAY()+1,“yyyy-mm-dd”)&“'”, 1)

The important parts are:

  1. Use date ‘yyyy-mm-dd’ inside QUERY.
  2. Use TEXT(date_cell,“yyyy-mm-dd”) when the date comes from a cell.
  3. If the column may include timestamps, use < tomorrow instead of = today.

I wrote up the common date patterns here with copy-paste formulas:

Hope that helps.