Configuration
Configure Entrolytics for your needs
Configuration
Customize Entrolytics to match your analytics requirements, privacy policies, and technical infrastructure. This guide covers everything from basic tracking script options to advanced custom event tracking.
Tracking Script Configuration
The tracking script supports various configuration options via HTML data attributes:
Standard configuration for most use cases
<script
defer
src="https://cloud.entrolytics.click/script.js"
data-website-id="your-website-id"
data-auto-track="true"
></script>This configuration:
- Automatically tracks page views
- Uses default privacy settings
- Works with all modern browsers
Maximum privacy compliance
<script
defer
src="https://cloud.entrolytics.click/script.js"
data-website-id="your-website-id"
data-do-not-track="true"
data-respect-dnt="true"
data-exclude-search="true"
data-exclude-hash="true"
></script>This configuration:
- Respects Do Not Track browser setting
- Strips query parameters from URLs
- Removes hash fragments
- Perfect for GDPR/CCPA compliance
Full configuration example
<script
defer
src="https://cloud.entrolytics.click/script.js"
data-website-id="your-website-id"
data-domains="example.com,www.example.com"
data-auto-track="true"
data-do-not-track="false"
data-cache="true"
data-tag="variant-a"
data-exclude-search="false"
data-exclude-hash="false"
></script>This configuration:
- Restricts tracking to specific domains
- Enables localStorage caching
- Sets A/B testing tag
- Includes full URL details
Available Attributes
| Attribute | Type | Description | Default |
|---|---|---|---|
data-website-id | string | Your website ID (required) | - |
data-host-url | string | Custom analytics host URL | Same as script URL |
data-auto-track | boolean | Automatically track page views | true |
data-do-not-track | boolean | Respect DNT browser setting | true |
data-cache | boolean | Enable localStorage caching | false |
data-domains | string | Comma-separated valid domains | All domains |
data-tag | string | A/B test variant tag | - |
data-exclude-search | boolean | Strip query params from URLs | false |
data-exclude-hash | boolean | Strip hash fragments from URLs | false |
data-ignore-localhost | boolean | Disable tracking on localhost | true |
SDK Configuration
If you're using one of our framework SDKs, configure via the provider props:
import { EntrolyticsProvider } from '@entro314labs/entro-nextjs'
export default function RootLayout({ children }) {
return (
<html>
<body>
<EntrolyticsProvider
websiteId={process.env.NEXT_PUBLIC_ENTROLYTICS_WEBSITE_ID!}
host={process.env.NEXT_PUBLIC_ENTROLYTICS_HOST}
autoTrack={true}
respectDoNotTrack={false}
excludeSearch={false}
excludeHash={false}
domains={['example.com', 'www.example.com']}
tag="homepage"
debug={process.env.NODE_ENV === 'development'}
>
{children}
</EntrolyticsProvider>
</body>
</html>
)
}import { EntrolyticsProvider } from '@entro314labs/entro-react'
function App() {
return (
<EntrolyticsProvider
websiteId={import.meta.env.VITE_ENTROLYTICS_WEBSITE_ID}
host={import.meta.env.VITE_ENTROLYTICS_HOST}
autoTrack={true}
respectDoNotTrack={false}
>
<YourApp />
</EntrolyticsProvider>
)
}<script setup>
import { Entrolytics } from '@entro314labs/entro-vue'
</script>
<template>
<Entrolytics
:websiteId="import.meta.env.VITE_ENTROLYTICS_WEBSITE_ID"
:host="import.meta.env.VITE_ENTROLYTICS_HOST"
:autoTrack="true"
/>
<RouterView />
</template><script>
import { Entrolytics } from '@entro314labs/entro-svelte'
import { PUBLIC_ENTROLYTICS_WEBSITE_ID } from '$env/static/public'
</script>
<Entrolytics
websiteId={PUBLIC_ENTROLYTICS_WEBSITE_ID}
autoTrack={true}
/>
<slot />Custom Events
Track any user interaction beyond page views:
Basic Event Tracking
// Simple event
entrolytics.track('button_click');
// Event with properties
entrolytics.track('signup_complete', {
plan: 'pro',
trial: false
});
// Event with revenue
entrolytics.track('purchase', {
product: 'enterprise_plan',
quantity: 1
}, 299.99);interface SignupProperties {
plan: 'free' | 'pro' | 'enterprise';
trial: boolean;
referrer?: string;
}
entrolytics.track<SignupProperties>('signup_complete', {
plan: 'pro',
trial: false,
referrer: 'google'
});import { useEntrolytics } from '@entro314labs/entro-react'
function SignupButton() {
const { track } = useEntrolytics()
const handleSignup = async () => {
await track('signup_started', {
source: 'landing_page'
})
// ... signup logic
}
return <button onClick={handleSignup}>Sign Up</button>
}Common Event Patterns
User Identification
Track specific users across sessions:
// Identify user by ID
entrolytics.identify('user-12345');// Identify with user properties
entrolytics.identify('user-12345', {
email: 'user@example.com',
plan: 'pro',
signup_date: '2024-01-15'
});// Generate enhanced identity with browser metadata
const { generateEnhancedIdentity } = useEntrolytics();
const identity = generateEnhancedIdentity({
userId: 'user-12345',
email: 'user@example.com',
plan: 'pro'
});
// Includes: screen size, timezone, language, etc.
entrolytics.identify('user-12345', identity);Privacy Configuration
GDPR Compliance
Domain Filtering
Restrict tracking to specific domains:
<script
defer
src="https://cloud.entrolytics.click/script.js"
data-website-id="your-website-id"
data-domains="example.com"
></script>Only tracks on example.com (not www.example.com or subdomains).
<script
defer
src="https://cloud.entrolytics.click/script.js"
data-website-id="your-website-id"
data-domains="example.com,www.example.com,app.example.com"
></script>Tracks on all specified domains.
<script
defer
src="https://cloud.entrolytics.click/script.js"
data-website-id="your-website-id"
data-domains="*.example.com"
></script>Tracks on all subdomains of example.com.
Proxy Mode
Bypass ad blockers by proxying the tracking script and API calls through your domain:
Enable Proxy in SDK
<EntrolyticsProvider
websiteId="your-website-id"
proxy={{
enabled: true,
scriptPath: '/analytics.js',
collectPath: '/api/collect',
mode: 'cloak'
}}
>
{children}
</EntrolyticsProvider>Set Up Rewrite Rules
module.exports = {
async rewrites() {
return [
{
source: '/analytics.js',
destination: 'https://cloud.entrolytics.click/script.js'
},
{
source: '/api/collect',
destination: 'https://cloud.entrolytics.click/api/send'
}
];
}
};location /analytics.js {
proxy_pass https://cloud.entrolytics.click/script.js;
}
location /api/collect {
proxy_pass https://cloud.entrolytics.click/api/send;
}{
"rewrites": [
{
"source": "/analytics.js",
"destination": "https://cloud.entrolytics.click/script.js"
},
{
"source": "/api/collect",
"destination": "https://cloud.entrolytics.click/api/send"
}
]
}Now tracking requests appear to come from your domain, bypassing most ad blockers.
Advanced Configuration
Content Security Policy
If your site uses CSP headers, add Entrolytics to the allowlist:
Content-Security-Policy:
script-src 'self' https://cloud.entrolytics.click;
connect-src 'self' https://cloud.entrolytics.click;Or for self-hosted:
Content-Security-Policy:
script-src 'self' https://analytics.yourdomain.com;
connect-src 'self' https://analytics.yourdomain.com;Next Steps
- 📊 Explore Features - See what analytics Entrolytics provides
- 🔧 API Reference - Build custom integrations
- 🛠️ SDK Documentation - Framework-specific guides