HTML Script

Track your data via the HTML Script for Vemetric.


The HTML Script is the simplest way to track your data on any website.

Below you can see how to initialize and configure the HTML Script, as well as all the available functions.

If you’re looking for a more modern way to integrate Vemetric into your webapp, checkout the Web (Browser) SDK that’s offered via a NPM package.

Installation

Copy the following code snippet into the <head> section of your website so that it loads on every page.

<script>
  window.vmtrcq = window.vmtrcq || [];
  window.vmtrc = window.vmtrc || function (){window.vmtrcq.push(Array.prototype.slice.call(arguments))};
</script>
<script defer src="https://cdn.vemetric.com/main.js" data-token="YOUR_PROJECT_TOKEN"></script>

Replace YOUR_PROJECT_TOKEN with the unique token for your project (found in the project settings).

Configuration

It’s possible to configure Vemetric by passing data- attributes on the script tag additionaly to the data-token attribute.


data-host

Description

Here you can specify a different host for the Vemetric API.

Necessary if you want to use a proxy for tracking your data via your own domain.

Type
string
Example
"https://hub.yourdomain.com"

data-track-page-views

Description

Whether to track page views automatically.

Listens to any kind of changes of the URL (hash, pathname, search, etc.) and records a page view event. If disabled, you need to track page views manually.

Type
boolean
Default
"true"

data-track-outbound-links

Description
Whether to track outbound link clicks.
Type
boolean
Default
"true"

data-track-data-attributes

Description

Whether to listen to data-vmtrc attributes on elements for sending custom events.

Type
boolean
Default
"true"

data-mask-paths

Description

An array of paths to mask from the URL. Helpful if you mask sensitive information in the URL (e.g. user IDs) or group page views by a specific path (e.g. /project/*).

Type
"string[]"
Example
"['/project/*', '/project/*/users']"

Methods

Below you can find all the available methods and their functionality.

trackEvent

The main method to track any kind of event.

await window.vmtrc('trackEvent', 'MyCustomEvent', {
  eventData: { key: 'value' },
});

The first argument is the event name. The second argument is optional and can be an object with the following properties (also both optional):

  • eventData: An object containing the meta data of the event so you can later filter by
  • userData: An object to update the user data. Only relevant for identified users.
    • set: An object containing the user data to set, overriding existing values.
    • setOnce: An object containing the user data to set once, only if the keys do not exist yet.
    • unset: An array of keys to remove from the user data.

Checkout the tracking custom events section to learn more.

identify

With this function you can identify a user. All following events will be associated with this user. Checkout the docs about User identification to learn more about how it works.

await window.vmtrc('identify', {
  identifier: 'your-user-id', // we recommend to use the user's primary id in your database
  displayName: 'John Doe', // optional, will be used to display the users' name in Vemetric

  // If you have the consent of your authenticated users, you can allow cookies to ensure smoother tracking
  allowCookies: true,
});

The function takes the following parameters:

  • identifier: (Required): The unique identifier for the user. We recommend to use the user’s primary id in your database.
  • displayName: Optional: will be used to display the users’ name in Vemetric
  • allowCookies: Optional: Whether to use cookies to ensure smoother tracking.
  • data: Optional: An object to update the user data.
    • set: An object containing the user data to set, overriding existing values.
    • setOnce: An object containing the user data to set once, only if the keys do not exist yet.
    • unset: An array of keys to remove from the user data.

getUserIdentifier

Returns the identifier of the currently identified user. Returns null if no user is identified.

window.vmtrc('getUserIdentifier');

updateUser

Updates the data of the currently identified user.

window.vmtrc('updateUser', {
  set: { key1: 'value1' },
  setOnce: { key2: 'value2' },
  unset: ['key3'],
});

The first parameter is an object with the following properties:

  • set: An object containing the user data to set, overriding existing values.
  • setOnce: An object containing the user data to set once, only if the keys do not exist yet.
  • unset: An array of keys to remove from the user data.

resetUser

Should be called when the user logs out. From then on, all events will be tracked as anonymous.

await window.vmtrc('resetUser');

enableTrackPageViews

A function to enable automatic page view tracking after initialization. Only needed if trackPageViews was disabled.

window.vmtrc('enableTrackPageViews');

A function to enable outbound link tracking after initialization. Only needed if trackOutboundLinks was disabled.

window.vmtrc('enableTrackOutboundLinks');

enableTrackDataAttributes

A function to enable data attribute tracking after initialization. Only needed if trackDataAttributes was disabled.

Learn more about tracking custom events via data attributes.

window.vmtrc('enableTrackDataAttributes');

trackPageView

A function to manually track a page view from the current URL. Only needed if trackPageViews was disabled.

await window.vmtrc('trackPageView');

trackPageLeave

A function to manually track a page leave. Only needed if trackPageViews was disabled.

window.vmtrc('trackPageLeave');

Overview of the available Vemetric SDKs

Track your data via the Web (Browser) SDK for Vemetric.

Pricing About Documentation Changelog Blog