Tracking script
Where to paste the script on each platform.
Every guide uses the same tag from your website's setup page. Replace the placeholders with the values shown there.
Plain HTML
Paste the tag inside <head> on every page.
Next.js
Add it to app/layout.tsx (App Router) or pages/_document.tsx (Pages Router):
import Script from 'next/script';
<head>
<Script
src="https://YOUR-DATABULL-URL/js/script.js"
data-website-id="YOUR_WEBSITE_ID"
data-domain="yoursite.com"
strategy="afterInteractive"
/>
</head>
React (Vite), SvelteKit, Astro, Remix, Nuxt
Paste the tag in the <head> of index.html, src/app.html, your base layout, app/root.tsx or app.head in nuxt.config.
Framer
Site Settings → General → Custom Code → "End of <head> tag". Paste, save, publish.
Webflow
Site settings → Custom code → Head code. Save and publish (custom code only runs on the published site).
WordPress
Install the free WPCode plugin, then Code Snippets → Header & Footer → paste into Header. Clear your page cache.
Shopify
Online Store → Themes → ⋯ → Edit code → layout/theme.liquid, paste just before </head>.
Wix, Squarespace, Ghost, Carrd, Bubble
Use the site-wide header code setting: Wix → Settings → Custom code (Head, all pages). Squarespace → Developer tools → Code Injection → Header. Ghost → Code injection → Site header. Carrd → Embed element (Head). Bubble → SEO / metatags → header scripts.
Cloudflare Workers
If your site runs on Cloudflare, serve the script from your own domain. See Ad blockers & proxy.
Not counting your own visits
Under your website's Settings → Your own visits:
- This browser: Stop counting this browser opens your site once and remembers there not to count this browser (it opens
yoursite.com/?databull_ignore=1;=0counts it again). Do it on each device and browser you use. - IP addresses: visits from the addresses you list (your home, office or team) aren't counted on any device. Ranges like
10.0.0.0/8work too, and Add my current IP fills in yours.