Documentation

Everything you need to get Monoid running on your site.

1. Create an account

Go to monoid.website, enter your email, password, and domain. You'll receive an activation link by email.

2. Add the tracker snippet

After confirmation, paste this inside your site's <head> tag. Replace YOUR_SITE_ID with the ID from your dashboard.

html<script async defer src="https://api.monoid.website/tracker.min.js" data-site-id="YOUR_SITE_ID" data-autotrack="true"> </script>

The script is loaded asynchronously — it never blocks page rendering. Data starts appearing in your dashboard within seconds.

3. Verify installation

Open your site in a browser, then check your Monoid dashboard. You should see a pageview appear in real time in the Live Visitors panel. If nothing shows up after a minute, check that the data-site-id attribute matches your site ID exactly.

Next.js / React

In Next.js, add the snippet to your _document.tsx or use the next/script component with strategy="afterInteractive":

tsximport Script from 'next/script' export default function RootLayout({ children }) { return ( <html lang="en"> <body> {children} <Script src="https://api.monoid.website/tracker.min.js" data-site-id="YOUR_SITE_ID" strategy="afterInteractive" /> </body> </html> ) }

WordPress

In your theme's functions.php, add:

phpfunction monoid_tracker() { echo '<script async defer src="https://api.monoid.website/tracker.min.js" data-site-id="YOUR_SITE_ID" data-autotrack="true"></script>'; } add_action('wp_head', 'monoid_tracker');

No-JS tracking (pixel)

If you can't run JavaScript — server-rendered pages with JS disabled, strict static pages, or environments that block scripts — use the tracking pixel instead. Drop this <img> tag where you want tracking to fire. Replace YOUR_SITE_ID and set p to the current page path.

html<img src="https://api.monoid.website/pixel.gif?s=YOUR_SITE_ID&p=/your-page-path" width="1" height="1" alt="" style="display:none" referrerpolicy="strict-origin-when-cross-origin" />

The pixel records the same core analytics data as the JS tracker — path, referrer, country, device type, and daily visitor hash — but without screen width (no JavaScript available). The browser's Referer header is used automatically; you can override it with an &r=referrer-domain param. Visitors who send DNT: 1 are not recorded.

Something missing or incorrect? Let us know