CheckboxDocs

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

JurisdictionNoticeWhenApplies whenEffectiveCitation
ArkansasNotice before a free trial or promotional price longer than 31 days ends3-21 days before the trial endsfree trial, trial ≥ 32 days2025-08-05Ark. Code Ann. § 4-86-112(b)(8), (c)(1)(A)
CaliforniaNotice before a free trial or promotional price longer than 31 days ends3-21 days before the trial endsfree trial, trial ≥ 32 days2022-07-01Cal. Bus. & Prof. Code § 17602(a)(8), (b)(1)
ConnecticutNotice during free trials or promotional periods of 32 days or more3 days before the trial endsfree trial, trial ≥ 32 days, trial ≤ 364 days2023-10-01Conn. Gen. Stat. § 42-158ff(b)(1)(F)
ConnecticutNotice 15-45 days before a free trial or promotional period of one year or more ends15-45 days before the trial endsfree trial, trial ≥ 365 days2023-10-01Conn. Gen. Stat. § 42-158ff(b)(1)(F)
District of ColumbiaTrial notice 15-30 days before a free trial of one month or more ends15-30 days before the trial endsfree trial, trial ≥ 28 days2019-09-11D.C. Code § 28A-203(c)(1)
IllinoisNotice during a free trial or promotional period of 15 days or moreat least 3 days before the cancellation deadlinefree trial, trial ≥ 15 days2025-01-01815 ILCS 601/10(a-5)
LouisianaNotice before a trial converts to a paid subscriptionat least 3 days before the trial endsfree trial2027-01-01La. R.S. 51:3303(C)(1)(c), (C)(2)
MarylandNotice 3-21 days before a free gift or trial longer than 14 days converts3-21 days before the trial endsfree trial, trial ≥ 15 days2026-06-01Md. Code Ann., Com. Law § 14-1329(c)(1)-(2)
MassachusettsPre-deadline notice 5-30 days before a trial longer than 31 days converts5-30 days before the cancellation deadlinefree trial, trial ≥ 32 days2025-09-02940 CMR 38.05(4)-(5)
MinnesotaNotice 5-30 days before a free trial longer than 30 days ends5-30 days before the trial endsfree trial, trial ≥ 31 days2025-01-01Minn. Stat. § 325G.57, subd. 4
New YorkNotice before a free gift or trial of more than a month converts to paid3-21 days before the cancellation deadlinefree trial, trial ≥ 31 days2025-11-05N.Y. Gen. Bus. Law § 527-a(1)(h)
TennesseeCharge-date notice when a trial ends more than 60 days after sign-upany time before the trial endsfree trial, trial ≥ 61 days2024-07-01Tenn. Code Ann. § 47-18-133(a)(2)(B)
UtahTrial-ending notice at least 3 days before any trial period offer expiresat least 3 days before the trial endsfree trial2025-01-01Utah Code Ann. § 13-70-201(2); § 13-70-101(5)
VirginiaNotice within the last 30 days of a free trial longer than 30 days0-30 days before the trial endsfree trial, trial ≥ 31 days2023-07-01Va. Code Ann. § 59.1-207.46(D)
New York CityNYC: notice 3-21 days before a free trial of more than a month converts to paid3-21 days before the cancellation deadlinefree trial, trial ≥ 31 days2026-10-016 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.

Shell
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 --json

Every 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.
Shell
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 --offline

With 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.

Schedule the reminder when the trial starts
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) });
  }
}

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.