Client side API
- Disable tracking yourself
- Dynamically tag clients
- Force send the recorded data
- Disable tracking a text input field
1. Disable tracking yourself
// Starting with the next page load the tracking will be disabled UST.disableRecord(); // Removes the "disabled" flag. // Starting with the next page load you will be tracked UST.enableRecord();
- To re-enable tracking the curent client call UST.enableRecord()
- The tracking enabled/disabled flag is stored in the localStorage. As long as the browser localStorage is not cleared/reset this setting will persist. (eg: you won't be tracked again unless you clear all your browser data/cookies/localStorage)
2. Tag visitors dynamically
// Call this when the scrollbar reaches the end UST.addTag('scrolled_to_footer') // Call this when user adds an item to the basket UST.addTag('add_to_basket_timestamp: ' + Date.now())
- Sometimes you might want to save additional data for each tracked user (such as username or whether they clicked a button or not).
- To add a tag the function UST.addTag() is provided. It has only one parameter which is the tag value. For example after calling this: UST.addTag("username_John") The tag will be saved for the current recording and you will be able to find it more easily.
- You can also enable auto-tagging when certain elements are clicked. Add the HTML5 attribute data-UST_click_tag to set what tag will be added if the current element is clicked.
<input type="text" data-UST_click_tag="clicked_input" />. When this input is clicked the tag clicked_input will be added for this session. You will then be able to, for example, see only the recordings of users who clicked that specific input.
- Once written the value of tags can not be changed.
- Each tag is unique and can appear only once. If you call
UST.addTag()again with the same tag name, nothing will happen.
- If you want more tags with similar name you can either add a random value or an unique id to each tag name.
3. Force send the recorded data
// A request to send *new* data to the server will be created UST.forceSendData();
- userTrack sends data to the server in an efficient way: it batches multiple actions made by the users and sends all of them at once in a single request. This means that sometimes you have recorded data stored on the client that hasn't been sent yet (it's queued to be sent in a specific amount of time). You can call UST.forceSendData() to reset the time left to send the next batch to 0, thus forcing userTrack to send the data as soon as possible.
- One use case of this method is if you want to make sure the last seconds of the user's visit are recorded by calling UST.forceSendData() inside window onbeforeunload callback.
You could also call this function after the user makes an important action that you want to make sure has been sent to the server (eg:
user clicks a specific button). Note that in this case you should also use
4. Disable tracking a text input field
// Add the `noRecord` class to the element to stop tracking keyboard input <input type="text" name="my-sensitive-input" class="noRecord"/>
- By default all inputs with type="password" are NOT recorded.
- To disable keyboard input tracking for any other input simply add the class noRecord to the element.