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.
<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":
import 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:
function 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.
<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