Skip to content

Troubleshooting

  1. Is the script on the page? Open the page, look for t.js in the network panel, and for data-site with the right id.
  2. Is the domain allowed? The tracker checks Settings → Collection → Allowed domains first and sends nothing from other hosts; the browser console says the host “is not one of this site’s domains”. Add staging and local hosts you want counted (subdomains are included; an empty list allows every host). Other senders get 403 origin_not_allowed.
  3. Did you ignore yourself? #px-ignore stops counting your browser until #px-unignore.
  4. Is consent required? With data-require-consent, nothing is sent until px('consent', 'granted').
  5. Automated browser? Playwright, Puppeteer and Selenium are not counted unless data-debug is set.
  6. Excluded path? Check data-exclude-paths.

Add data-debug to see each delivery in the browser console.

Your site’s Content-Security-Policy blocks the script

Section titled “Your site’s Content-Security-Policy blocks the script”

Allow the collector for scripts and requests:

script-src … https://collect.plaintrace.dev;
connect-src … https://collect.plaintrace.dev;

With the first-party proxy everything is on your own origin and 'self' is enough.

  • Ad blockers and privacy browsers block third-party analytics. The proxy avoids most of it, and the server SDK measures what is left.
  • Plaintrace counts humans only; other tools may count some bots.
  • Visitors are counted per day: a weekly total adds up daily counts. See metrics.
  • Name: 1–64 characters, starting with a letter or digit, then letters, digits and _ . : -. The browser and npm SDKs drop invalid names silently (data-debug logs them); raw API calls get invalid_name, listed under refusals in the trust report.
  • Properties: beyond 32, the rest are dropped; string values are cut at 256 characters. The event itself is kept.

See events.

Still stuck? Write to hello@plaintrace.dev.