Why verify?

Domain verification is an ownership proof. It makes AiTracker's visibility data credible and attributable to the right organization. Verification is not bot-blocking and does not control crawling - it strengthens trust and reporting.
What verification unlocks:
  • Anti-spoofing: prevents third parties from claiming or publishing signals for your domain.
  • Public credibility: enables verified badges, ranking integrity, and trust signals tied to your site.
  • Cleaner intelligence: improves attribution for alerts, dashboards, and AIVI recommendations.
To verify, add the DNS record shown in your dashboard and re-check status after propagation.

Install

Paste ai.js (beacon) + badge + pixel before the closing </body> tag on your site. For an invisible-only setup, install the pixel only (note: without ai.js, you lose beacon context used by Intelligence/Advisor).
<script defer src="https://aitracker.ch/ai.js" data-sid="SITE_ID"></script>\n<script defer src="https://aitracker.ch/badge.js" data-sid="SITE_ID"></script>\n<img src="https://aitracker.ch/pv.gif?sid=SITE_ID" alt="" width="1" height="1" style="position:absolute;left:-9999px;top:-9999px" />

Pixel vs Beacon (Troubleshooting)

Some AI agents never execute JavaScript. That is why the pixel is mandatory.
Pixel (`/pv.gif`) captures bots/crawlers/no‑JS. It must return 200 with image/gif.
Beacon (`/api/collect` via ai.js) adds richer context for browsers/agents that execute JS.
ChatGPT vs GPTBot: ChatGPT‑User (user browsing) is different from GPTBot/OAI‑SearchBot (automated crawlers). AiTracker only counts AI traffic when a tracker request is actually received.
OpenAI UA markers include ChatGPT‑User, OAI‑SearchBot, and GPTBot (versions vary). AiTracker also checks OpenAI‑published IP ranges when available.
If AI visits are not counted, verify:
  • The pixel URL is present and reachable.
  • No caching/CDN rule strips the request.
  • Your domain is verified and points to the correct origin.
<script defer src="https://aitracker.ch/ai.js" data-sid="SITE_ID"></script>\n<script defer src="https://aitracker.ch/badge.js" data-sid="SITE_ID"></script>\n<img src="https://aitracker.ch/pv.gif?sid=SITE_ID" alt="" width="1" height="1" style="position:absolute;left:-9999px;top:-9999px" />

Positioning

Enterprise‑grade positioning for control vs measurement layers.

Public APIs

These endpoints are public and cacheable.
GET /api/public/badge?sid=SITE_ID&range=7|30|all\nGET /api/public/verify?sid=SITE_ID\nGET /api/public/ranking?range=7|30|all&page=1&page_size=20&q=example&family=openai

Dashboard APIs

Authenticated with session cookie.
GET /api/me\nGET /api/me/sites\nPOST /api/me/sites {"domain":"example.com","label":"My Site"}\nGET /api/me/site/detail?sid=SITE_ID\nGET /api/me/site/snippet?sid=SITE_ID\nGET /api/me/usage\nGET /api/me/audit?limit=50