Time periods

How a window is picked, written, bounded by the plan, cut into buckets and compared with the one before it — in UTC calendar days, everywhere.

Updated October 26, 2026

A period is a window of whole UTC calendar days, inclusive at both ends: one of five presets, or a custom range picked on a calendar. How far back it may reach is the plan's window — a lens on an archive that keeps every event on every plan. "Previous period" is the equal-length window immediately before it, shown only when it fits inside the plan's window whole.

The period control

The control sits in the masthead of the Overview, of every screen of a site under the rail — Conversions, Networks, Campaigns, UTM tags, Signatures, Visitors, Connections, Events — and of the workspace home. It is one control everywhere, and a preset means the same thing on a site and on the home.

On the Overview and the workspace home the trigger and every preset row print the dates actually served, the Compare row previews its baseline, and the footer states the plan's reach. On the other screens it shows a preset's name without dates, a custom range prints the dates you picked, and the footer stays empty.

Two kinds of screen read no period from it. Realtime is its own fixed 24 hours. The three drill screens — one visitor, one connection, one session — read a fixed window of the last 30 days whatever period you were carrying, and carry no picker.

The trigger is a field: a calendar glyph, the preset's name or "Custom range", a hairline, then the dates actually served, as in "Last 7 days · Aug 12 – 18". The name is your choice; the dates are what the page shows. When the plan cut the window short, the dates wear a caution tone so "Last 30 days" over an eight-day range cannot read as one phrase.

It picks calendar days, never a time of day. Nothing here means "live".

The panel opens in two columns with a footer. On the left, the preset rail and, under it, the two Compare rows; on the right, the custom range's calendar. A preset applies on its own click and closes the panel; only the calendar waits for Apply. On a narrow screen the two columns stack.

The presets

PresetWindow
Todaythe current UTC calendar day
Yesterdaythe day before it
Last 7 daystoday and the six days before it
Last 30 daystoday and the twenty-nine days before it
This monththe first of the current month through today

Last 7 days is the default. On the Overview and the workspace home each row prints the dates it covers under its name — "Last 7 days / Aug 12 – 18". A preset the plan cuts short shows it on its own row: "Last 30 days / Jul 30 – Aug 5" is visibly not thirty days, and the footer says why.

A window is written the shortest way that still identifies it: "Jul 3 – 9" inside one month, "Jun 28 – Jul 4" across two, "Jul 3" for a single day, and years only when the window crosses a year boundary.

The custom range

The calendar shows one month. Pick a start, then an end; the line above it says where you are — "Pick a start date", then "Jul 3 — pick an end date", then the range in full — and Apply closes the panel with it. Days after today are disabled. Where the plan's floor is known, days before it are dimmed, not disabled: you can reach past the floor, and the footer tells you what you get.

The range rides the page's address as ?period=custom:YYYY-MM-DD:YYYY-MM-DD. The start never follows the end, the end is never later than today, and a span longer than 366 days keeps its most recent 366. Reopened on a custom window, the panel shows that range highlighted; the trigger reads "Custom range" followed by the dates served.

The plan's window

The window is how far back you can look. It is not retention: every event is kept on every plan, and a longer window reveals history that was always there, at once.

PlanWindow
Free7 days
Starter30 days
Solo92 days
Growth365 days
Agency730 days
Enterprise3,650 days

The window's first day is today minus the window in days, plus one: on a 7-day plan, today and the six days before it. What each plan includes is on Plans and billing.

A window that starts inside the plan's window is untouched. A start before the first day is moved forward to it, and the window is marked as cut short. A window that ends before the first day — a range the plan cannot see at all — shows the plan's whole window instead, also marked.

A cut-short window is never shown quietly. The footer says "Showing from Jul 27 — your plan's window." followed by "Every event is kept — the window is how far back this plan can look.", and the trigger's dates carry the caution tone. At rest the footer still states the reach: "Your plan looks back 30 days."

The month's event allowance

The plan has a second boundary, and on the Overview and the workspace home the footer states it when it applies: "Reads stop at Aug 2, 14:00 UTC — this month's event allowance." It comes before the window notice, because when both apply the allowance is what decides where the data stops.

