Register the domains you track
Verify installed hostnames, claim a tracking host, and configure cross-domain identity linking.
Use install domains to check where events arrive, a tracking host to serve the script from your domain, and link domains to carry an identity across sites. Each is configured separately; adding a domain to one does not add it to the others.
The list | The question it answers | Where you work with it |
|---|---|---|
Install domains | Which of my sites is the script actually running on? | Install, step 2 |
The tracking domain | Which host serves my script? | Tracking domain |
Link domains | Which of my domains should carry a visitor from one to the next? | The tracking_link-domains_* tools |
Install domains do not restrict collection. Any host running your snippet can send events, whether it appears in the checklist or not.
Before you start: deploy the snippet on a site to verify installation. To use your own tracking host, first add its parent domain to the product and have access to DNS. Examples use Acme; replace acme.com, acme.io, and their subdomains with domains you own.
Confirm the snippet is live
Add expected hostnames to the install checklist after deploying a snippet or adding a site. A row confirms installation when an event arrives from that hostname.
- Open
Installand go to step 2,Verify your install. Type the hostname —acme.com— and pressAdd. - Load a page on that domain yourself. The check is driven by real traffic; a site nobody visits never verifies.
- Watch the row. It rechecks about every ten seconds while you have the page open, so a domain usually confirms within seconds. Check the result: the row turns from
Waiting for eventstoScript seen, with the time of the most recent event under it.
MCP. tracking_install-domains_create, tracking_install-domains_list and tracking_install-domains_delete.
Tracking lowercases and trims entries, removing scheme, port, path, and trailing dot. For example, https://Acme.com/pricing becomes acme.com. Hostnames, IPv4 addresses, and IPv6 literals are accepted; invalid input shows an error below the field. Adding an existing entry has no effect.
Keep www when it is part of your site’s hostname. acme.com and www.acme.com are separate entries, so register the hostname your visitors actually use.
What verified means
Script seen means an event arrived from that exact hostname during the last 30 days. The row also shows the latest event time. No DNS record or uploaded file is needed for this checklist.
After 30 days without an event, the row returns to Waiting for events. Investigate whether the site has traffic and whether the snippet is still sending; the row alone does not distinguish those causes.
Domains we already see
Check Also sending events for active hostnames you have not registered. It lists the most recently active sites and often reveals a www or subdomain mismatch. Add a listed hostname to the checklist with one click.
Removing a checklist entry leaves its stored events intact. If that hostname keeps sending, it can reappear in Also sending events.
Where the checklist cannot help
A hosted checkout or other page whose HTML you cannot edit may not support the script and cannot verify here. Send events from your backend for those actions.
Serve the script from your own domain
The default script host is public.lepsto.com. To load it from a first-party address such as analytics.acme.com, claim a host on Tracking domain. The host changes the script’s address; it does not change event behavior.
- Pick a domain from the list. The page lists the domains that belong to your product; adding a domain to the product is a platform step — see Serve a product on your own domain. If the list is empty, that is what is missing.
- Claim a host under it. It is filled in for you as
analytics.plus your domain, and you can change it. It must be a plain hostname under that domain — not an address, not a URL — and the page tells you so if it is not. - Publish the DNS records the page gives you, at your DNS provider, against the host you chose.
- Press
Check nowas soon as your records are out, instead of waiting for the next automatic check. - Re-copy the snippet from
Installonce the binding readsActive. Check the result: the binding readsActiveand thesrcin the snippet names your host. The script URL is written into the HTML you pasted, so pages still carrying the old snippet keep loading from the old host.
MCP. tracking_domains_create, tracking_domains_list, tracking_domains_verify and tracking_domains_delete.
How it is verified, and the two clocks
Verification fetches the script through your claimed host and checks that the response is JavaScript. DNS resolution alone is insufficient: a redirect, parked page, or other content fails.
Status | What it means |
|---|---|
Waiting for DNS to publish | The records are outstanding. Rechecks happen on their own — often at first, then further apart — and stop after 72 hours. |
Active | A check passed. Your snippet serves from your host. |
Verification failed | The 72 hours ran out with no check passing. The reason names what the last check got: a redirect, an HTTP status, a content type that was not JavaScript, or no answer at all. |
DNS propagation and automatic verification have separate 72-hour windows. Checks can stop before DNS has reached everyone. After correcting DNS or waiting for propagation, use Retry whenever the host is ready; a successful check changes the binding to Active.
Release relinquishes the host and returns the generated snippet to the shared edge. You can claim the host again later, with DNS propagation required again.
Treat several of your domains as one journey
Separate root domains such as acme.com and acme.io cannot share a browser cookie. Add them to a link domain group when visitors should keep one journey while following links between them.
Tool-only: link domains have no Product App screen. Manage the group through the Tracking tools or their REST routes.
MCP. tracking_link-domains_list returns the group, tracking_link-domains_create adds one root domain to it, and tracking_link-domains_delete removes one.
A workflow step can read the group, but cannot change it. Changes to link domains, install checklist entries, and tracking hosts are setup actions available through MCP and HTTP. See Tracking workflows.
Add only root domains you own and want to treat as one product. Entries are lowercased, trimmed, and reduced to bare hostnames as with install domains; use acme.io, for example.
Only links between grouped domains can carry the anonymous id. A link outside the group leaves the visitor anonymous on arrival. Groups with zero or one domain do not load or run cross-domain code.
- Add or remove the required root domains with the linked tools.
- Copy the snippet again from
Install. - Replace it on every grouped site and deploy each one. The group is stored in the pasted HTML, so all sites need the change.
- Verify it works: in a full-mode visit without an existing id on the destination, follow a link between grouped domains and check that the journey uses one visitor identity. Install the tracking script explains expiration and the destination checks.
Next steps
- Install the tracking script: what the script does with the link domain group, on both ends of a hop.
- Fix a domain that never turns green: the checks in the order worth making.
- Send events from your backend: for the pages the script cannot run on.
- Look up a setting: the three lists, their defaults and their normalization rules in one table.