Developer Documentation

Welcome to the Developer Documentation.

Here you find our developer documentation for our API and all our SKDs.

Get Started    


How to alter the settings of Clerk.js.

Configuring Clerk.js


Clerk.js is configured by default

If you use one of your plugins, or copy-paste the tracking code from, Clerk.js is already configured.

This is only for if you need more advanced customisation.

The object can be configured by the Clerk('config',' ') method with the following options as a object parameter:

keyYour store's public API key.
visitorThe visitor's visitor id. This will be auto-generated by default.
languageGlobal configuration of the language to be used if applying multiple languages. This will be auto detected by default from the page's language meta information.
collect_emailtrue if Clerk.js should automatically detect emails from input fields, else false. This is used for ie. abandoned basket and other personalized emails. falseby default.
formattersA mapping of custom template formatters
globalsA mapping of custom values or functions that should be available in all Templates.
debugDebug configuration. By default, all errors and warnings will be logged to the browser's console and to your store log on if possible. Read more about this configuration under Debugging.

Multiple configuration calls will only update the given configuration options and leave the others intact
When adding or editing configurations, it takes a dictionary as follows:.

Clerk('config', {
  key: 'YOUR_API_KEY',
  visitor: 'ABC123',
  language: 'english',
  collect_email: true,
  formatters: {
    format_price: function(price) {
      return price.toFixed(2).toString();
    uppercase: function(string) {
        return string.toUpperCase();
  globals: {
    currency_symbol: '$',
    return_price: function(price_list) {
        if (customer_group = 1) {
        return price_list[1];
      else {
        return price_list[0];
  debug: {
    enable: true,
    level: 'warn',
    collect: true

Clerk can also be configured for live testing by using url parameters. Using a # at the end of url and clerkjs: you can change all elements of the configuration. For example, the debugger can be enabled by entering #clerkjs:debug.ui=on at the end of the url address.

Updated 2 months ago


How to alter the settings of Clerk.js.

Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.