Skip to content

Tracker Functions

The Palzin Track Web SDK tracker exposes a function that you can call on your website if you want more control over your tracking. By default everything is automatically collected, but you can disable this using data-auto-track="false" and sending the data yourself.

See Tracker Configuration.

Functions

js
pt.track([payload]);

pt.track(event_name, [event_data]);
pt.track([payload]);

pt.track(event_name, [event_data]);

Pageviews

Tracks a page view.

js
pt.track();
pt.track();

By default the tracker automatically collects the following properties:

  • hostname: Hostname of server
  • language: Browser language
  • referrer: Page referrer
  • screen: Screen dimensions (eg. 1920x1080)
  • title: Page title
  • url: Page url
  • ip: User IP Address

If you wish to send your own custom payload, pass in an object to the function:

js
pt.track({ 
    screen: '1920x1080', 
    url: '/home', 
    title: 'Home page' 
});
pt.track({ 
    screen: '1920x1080', 
    url: '/home', 
    title: 'Home page' 
});

The above will only send the properties screen, url and title. If you want to include existing properties, pass in a function:

js
pt.track(props => ({
    ...props, 
    url: '/home',
    title: 'Home page'
}));
pt.track(props => ({
    ...props, 
    url: '/home',
    title: 'Home page'
}));

Events

Tracks an event with a given name.

js
pt.track('signup-button');
pt.track('signup-button');

Event Data

Tracks an event with dynamic data.

js
pt.track('signup-button', 
    { 
        name: 'newsletter', 
        id: 123 
    });
pt.track('signup-button', 
    { 
        name: 'newsletter', 
        id: 123 
    });

When tracking events, the default properties are included in the payload. This is equivalent to running:

js
pt.track(props => ({
  ...props,
  name: 'signup-button',
  data: {
    name: 'newsletter',
    id: 123,
  },
}));
pt.track(props => ({
  ...props,
  name: 'signup-button',
  data: {
    name: 'newsletter',
    id: 123,
  },
}));

Event Data Limits

Event Data can work with any JSON data. There are a few rules in place to maintain performance.

  • Numbers have a max precision of 4.
  • Strings have a max length of 256.
  • Arrays are converted to a String, with the same max length of 256.
  • Objects have a max of 50 properties. Arrays are considered 1 property.