Each month stops at its own cutoff and every other month is untouched: a window spanning two months shows the earlier month whole if that month stayed inside its allowance. Events past a cutoff are kept, unread; a larger allowance removes the cutoff and the window fills in at once. When the whole window sits past the cutoff, the Overview's empty state says exactly that instead of "no paid clicks", and a band above every site screen names the month that reached its allowance. On a plan that bills its overflow, nothing stops and nothing is withheld. See Plans and billing.

Where the window is remembered

A page opens on the URL's ?period= if it has one, then on the period you last applied, then on Last 7 days. The URL always wins, which is what makes a link shareable. An unreadable value is skipped for the next one.

Applying a period in the picker is what remembers it, for a year, across the product: a site opened without a period in its URL — from the site switcher, for instance — opens on the last window you applied anywhere. Opening a day from the chart does not remember it, and the comparison is not remembered at all.

Changing the window closes an open drill: the visitor, connection or session you were reading belongs to the old window. The drill's back link returns to the screen, the window and the comparison you drilled from.

UTC

Every date and hour in the product is UTC, with one exception, and there is no timezone setting. The exception is one group opened on Signatures: its Members column is headed "Time (Paris)", the "again from … at …" note gives Paris time too, and the What we know Period line gives the clicks' span "(Paris time)". Each says so where it stands, and each member's UTC instant is on hover. The same group's Timeline, its block and every stamp on the Signatures list stay in UTC.

The chart's axis stamps UTC hours ("14:30") and UTC dates ("Aug 14"), so a curve never shifts under your own timezone. The feed shows a session's age ("4m ago", "2h ago", "3d ago"); its exact instant is on hover, written "Aug 2, 2026 · 14:00:05 UTC". The allowance cutoff is written the same way, "Aug 2, 14:00 UTC". Panels that group by hour say so in their header — "hours in UTC" on a visitor's Arrival times.

Buckets

A trend is drawn from buckets, and the longer the window, the wider the bucket, so a curve holds about 150 points at most. The widths run from 1 second to 1 day; the chart's header names the one it drew.

PresetBucket
Today15-minute (96 buckets)
Yesterday15-minute (96)
Last 7 days2-hour (84)
Last 30 days6-hour (120)
This month15-minute on the 1st, 30-minute on the 2nd and 3rd, hourly from the 4th, 2-hour from the 7th, 6-hour from the 13th

A custom range follows the same rule: up to 37 days plot 6-hour buckets at most, 38 to 75 days plot 12-hour buckets, and from 76 days each bucket is a day. A window past 150 days is daily and carries more than 150 points: a year is 365 of them.

On the Overview, the Clicks over time card's header names the bucket it drew, in the window's own words: "last 7 days · 2-hour volume". Its figures are readings of the shape — "Peak · Aug 14 09:00" and "Average per 2 hours" — never the window's total, which the strip above states. A segmented control, "Per 2 hours | Cumulative", redraws the same buckets as a running total and heads the card with "This period" and, under a comparison, "Previous period".

A bucket nobody visited is a real zero, drawn as zero. The curve stops at the current bucket, so Today does not trail a flat run of buckets that have not happened yet. The axis shows about eight stamps, the time of day at any sub-day bucket and the date where the day turns — "Aug 14 · 09:00 · 18:00 · Aug 15" — and the hover reads the full instant to the bucket's own precision, "Aug 14 09:00", or "Aug 14 14:30:05" for buckets under a minute.

At day buckets, a click on the chart opens that day as a custom period, screen and comparison kept; at hourly or finer buckets the chart takes no click, because a period is whole days.

Two surfaces use other densities. A row's sparkline on the Networks directory holds 24 bars: a day at 24 hourly bars, the default week at 14 half-days, a month at its 30 or 31 days. On the workspace home, the paid-clicks curve is drawn by day as soon as the window holds two or more of them, while the events curve keeps the finer buckets; both fade their last bucket when the window ends today, and the hover dates it "so far".

Today

Today is the current UTC calendar day. The Today preset is one running day: its curve stops at the current bucket, and its count grows until midnight UTC. The calendar disables every day after it.

The window's first day is also where the forecast begins: the counterfactual compares the window with the days before it and never uses a running day. Shortening the window moves the forecast's origin with it.

The previous period

