Cookie Policy
We set no cookies of our own — the one thing we store in your browser is a localStorage key holding your ad-consent choice. Google's cookies appear only after you click Accept. And there is one technology that our banner does not control, which is why it is on this page.
Last reviewed:What Counts as a Cookie Here
A cookie is a small piece of text a website asks the browser to store and send back on later requests. Browsers have
sibling mechanisms that do the same remembering job — localStorage, sessionStorage, and pixel
tags or beacons — and Google's own documentation treats them as one family: "Similar technologies, including unique
identifiers used to identify an app or device, pixel tags, and local storage, can perform the same function."
So this page lists all of them, not only the ones that happen to be cookies.
What We Store in Your Browser
| Name | Mechanism | Purpose | Lifetime |
|---|---|---|---|
sfc_cookie_consent_v1 | localStorage (not a cookie) | Remembers whether you accepted or declined advertising. Three states: unset, accepted, declined. | No expiry of its own — it stays until you reset it below or clear site data. That is what distinguishes localStorage from sessionStorage, which is cleared when the page session ends. |
| (none) | Cookie | FootyCalc sets no first-party cookies. Our pages are static files served by Cloudflare Pages; there is no session, no cart, and no login. | — |
You can verify this claim in about ten seconds — see the worked example at the bottom of this page.
Third-Party Cookies (Only After You Click Accept)
If you click Accept, we load the Google AdSense script for publisher
ca-pub-8351396994491171. Google and its partners may then set cookies. The names and lifetimes below are
quoted from Google's own cookie documentation rather than from our guesses, and they are what Google publishes as of
the date on this page.
| Name | Provider | Purpose (per Google) | Lifetime (per Google) |
|---|---|---|---|
IDE, id | Google (doubleclick.net) | Used to show Google ads on non-Google sites; IDE personalises ads, id remembers that you turned personalisation off. | 13 months in the EEA, Switzerland and the UK; 24 months everywhere else |
NID | Preferences and safer browsing. | Expires 6 months from a user's last use | |
_Secure-ENID | The sign-in/session counterpart Google sets instead of, or alongside, NID depending on your choices. | 13 months | |
__gads | Google, on the site you visit | Enables sites to show Google ads; used for measuring and frequency capping. | 13 months |
We previously listed a cookie called _gpi here. We could not find it in Google's own documentation, so we
removed the row rather than keep an unverified name on a legal page. Cookie sets change without notice to us:
the authoritative list is Google's own page, linked below.
Technologies That Are Not Cookies — Including One You Cannot Consent-Gate
-
Cloudflare Web Analytics / RUM beacon. Our host injects a small script
(
static.cloudflareinsights.com, filebeacon.min.js) into every HTML response at the network edge. We verified this on our own live pages on : the beacon tag is present in the served HTML of all 11 URLs we tested, including a page that does not exist, while zero files in our build output contain it — so it is added by Cloudflare, not shipped by us. Per Cloudflare's documentation the beacon "does not store any data in the browser or access any storage data, such as cookies, localStorage, sessionStorage, IP address, or IndexedDB", its data is performance data from browser APIs, it is ephemeral, and the IP address is discarded at the nearest Cloudflare data center rather than stored in logs. Our consent banner does not and cannot block it, because the banner is our code and the beacon is the host's. If you decline advertising, the advertising scripts stop — the beacon does not. - Server logs. Requests to our host are logged like any other website request (IP address, user agent, requested URL, referrer, timestamp). That is our infrastructure provider's logging, described in their policy linked below, not a database we maintain.
- No fingerprinting, no cross-site trackers of our own. We do not assemble a device profile and we do not embed any third-party pixel other than through the ad scripts that stay unloaded when you decline.
Manage Your Consent
Two ways to change your choice:
- Use the button below. It clears the saved value and reloads, so the banner asks you again.
- Or delete the entry yourself in your browser's storage settings. USAGov publishes browser-by-browser steps for blocking or clearing cookies if you would rather do it at the browser level for every site.
The button calls the same code path we ship: CookieConsent.reset() removes the
sfc_cookie_consent_v1 key from localStorage. It is not a decorative control.
Opt Out of Personalized Advertising
These are Google's and the industry self-regulatory routes; they work independently of our banner:
- Google Ads Settings: adssettings.google.com
- US: Digital Advertising Alliance opt-out
- Europe: Your Online Choices (EDAA)
- Network Advertising Initiative: optout.networkadvertising.org
- Declining on this site means the AdSense script is never fetched during that visit, so none of the cookies in the table above get set by us.
Changes to This Policy
When we add, change, or remove a cookie, storage key, or third-party script, we update this page and the Last reviewed date at the top, and the change is recorded in our per-page audit ledger. We used to promise a site-wide banner for 30 days after a material change; we do not have that mechanism, so we deleted the promise instead of keeping it. Watch this page's date if the precision matters to you.
Worked Example: Check This Table Yourself
Open any FootyCalc page and run these four checks — they take about a minute and they test every claim on this page:
- Do we set a cookie? DevTools → Application → Cookies → select this site. It should be empty.
Or type
document.cookiein the console: it returns an empty string, because the consent value goes to localStorage, not to a cookie. - What is in storage? DevTools → Application → Local storage → this site. You will see exactly one
row for our site:
sfc_cookie_consent_v1, with value(null)before you choose, thenacceptedordeclined. - Does declining actually stop the ad cookies? Click Decline, reload, and open the Network panel.
Filter for
googlesyndication. Zero requests. Click Accept, reload, and the same filter shows the AdSense scripts — measured on our own calculator page: 5 distinct external hosts appear once you accept. - Is the beacon really there even without consent? View source (Ctrl+U) and search for
cloudflareinsights. You will find the beacon tag before you ever see the banner — that is the honest limitation described above.
Sources and How to Check This Page
- Google — How Google uses cookies. The authority for every name and lifetime in the third-party table, including "The 'IDE,' and 'id' cookies last for 13 months in the European Economic Area (EEA), Switzerland, and the United Kingdom (UK), and 24 months everywhere else" and "The 'NID' cookie expires 6 months from a user's last use".
- Cloudflare — RUM beacon for Web Analytics. The authority for the beacon paragraph: no browser storage access, performance data only, IP discarded at the nearest data center.
- USAGov — Learn how to block website cookies (.gov). Official step-by-step instructions for blocking or clearing cookies in the major browsers, which is the browser-level alternative to our reset button.
- MDN — Window.localStorage. For the distinction we rely on: "while localStorage data has no expiration time, sessionStorage data gets cleared when the page session ends".
- Our own shipped code, which you can read in the page source:
/js/cookie.jsdefines the storage keysfc_cookie_consent_v1and the publisher ID, and /ads.txt publishes the same ID (pub-8351396994491171) — three places, one value.