Skip to main content
AnalyticsBrowser.load(settings, options?) takes two arguments:
  1. SettingswriteKey (required), optional cdnURL, cdnSettings, plugins, timeout
  2. Init options — persistence, pageview, web push, integrations, and related flags

Basic load

import { AnalyticsBrowser } from '@zixflow/analytics-browser'

const analytics = AnalyticsBrowser.load(
  {
    writeKey: 'YOUR_WRITE_KEY',
    // cdnURL: 'https://cdp.zixflow.com', // optional CDN override
  },
  {
    initialPageview: true,
    disableClientPersistence: false,
    retryQueue: true,
    obfuscate: false,
  }
)

Init options

OptionTypeDefaultDescription
initialPageviewbooleanfalseSend a page call on load
disableClientPersistencebooleanfalseDisable cookies / localStorage
disableAutoISOConversionbooleanfalseSkip ISO string → Date conversion for classic destinations
retryQueuebooleanfrom CDN (usually true)Persist and retry failed events
obfuscatebooleanfalseObfuscate integration bundle names
useQueryStringboolean | objectenabledProcess ajs_* URL params
cookie / user / groupobjectPersistence key overrides
integrationsobject{}Per-integration settings (see below)
planobjectSchema / plan filtering
webPushobjectAuto-register Web Push when enabled: true
globalAnalyticsKeystringanalyticsGlobal window key for the snippet

Delivery strategy (batching)

Batching is configured on the Zixflow destination settings (CDN or integrations.Zixflow), not as a top-level load setting:
const analytics = AnalyticsBrowser.load(
  { writeKey: 'YOUR_WRITE_KEY' },
  {
    integrations: {
      Zixflow: {
        apiHost: 'cdp.zixflow.com/v1',
        protocol: 'https',
        deliveryStrategy: {
          strategy: 'batching', // or 'standard'
          config: {
            size: 10,     // flush after N events
            timeout: 5000 // or after this many ms
          }
        }
      }
    }
  }
)
Default delivery is standard (one request per event). With batching, events POST to {apiHost}/b.

Web Push via init options

const analytics = AnalyticsBrowser.load(
  { writeKey: 'YOUR_WRITE_KEY' },
  {
    webPush: {
      enabled: true,
      swUrl: '/sw.js',
      autoSubscribe: false,
    }
  }
)
See Web Push Notifications.

In-app messaging via integrations

const analytics = AnalyticsBrowser.load(
  { writeKey: 'YOUR_WRITE_KEY' },
  {
    integrations: {
      'Zixflow In-App Plugin': {
        siteId: 'YOUR_SITE_ID',
      }
    }
  }
)
See In-App Messaging.