Cookie Policy

This Cookie Policy explains how this Website uses browser storage and optional analytics cookies. It matches the behaviour of our site scripts (theme.js and analytics.js). The legal name of the operator or company is left empty for now. Contact: [email protected].

Related pages: Privacy Policy, Terms of Use.

1. Summary

Technology Name / pattern When set Purpose Ours or third party
localStorage spinmetrics.theme.v1 When you use the theme control (or when a saved value is read) Remember light or dark theme First-party site code
localStorage spinmetrics.analytics-consent.v1 When you choose Accept or Reject (if analytics is enabled) Remember analytics consent First-party site code
HTTP cookies _ga, _ga_* (typical Google Analytics names) Only after Accept, when a GA4 measurement ID is configured Optional usage measurement Google (after consent)

Our site code does not set first-party HTTP cookies for theme or consent. Those preferences use localStorage only.

2. Theme preference (theme.js)

  • Storage key: spinmetrics.theme.v1
  • Values: light or dark
  • If unset or unavailable, the catalog defaults to dark for the page
  • Independent of analytics consent
  • Our code does not set an expiry; clearing this site’s data in your browser removes the entry
  • Changes can sync across open tabs via the browser storage event

3. Analytics consent (analytics.js)

  • Storage key: spinmetrics.analytics-consent.v1
  • Values: accepted or rejected when you use the consent bar
  • Shared across languages and open tabs on this site
  • Our code does not set an expiry; clearing site data removes the entry
  • If storage is unavailable, a choice can still apply to the current page but is not saved
  • Cookie settings in the footer reopens the consent bar when analytics is enabled

4. Optional Google Analytics 4

When a GA4 measurement ID is configured (production ID: G-WYHDBCWY9F), the site uses Google consent mode:

  • Defaults keep analytics_storage, ad_storage, ad_user_data and ad_personalization denied
  • The Google tag loads only after Accept, or when a saved acceptance is read
  • Accept grants analytics_storage only; advertising-related consent signals stay denied
  • Google signals and ad personalization are disabled in our configuration
  • Before Accept and after Reject, a new visit does not load the Google tag or queue interactions for later reporting

After acceptance, Google’s tag may set analytics cookies commonly named _ga and _ga_*. Our site code does not write those cookies itself.

With consent, our analytics code may report page views, language switches, market-list game clicks, external source clicks (hostname only), FAQ openings and the first 90% scroll. Custom fields do not include names, email addresses, question text, full external URLs or user-entered information. The configured page address is the canonical URL without query parameters or fragments; the analytics referrer field is set empty.

5. Retention

  • Analytics data is kept for 6 months.
  • Browser preferences (localStorage keys above) have no expiry set by our code.
  • Hosting request logs follow Cloudflare’s practices for Cloudflare Pages.
  • Reject stops further events from our analytics code and resets consent to denied. It does not erase cookies created after an earlier acceptance or delete data already sent. Clear this site’s data in your browser to remove stored preferences and cookies from your device.

6. Managing choices

  • Use Accept / Reject on the consent bar, or Cookie settings in the footer when analytics is enabled.
  • Use your browser controls to delete localStorage and cookies for this site.
  • Google provides additional controls for Google Analytics users where applicable under Google’s policies.

7. Changes and contact

We may update this page by publishing a revised version here. No effective date is stated on this draft. Questions: [email protected]. Governing law for related site policies: British Virgin Islands.