Cookie policy
Exactly what Touchline stores in your browser, why, and which of it is optional.
Last updated:
Necessary storage and two optional categories
The cookie banner offers two independent choices: analytics (Google Analytics and Microsoft Clarity) and advertising (Google Ads, X, Reddit, Meta and OpenAI sign-up measurement). Necessary storage below is never optional — Touchline could not function as a signed-in, league-aware product without it, so there is nothing to accept or decline. Change or withdraw either consent any time from "Cookie preferences" in the footer; see our Privacy policy for how that data is used once collected.
Necessary — always active
Stored regardless of your cookie choice, because each one is required for a feature you have directly used.
| Name | Type | Purpose | Duration |
|---|---|---|---|
touchline-consent-v1 | localStorage | Remembers your cookie choice itself. | Until cleared |
| Firebase Auth session | IndexedDB / localStorage | Keeps you signed in across visits. | Until sign-out or cleared |
FPL session cookie (X-FPL-Session) | localStorage, forwarded as a request header | Lets a private league's data load; only present if you pasted one in League settings. Never synced to your account or stored server-side. | Until cleared |
| Draft settings and plans | localStorage | Saved league/entry connections, the waiver-planning list, guest-mode settings. | Until cleared |
| Decision Room cache | IndexedDB | Shows your last-loaded gameweek room instantly on return instead of a blank loading state. | Bounded, self-pruning |
| Paddle checkout session | Cookies set by paddle.com | Required for Paddle's checkout to process a payment. Only set while a checkout is actually open. | Per Paddle's own policy |
Analytics — only after you accept
Nothing in this table is created in your browser until you accept analytics in the banner or footer. Before that choice, or after declining, Google Analytics runs in Consent Mode: it sets no cookies and receives only cookieless page-view and sign-up signals with no Touchline identifiers, and Microsoft Clarity does not load at all.
| Name | Type | Purpose | Duration |
|---|---|---|---|
touchline-visitor-id-v1 | localStorage | An identifier tying your visits together for the analytics below. | Until cleared |
_ga, _ga_* | Cookies set by Google Analytics (via Firebase) | Measures visits, page views and product interactions. | Up to 2 years, per Google's policy |
_clck, _clsk | Cookies set by Microsoft Clarity | Session recordings and heatmaps to see how the product is actually used. | Up to 1 year, per Microsoft's policy |
Advertising — only after you accept
Created only if you accept advertising in the banner or footer. The X, Reddit and Meta pixels, loaded through Google Tag Manager, run only with that consent and may set their own cookies or similar browser identifiers as described in their policies. The X pixel may set muc_ads and personalization_id; the Meta pixel may set _fbp and _fbc; the OpenAI pixel, loaded directly rather than through Google Tag Manager, keeps the ChatGPT ad-click reference in __oppref. Without advertising consent, Google receives only cookieless signals and cannot link your sign-up to a specific ad click. Touchline shows no ads and does not use this for ad personalisation.
| Name | Type | Purpose | Duration |
|---|---|---|---|
_gcl_au, _gcl_aw | Cookies set by Google (via Google Analytics) | Links a sign-up to the Google ad click that brought you here, so we can measure which ads work. | Up to 90 days, per Google's policy |
Browser controls
You can also block or delete cookies and site storage directly in your browser settings; doing so has the same effect as declining here for anything not required to keep you signed in. This does not remove server-held account or billing records — see the Privacy policy for retention.