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 event
  • properties (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

AttributeTypeDescription
data-tokenstringYour tracking token (required)
data-hash-modebooleanEnable for hash-based routing (SPAs)
data-auto-trackbooleanAuto-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');
  });