Free trials: the notices you must send
Which US laws require a reminder before a free trial converts to a paid subscription, the exact windows state by state (3–21 days in California and New York, any trial in Utah and Louisiana), what the email must say, and how to schedule one send that satisfies them all.
A free trial that quietly turns into a paid subscription is one of the failures regulators and plaintiffs pursue most, and a trial reminder is the cheapest protection against it. This guide lists every trial-ending notice in Checkbox's catalog, what it must say, and how to send it at the right time.
At sign-up first
The reminder does not replace the checkout disclosure. Before the customer enters payment details, state the trial length (or end date), the price after the trial, that it renews automatically until cancelled, and how to cancel before being charged — then get consent and send an acknowledgment that explains how to cancel before the first charge (California § 17602(a)(1), (a)(3)). Massachusetts expects trial end dates as calendar dates (Massachusetts).
Which trials need a reminder, and when
| Jurisdiction | Notice | When | Applies when | Effective | Citation |
|---|---|---|---|---|---|
| Arkansas | Notice before a free trial or promotional price longer than 31 days ends | 3-21 days before the trial ends | free trial, trial ≥ 32 days | 2025-08-05 | Ark. Code Ann. § 4-86-112(b)(8), (c)(1)(A) |
| California | Notice before a free trial or promotional price longer than 31 days ends | 3-21 days before the trial ends | free trial, trial ≥ 32 days | 2022-07-01 | Cal. Bus. & Prof. Code § 17602(a)(8), (b)(1) |
| Connecticut | Notice during free trials or promotional periods of 32 days or more | 3 days before the trial ends | free trial, trial ≥ 32 days, trial ≤ 364 days | 2023-10-01 | Conn. Gen. Stat. § 42-158ff(b)(1)(F) |
| Connecticut | Notice 15-45 days before a free trial or promotional period of one year or more ends | 15-45 days before the trial ends | free trial, trial ≥ 365 days | 2023-10-01 | Conn. Gen. Stat. § 42-158ff(b)(1)(F) |
| District of Columbia | Trial notice 15-30 days before a free trial of one month or more ends | 15-30 days before the trial ends | free trial, trial ≥ 28 days | 2019-09-11 | D.C. Code § 28A-203(c)(1) |
| Illinois | Notice during a free trial or promotional period of 15 days or more | at least 3 days before the cancellation deadline | free trial, trial ≥ 15 days | 2025-01-01 | 815 ILCS 601/10(a-5) |
| Louisiana | Notice before a trial converts to a paid subscription | at least 3 days before the trial ends | free trial | 2027-01-01 | La. R.S. 51:3303(C)(1)(c), (C)(2) |
| Maryland | Notice 3-21 days before a free gift or trial longer than 14 days converts | 3-21 days before the trial ends | free trial, trial ≥ 15 days | 2026-06-01 | Md. Code Ann., Com. Law § 14-1329(c)(1)-(2) |
| Massachusetts | Pre-deadline notice 5-30 days before a trial longer than 31 days converts | 5-30 days before the cancellation deadline | free trial, trial ≥ 32 days | 2025-09-02 | 940 CMR 38.05(4)-(5) |
| Minnesota | Notice 5-30 days before a free trial longer than 30 days ends | 5-30 days before the trial ends | free trial, trial ≥ 31 days | 2025-01-01 | Minn. Stat. § 325G.57, subd. 4 |
| New York | Notice before a free gift or trial of more than a month converts to paid | 3-21 days before the cancellation deadline | free trial, trial ≥ 31 days | 2025-11-05 | N.Y. Gen. Bus. Law § 527-a(1)(h) |
| Tennessee | Charge-date notice when a trial ends more than 60 days after sign-up | any time before the trial ends | free trial, trial ≥ 61 days | 2024-07-01 | Tenn. Code Ann. § 47-18-133(a)(2)(B) |
| Utah | Trial-ending notice at least 3 days before any trial period offer expires | at least 3 days before the trial ends | free trial | 2025-01-01 | Utah Code Ann. § 13-70-201(2); § 13-70-101(5) |
| Virginia | Notice within the last 30 days of a free trial longer than 30 days | 0-30 days before the trial ends | free trial, trial ≥ 31 days | 2023-07-01 | Va. Code Ann. § 59.1-207.46(D) |
| New York City | NYC: notice 3-21 days before a free trial of more than a month converts to paid | 3-21 days before the cancellation deadline | free trial, trial ≥ 31 days | 2026-10-01 | 6 RCNY § 5-110.1(i) |
Windows are measured back from the trial end or the cancellation deadline, as the table says. A few states set a threshold on trial length, so a 7-day trial needs fewer reminders than a 45-day one:
- Any length: Utah (at least 3 days before), Louisiana (at least 3 days before, from January 1, 2027).
- 15 days or more: Illinois (at least 3 days before the cancellation deadline); Maryland, trials over 14 days.
- Longer than a month: California, New York and New York City, Arkansas, Minnesota, Virginia, Massachusetts, Connecticut, DC.
- Ending more than 60 days after sign-up: Tennessee (a notice of the charge date).
One send for every state
Most windows overlap. For a 45-day trial, a reminder 5 to 7 days before the trial ends falls inside California's and New York's 3–21 days, Minnesota's and Massachusetts's 5–30 days, Virginia's last 30 days and Utah's "at least 3 days" — but not DC's 15–30 days, and Connecticut's catalog entry asks for exactly 3 days before. Where windows do not overlap you need two sends. Do not work this out by hand: ask Checkbox for the dates.
checkbox check notice-schedule --price 19.99 --interval month --trial-days 45 \
--jurisdictions US-CA,US-NY,US-CT,US-DC --start-date 2026-11-02 --jsonEvery returned notice has a send_date, the window it satisfies and the citations. The same call is checkNoticeSchedule in the API.
What the reminder must say
- That the trial ends and on what date.
- The price that will be charged and how often, and that it renews automatically until cancelled.
- How to cancel before being charged, with a link to the online cancellation page.
- Send it in the channel the customer chose (New York, NYC) and from an address that is not a no-reply black hole.
checkbox check email --kind trial_reminder --subject "Your Acme Pro trial ends on November 15" \
--text "Your free trial of Acme Pro ends on November 15, 2026. After that, your subscription renews automatically every month at \$19.99 until you cancel. To avoid being charged, cancel before November 15 online at https://acme.example/account/cancel." \
--merchant-name Acme --price 19.99 --interval month --trial-days 30 \
--cancel-url https://acme.example/account/cancel --offlineWith Stripe
Stripe Billing can email a reminder 7 days before a trial ends (Settings → Billing → Subscriptions and emails). That default fits many windows but not all (DC's 15–30 days, for example), and the email does not always state the cancellation method. Send your own from the customer.subscription.trial_will_end webhook (Stripe sends it 3 days before the trial ends — too late for most windows, so schedule your own job from the dates above), or let Checkbox Notices send it.
import { checkbox } from '@/lib/checkbox';
import { jobs } from '@/lib/jobs';
export async function onTrialStarted(sub: { id: string; customerEmail: string; trialEnd: Date }) {
const schedule = await checkbox.checks.noticeSchedule({
terms: { merchant_name: 'Acme', price: 19.99, interval: 'month', trial_days: 45, cancel_url: 'https://acme.example/account/cancel' },
start_date: new Date().toISOString().slice(0, 10),
});
for (const notice of schedule.notices.filter((n) => n.kind === 'trial_ending')) {
await jobs.enqueue('send-trial-reminder', { subscriptionId: sub.id }, { runAt: new Date(notice.send_at * 1000) });
}
}Related
Checkbox is compliance software, not a law firm; nothing in these docs is legal advice (details). You remain solely responsible for your subscription program, and Checkbox takes on no legal liability for it (Terms). Checkbox is a System1 company; Trust center · Status. For AI agents: every page is available as Markdown at the same URL plus .md; the index is /llms.txt.