Privacy, cookies and analytics

Choose whether Google Analytics loads on WatchfulStack. A valid saved acceptance is reused on later pages. You can reject analytics or change your answer using Privacy choices in the footer.

This notice describes the site configuration and consent script, rather than an assessment of monitoring products. It does not report hands-on use of any monitoring tool.

When the Google tag loads

WatchfulStack is configured to use Google Analytics 4, provided by Google, to count visits and page views. Its measurement ID is G-PRV01SP7KL. The site requests the Google tag only after you choose Accept analytics or when a page opens with a valid saved acceptance. A valid saved acceptance therefore loads the tag on later pages without a new click. Without either form of acceptance, this site's consent script does not request the Google tag, including for consent-only pings.

The script queues a Google Consent Mode default with analytics storage denied before loading any tag. Accept changes analytics storage to granted. Advertising storage, advertising user data and advertising personalization are denied by default and are never granted by the site's controls. The tag configuration also turns off Google signals and advertising personalization signals. These are settings sent by this site's code, not a claim about settings in the Google Analytics administration account.

The loader is restricted to HTTPS pages on watchfulstack.com and www.watchfulstack.com. It does not run on localhost or other preview origins. With JavaScript disabled, this loader cannot request the tag.

How your answer is saved and reused

When browser storage is available, Accept or Reject saves an entry named watchfulstack-consent in local storage. The entry contains your answer (granted or denied), notice version 2026-09-analytics-1, and the time you answered. It is a preference record, separate from Google's analytics cookies. The script reads it locally and queues a separate consent-state command for Google's tag; it does not send the local-storage record itself.

The script checks the saved answer when each page initializes. An answer older than 365 days, from a different notice version, or with an invalid value or timestamp is ignored rather than deleted. Analytics stays off and the banner asks again. A new answer overwrites the entry. You can remove it through your browser's site-data controls. The script does not run a timer that expires an answer while a page remains open.

Local storage is separate for each origin. An acceptance saved on watchfulstack.com is not an acceptance on www.watchfulstack.com, or vice versa. Each origin needs its own valid answer. If storage is blocked, your new choice still applies to the current page, but the script cannot save it for later pages. A failed write may leave an earlier saved answer unchanged; the next page uses whichever valid record it can read.

Analytics cookies and expiry

After acceptance, the tag can use analytics cookies such as _ga and _ga_PRV01SP7KL. The site's configuration requests automatic cookie-domain selection and a cookie lifetime of 365 days, using Google's tag configuration options. Cookie expiry and the saved answer's age are separate checks. Browser settings can block or remove cookies. This duration is the site's requested cookie lifetime, not a statement about how long Google retains report or event data.

Rejecting or withdrawing consent

Choose Reject analytics in the banner, or open Privacy choices in the footer and choose Reject analytics. The script saves a rejection if storage is available, sets the Analytics disable flag for this page, queues an analytics-storage denial, and attempts to delete accessible _ga and _ga_-prefixed cookies at the site-root path. The same cookie cleanup runs when a page opens without a valid acceptance.

The already requested tag is not removed or unloaded from the current page. The disable flag and consent update control further activity; they cannot recall a request already in progress or erase data already sent. Cookie scope and browser permissions limit what the page can delete. Rejection does not immediately change pages already open in other tabs. Reload them to apply the saved answer, or clear site data through your browser. Accepting again on the same page re-enables analytics without adding a second tag.

Commercial links and event boundaries

No affiliate links are published in this site version. The custom affiliate_click handler has an empty partner allowlist, so it records no affiliate-click events. Ordinary reference links do not trigger that custom event. This describes the site's custom handler, not every event Google's tag may collect after acceptance.

Hosting data and email

The hosting provider may process technical logs such as IP address, requested page, timestamp, browser information and error details to deliver and protect the site. This site has no account, contact, comment or newsletter forms. Emailing the publisher provides the address and information included in your message.

Publisher and privacy questions

WatchfulStack is published by Hollydale27 Ltd, company number 14441695, registered in England and Wales. Registered office: 27 Sandhurst Avenue, Stourbridge, DY9 0XQ. VAT number: GB453573089. The publisher's contact address is contact@watchfulstack.com.

Privacy choices

The Google tag is requested only after Accept analytics or a valid saved acceptance.

Reject analytics withdraws consent for this page. If storage is available, your answer is saved for later pages. Advertising consent stays denied. Read the privacy notice.