Lens

Dates and Time Zones

How Lens stores dates, which time zone each source uses, how boards show them in your property's time zone, and the settings that keep days from shifting.

Two time zones, one rule

Each table records the time zone its dates are stored in. Boards and reports show dates in your property's time zone (from the property, else the company, else America/New_York). When the two differ, Lens converts at query time. When they match, no conversion happens.

Which time zone each source uses

Lens sets the storage time zone when you save the table:

SourceStored in
GA4 (daily)The property's time zone. When the table uses a Google connection, Lens reads the GA4 property's own reporting time zone instead
GA4 with the dateHour dimensionUTC
Google Ads, Adobe, BigQuery, REST APIThe property's time zone
Meta AdsThe ad account's time zone
Echo, CSV, JSONL, S3, GCS, AirbyteUTC, adjusted by the table's Source Timezone setting (below)
Join, UnionThe shared time zone of their source tables
PivotThe property's time zone

File and API sources: set Source Timezone

File and API tables have a Source Timezone panel, default UTC. It tells Lens what time zone the dates in your data are written in. A date with no time, such as 2026-10-01, is read as midnight in that zone.

Match Source Timezone to your data

If your CSV has US dates but Source Timezone is left at UTC, each date is stored as midnight UTC. Shown in a US property time zone, midnight UTC is the evening of the previous day, so rows can land one day early on the board. Set Source Timezone to the zone the dates were written in, usually your property's.

Hourly data

Tables are daily by default. A GA4 table becomes hourly when you add the dateHour dimension; because that changes the columns, the table rebuilds. Rows with only a date land at midnight, so on an intraday view they all fall in hour 0.

Join and Union need one time zone

A Join or Union refuses source tables stored in different time zones, because their days would not line up. Fix the source tables first, for example by giving a CSV the same Source Timezone as the GA4 table you want to join it to.

What "last 7 days" means

WhereRange
Board date picker, Last 7 daysThe 7 full days ending yesterday. Turn on Include today to add today
A tile's own relative range, last_7_daysEnds today, so it includes today's partial data
"Today" anywhere on a boardToday in the property's time zone

If a tile and the board disagree by a day, check whether the tile has its own date range.