Tracking Script API
JavaScript API reference for controlling the SiteTooling.space tracking script.
API Overview
Once the SiteTooling.space tracking script is loaded on your page, it exposes a global siteTooling object that you can use to interact with the tracker programmatically.
// Check if tracking is available
if (window.siteTooling) {
// Use the tracking API
siteTooling.track('custom_event');
}Available Methods
siteTooling.track(eventName, properties)
Track a custom event with optional properties.
Parameters
eventName(string, required) - Name of the eventproperties(object, optional) - Additional event data
// Simple event
siteTooling.track('button_click');
// Event with properties
siteTooling.track('purchase', {
product_id: '123',
value: 99.99,
currency: 'USD'
});siteTooling.trackPageView(path)
Manually track a page view. Useful for single-page applications (SPAs).
Parameters
path(string, optional) - Page path to track
// Track current page
siteTooling.trackPageView();
// Track specific path
siteTooling.trackPageView('/custom-page');siteTooling.enable() / siteTooling.disable()
Control whether tracking is active. Useful for implementing opt-out functionality.
// Disable tracking
siteTooling.disable();
// Re-enable tracking
siteTooling.enable();siteTooling.isEnabled()
Check if tracking is currently enabled.
if (siteTooling.isEnabled()) {
console.log('Tracking is active');
}Script Data Attributes
| Attribute | Type | Description |
|---|---|---|
| data-token | string | Your tracking token (required) |
| data-hash-mode | boolean | Enable for hash-based routing (SPAs) |
| data-auto-track | boolean | Auto-track page views (default: true) |
Common Use Cases
Single Page App
// React Router example
useEffect(() => {
siteTooling.trackPageView(location.pathname);
}, [location]);User Opt-out
// Disable tracking on user request
document.getElementById('opt-out')
.addEventListener('click', () => {
siteTooling.disable();
localStorage.setItem('tracking-disabled', 'true');
});