DataSag guides · Updated 27 October 2026
Verify DataSag analytics on VitePress
A script tag alone does not confirm that analytics works. Verify the published document, the request to DataSag and the matching visit in the correct project. This guide applies to VitePress.
Start with the VitePress installation
Merge a script tuple into the global VitePress head array. Include the external src, an empty-string defer attribute and the public data-datasag-key. Preserve other head entries, build the documentation and inspect its published HTML. Global config covers ordinary pages generated from that site.
VitePress also supports page-level head entries in frontmatter and custom theme code. A global script plus page or theme insertion can execute twice. Browser APIs belong in browser interaction code, not the Node-evaluated site configuration or an SSR render.
Use the public project key from the DataSag project you are inspecting. A test on a preview domain does not confirm that the production domain has the same code or settings.
Verify DataSag analytics in VitePress
- Inspect the global head tuple in the VitePress configuration selected by your documentation root. Confirm its attributes include the public key and deferred external source while preserving the existing head array entries.
- Build the documentation and serve its output at the intended base path. Open a nested Markdown page directly and inspect the emitted script. A custom base path changes document URLs but does not require rewriting the absolute tracker source.
- Navigate through the documentation sidebar and use Back. Compare the pathnames in tracking payloads with the route sequence. Heading-anchor changes retain the pathname and should not be assumed to generate separate pageviews.
The generated head entry covers direct and client navigation while same-page heading anchors remain distinct from pages.
Complete the collection checks
- Open the published website in a normal browser window with the Network panel recording. Use a browser profile where you can control extensions and your consent choice.
- Filter network requests for tracker.js. Confirm it returns JavaScript successfully and that the rendered script has the project's data-datasag-key attribute. The example YOUR_PUBLIC_KEY must be replaced.
- Filter for /api/track and reload once. Inspect a request with eventName null or absent. Its projectKey and path should match the chosen project and the page you opened.
- Open that DataSag project, choose a date range containing today and inspect the matching path. Use the configured report timezone when checking dates.
- Navigate to a second path, then use Back. Compare pageview requests with the route changes rather than counting every request as a pageview.
document.querySelectorAll('script[data-datasag-key]').length
// Expected: 1
document.querySelector('script[data-datasag-key]')?.getAttribute('data-datasag-key')
// Expected: your project's public key
typeof window.datasag?.track
// Expected after the script runs: 'function'What a successful check looks like
One rendered tracker installation, a successful request for the intended page and a corresponding entry in the intended project. Scroll and engagement requests are separate event types.
Record the public path you tested, the browser state, the approximate time and the observed request. Check one direct page load and one later navigation so the result covers more than the homepage.
Common mistake
A successful tracker.js download only proves that a file loaded. It does not validate the project key, consent state or tracking endpoint. Test a real published path before declaring setup complete.
Installation snippet for VitePress
The shared installation belongs in the head array in .vitepress/config.ts or its configured equivalent. Use this as the installation reference while checking the procedure above.
// Merge into the existing .vitepress config.
export default {
head: [["script", {
src: "https://www.datasag.com/tracker.js",
defer: "",
"data-datasag-key": "YOUR_PUBLIC_KEY"
}]]
};Related VitePress guides
References
Official VitePress documentation covers the integration point. For DataSag data handling, read the privacy policy. Use support if a request fails after these checks.