DataSag guides · Updated 27 October 2026

Verify DataSag analytics on Hexo

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 Hexo.

Start with the Hexo installation

Find the active Hexo theme and its shared layout, such as themes/YOUR_THEME/layout/layout.ejs, or the head partial that layout includes. Add the deferred script once in head, preserving the body placeholder and the theme's template language. Regenerate and deploy the public files before testing.

Hexo templates can choose another layout or disable layout in front matter. Theme updates can overwrite direct edits, so maintain the customization through your theme's supported override or source-control workflow. An unused theme directory cannot affect the current build.

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 Hexo

  1. Confirm which theme the Hexo build selects and inspect its shared layout or head partial. Preserve the body variable and the theme's template syntax; changing a similarly named file in an inactive theme has no effect.
  2. Regenerate the site and inspect an article, archive and standalone page in the public output. Confirm each intended document contains one tracker with the public key, then deploy the same generated files.
  3. Open the published documents and compare their pageview paths. Check content with an alternate or disabled layout separately. If the theme adds client navigation, test that behavior explicitly instead of assuming a fresh document for each click.

The active theme generates one keyed tracker across intended article, archive and page documents.

Complete the collection checks

  1. 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.
  2. 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.
  3. 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.
  4. Open that DataSag project, choose a date range containing today and inspect the matching path. Use the configured report timezone when checking dates.
  5. 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 Hexo

The shared installation belongs in the head of the active theme layout or its shared head partial. Use this as the installation reference while checking the procedure above.

<script defer src="https://www.datasag.com/tracker.js" data-datasag-key="YOUR_PUBLIC_KEY"></script>

Related Hexo guides

Full Hexo setup guide · Search and AI visibility

References

Official Hexo documentation covers the integration point. For DataSag data handling, read the privacy policy. Use support if a request fails after these checks.