"Previous period" is the equal-length window immediately before the one on screen — no gap, no overlap: Jul 27 – Aug 2 for Aug 3 – 9, and Aug 2 for Aug 3. It is the only comparison the product offers. It rides its own parameter, ?compare=previous_period; turning it off removes the parameter.

The baseline must fit the plan's window whole. A previous period that only partly fit would make the change against it a fabricated number, so it is withheld rather than shortened. The Compare row says which it is before you pick it: the dates it would read against, "Jul 27 – Aug 2", or "before your plan's window". A blocked comparison is not an error — the row stays selectable, the pick goes through, the page renders normally, and a note stands where the changes would have been. On the Overview's What the clicks did card and above the Campaigns directory it reads "Comparing this window needs history behind your plan's window. Every event is kept — the window is how far back this plan can look."; on the workspace home's two cards it reads "no baseline", with the reason on hover.

Whether a preset compares depends on the plan's window: it must reach back to the first day of the previous period. For a window that ends today that is twice its length; for Yesterday, three days.

PresetFree (7 days)Starter (30 days)Solo (92 days)
Todaycomparescomparescompares
Yesterdaycomparescomparescompares
Last 7 daysblockedcomparescompares
Last 30 daysblockedblockedcompares
This monthblocked past the 3rdblocked past the 15thcompares

Growth and longer windows compare on every preset.

The baseline is read on the same buckets as the current series, so the ghost curve has a point under every point. On the workspace home, a window that ends today is compared like for like: the previous period is cut at the same moment, so a part-day is never measured against whole days. What changes on the Overview is described on its own page: the previous period. On the Campaigns directory, each row carries its baseline, and a campaign present only in the previous period keeps its row with zero current clicks: a paused campaign is the row you most need.

Every change reads one way, quietly and with no color. In order of precedence: "stopped" when the previous period had clicks and this one has none; "new" when the previous period had none; otherwise the signed percentage to one decimal, "+18.4%" or "−7.1%"; and the bare signed change when there is no percentage to give. A percentage against a zero baseline is never shown, so there is no "+100%". On hover, the baseline value and its window travel with the figure: "vs 1,204 · Jul 27 – Aug 2".

What the period control does not do

  • It offers one comparison. There is no year-over-year, no second range to configure.
  • It does not hide a boundary. A cut-short window is marked on the trigger, dated on its row and explained in the footer; a blocked comparison keeps its row selectable and is explained where the changes would be. Nothing says "upgrade to unlock", and no row is dead.
  • It picks days, not hours, and never means "now". Realtime is its own fixed 24 hours, and the three drill screens read a fixed 30 days.
  • It has no timezone. Every day, hour and instant is UTC, except the Paris-time stamps of one signature's members, which are labeled as such.
  • It does not remember the comparison. The window follows you for a year; a comparison is turned on to answer one question on one page.
  • It does not compare a browser, a connection or a session with its own past.

Questions

Can I read data older than my plan's window?
Not through the picker. The window is how far back a plan may read, and a period that starts earlier starts at the window's first day instead; on the Overview and the workspace home, the picker says so. Every event is kept on every plan, so a longer window reveals history that was always there.
Which timezone are the dates and hours in?
UTC, with one stated exception. A period is a set of whole UTC calendar days, the chart's axis stamps are UTC hours, and the exact instant a feed row shows on hover ends in UTC. One signature's member list and its What we know lines give the clicks' times in Paris time, labeled as such, with the UTC instant on hover. There is no timezone setting.
Why does the Previous period row say 'before your plan's window'?
The previous period is the equal-length window just before the one on screen, and it has to fit inside the plan's window whole. When it does not, no baseline is shown and the page says so where the deltas would have been. The row stays selectable and the page renders normally.
Does the window I pick on one screen follow me to the next?
Yes. The last period you applied is remembered for a year and seeds any page opened without a period in its URL, product-wide: every site screen and the workspace home. A URL that carries a period always wins. The comparison is not remembered.
Why is Today drawn in 15-minute points and Last 30 days in 6-hour points?
The longer the window, the wider the bucket, so a curve never holds more than about 150 points: a day is 96 quarter-hours and thirty days are 120 six-hour buckets. The chart's header names the bucket it drew.