Skip to content

Configuration

Ahmed Abbas edited this page Apr 7, 2026 · 1 revision

JavaScript SDK — Configuration

The full SDK configuration options object with all available fields.

Configuration Options

import {LogLevel} from '@convertcom/js-sdk';

const config = {
  sdkKey: '',              // either this or 'data' is required
  sdkKeySecret: '',        // required when using an authenticated SDK key
  environment: 'staging',
  logger: {
    logLevel: LogLevel.DEBUG,
    customLoggers: []      // allows 3rd party loggers
  },
  bucketing: {
    hash_seed: 9999,              // MurmurHash seed
    max_traffic: 10000,           // max hash value (100% traffic)
    excludeExperienceIdHash: false // whether to ignore prefixing hash with experience id
  },
  dataStore: null,         // optional persistent DataStore (see Persistent DataStore below)
  dataRefreshInterval: 300000, // config refresh interval in ms (5 minutes)
  data: projectData,       // static project configuration (alternative to sdkKey)
  events: {
    batch_size: 10,        // max events per network batch
    release_interval: 10000 // time in ms between queue releases
  },
  network: {
    tracking: true,        // set false to disable tracking events
    cacheLevel: 'default', // 'low' for short-lived cache (dev only)
    source: 'js-sdk'       // source identifier in network requests
  }
};

Field Reference

Top-Level Fields

Field Type Required Default Description
sdkKey string Yes (or data) Project identifier. The SDK fetches configuration from Convert's CDN using this key.
sdkKeySecret string No Required when using an authenticated SDK key.
environment string No Environment to match rules against ('staging' or 'production').
data object Yes (or sdkKey) Static project configuration object (alternative to sdkKey).
dataStore object | null No null Persistent DataStore for bucketing decisions across sessions. Must implement get(key) and set(key, value).
dataRefreshInterval number No 300000 How often (in ms) to refresh configuration from the CDN.

logger

Field Type Default Description
logLevel LogLevel LogLevel.WARN Minimum log level: DEBUG, INFO, WARN, ERROR, SILENT.
customLoggers array [] Array of third-party logger instances.

bucketing

Field Type Default Description
hash_seed number 9999 Seed value for the MurmurHash algorithm.
max_traffic number 10000 Maximum hash value representing 100% traffic allocation.
excludeExperienceIdHash boolean false Whether to ignore prefixing the generated hash with the experience ID.

events

Field Type Default Description
batch_size number 10 Maximum number of network requests released per batch.
release_interval number 10000 Time in milliseconds between queue releases.

network

Field Type Default Description
tracking boolean true Set to false to disable sending tracking events to Convert.
cacheLevel string 'default' Set to 'low' for short-lived cache (development only).
source string 'js-sdk' Source identifier included in network requests.

Project Data Structure

The data / projectData structure is documented in the Data Model and at the Convert Serving API docs.

Next Steps

Clone this wiki locally