Installation
Basic Installation
Add this script tag to your HTML, preferably in <head>:
<script src="https://t.sealmetrics.com/t.js?id=YOUR_ACCOUNT_ID" defer></script>
Replace YOUR_ACCOUNT_ID with your Sealmetrics account ID (found in Settings > Account).
The defer attribute ensures the script loads asynchronously without blocking page rendering.
With Content Grouping
Content grouping categorizes pages into sections for analysis (e.g., "blog", "product", "checkout").
Add the group parameter:
<!-- Blog pages -->
<script src="https://t.sealmetrics.com/t.js?id=YOUR_ACCOUNT_ID&group=blog" defer></script>
<!-- Product pages -->
<script src="https://t.sealmetrics.com/t.js?id=YOUR_ACCOUNT_ID&group=product" defer></script>
<!-- Documentation pages -->
<script src="https://t.sealmetrics.com/t.js?id=YOUR_ACCOUNT_ID&group=docs" defer></script>
<!-- Checkout flow -->
<script src="https://t.sealmetrics.com/t.js?id=YOUR_ACCOUNT_ID&group=checkout" defer></script>
Content grouping enables reports like:
- Conversions by content group
- Bounce rate per section
- Traffic distribution across page types
Custom Endpoint
For self-hosted deployments or custom domains:
<script src="https://your-pixel-domain.com/t.js?id=YOUR_ACCOUNT_ID" defer></script>
Parameters Reference
| Parameter | Required | Description | Example |
|---|---|---|---|
id | Yes | Your Sealmetrics account ID | id=67a1d6c0bb10b861397fdd3a |
group | No | Content grouping for this page | group=blog |
What Happens After Installation
- The script loads asynchronously (does not block rendering)
- A session ID is generated automatically without cookies
- An anti-spam token is validated (embedded in the script, valid for 24 hours)
- The initial pageview is tracked automatically
- SPA navigation is detected automatically (History API)
Verifying Installation
Option 1: Browser Console
Open DevTools (F12) and type:
typeof sealmetrics === 'function'
// Should return: true
Option 2: Network Tab
- Open DevTools > Network
- Filter by "event"
- Reload the page
- Look for a POST request to
/eventwith status 204
Option 3: Debug Mode
Add ?debug=1 to any page URL:
https://yoursite.com/page?debug=1
This logs all tracking events to the browser console.
Common Installation Patterns
WordPress (without plugin)
Add to header.php or use a "Header Scripts" plugin:
<script src="https://t.sealmetrics.com/t.js?id=YOUR_ACCOUNT_ID" defer></script>
Next.js
In app/layout.tsx or pages/_app.tsx:
import Script from 'next/script';
export default function RootLayout({ children }) {
return (
<html>
<head>
<Script
src="https://t.sealmetrics.com/t.js?id=YOUR_ACCOUNT_ID"
strategy="afterInteractive"
/>
</head>
<body>{children}</body>
</html>
);
}
Nuxt.js
In nuxt.config.ts:
export default defineNuxtConfig({
app: {
head: {
script: [
{
src: 'https://t.sealmetrics.com/t.js?id=YOUR_ACCOUNT_ID',
defer: true
}
]
}
}
});
Google Tag Manager
- Create a new Custom HTML tag
- Paste:
<script src="https://t.sealmetrics.com/t.js?id=YOUR_ACCOUNT_ID" defer></script>
- Set trigger to "All Pages"
- Publish
Shopify
- Go to Online Store > Themes > Edit code
- Open
theme.liquid - Add before
</head>:
<script src="https://t.sealmetrics.com/t.js?id=YOUR_ACCOUNT_ID" defer></script>
Troubleshooting
Script not loading
- Check that
YOUR_ACCOUNT_IDis replaced with your actual account ID - Verify the account is active in Sealmetrics dashboard
- Check browser console for errors
Events not appearing in dashboard
- Events are processed in batches; wait 2-5 minutes
- Verify the domain is registered in Settings > Domains
- Check if adblockers are blocking requests (unlikely with first-party setup)
204 response but no data
The server returns 204 for all requests (valid or rejected) to prevent information leakage. Check:
- Account ID is correct
- Domain is authorized for this account
- Token is valid (script was loaded less than 24 hours ago)