Some networks and browser extensions block requests to third-party analytics domains: corporate filters, DNS-level blockers, regional restrictions, privacy extensions. Served from your own subdomain, the script is a first-party request on your site and keeps working in those environments.
A custom domain is a subdomain you control, such as metrics.yoursite.com, pointed at the TRACIO edge. Once DNS and the certificate are confirmed, the script, its bundle and the signal requests are served from that subdomain. You do not need to run a proxy.
The dashboard shows these three stages — the A records, the certificate and the first visit with your key — and re-checks them automatically. Check now forces a re-check.
If your site already tracks via the shared domain, switch the tag only after the DNS and Certificate stages are confirmed: until then the script does not load from the new subdomain.
Script tag:
<script src="https://metrics.yoursite.com/s.js?k=PUBLIC_KEY" async></script>npm packages: pass the subdomain as endpoint. The SDK loads the script from it and sends signals to it. When endpoint is set, the region option is ignored. Do not use scriptUrl for this: it replaces the whole script URL, including the public key.
import { Tracio } from "@tracio/sdk"
const tracio = Tracio.init({ publicKey: "PUBLIC_KEY", endpoint: "https://metrics.yoursite.com",})The framework packages accept the same endpoint option — see the SDK pages.
metrics.yoursite.com, that serves nothing else.