diff --git a/packages/analytics-plugin-segment/README.md b/packages/analytics-plugin-segment/README.md index b30016c1..5ffc22fc 100644 --- a/packages/analytics-plugin-segment/README.md +++ b/packages/analytics-plugin-segment/README.md @@ -104,6 +104,7 @@ const analytics = Analytics({ plugins: [ segmentPlugin({ writeKey: '123-xyz' + loadOptions: { disableClientPersistence: true } }) ] }) @@ -118,6 +119,7 @@ const analytics = Analytics({ | `disableAnonymousTraffic`
_optional_ - boolean| Disable loading segment for anonymous visitors | | `customScriptSrc`
_optional_ - boolean| Override the Segment snippet url, for loading via custom CDN proxy | | `integrations`
_optional_ - object| Enable/disable segment destinations https://bit.ly/38nRBj3 | +| `loadOptions`
_optional_ - object| Options object passed as the second argument to `analytics.load(writeKey, loadOptions)`. Allows customisation of Segment loading. | ## Server-side usage diff --git a/packages/analytics-plugin-segment/src/browser.js b/packages/analytics-plugin-segment/src/browser.js index 70ace69f..d3b02423 100644 --- a/packages/analytics-plugin-segment/src/browser.js +++ b/packages/analytics-plugin-segment/src/browser.js @@ -3,6 +3,8 @@ const config = { /* Your segment writeKey */ writeKey: null, + /* Options to pass in the load function call */ + loadOptions: {}, /* Disable anonymous MTU */ disableAnonymousTraffic: false, /* Sync segment Anonymous id with `analytics` Anon id */ @@ -18,6 +20,7 @@ const config = { * @link https://segment.com/docs/sources/website/analytics.js/ * @param {object} pluginConfig - Plugin settings * @param {string} pluginConfig.writeKey - Your segment writeKey + * @param {object} [pluginConfig.loadOptions] - Options to pass in the segment load call * @param {boolean} [pluginConfig.disableAnonymousTraffic] - Disable loading segment for anonymous visitors * @param {boolean} [pluginConfig.customScriptSrc] - Override the Segment snippet url, for loading via custom CDN proxy * @param {object} [pluginConfig.integrations] - Enable/disable segment destinations https://bit.ly/38nRBj3 @@ -25,7 +28,8 @@ const config = { * @example * * segmentPlugin({ - * writeKey: '123-xyz' + * writeKey: '123-xyz', + * loadOptions: { disableClientPersistence: true } * }) */ function segmentPlugin(pluginConfig = {}) { @@ -127,7 +131,7 @@ function segmentPlugin(pluginConfig = {}) { } function initialize({ config, instance }) { - const { disableAnonymousTraffic, writeKey, customScriptSrc } = config + const { disableAnonymousTraffic, writeKey, loadOptions, customScriptSrc } = config if (!writeKey) { throw new Error('No segment writeKey') } @@ -177,7 +181,7 @@ function initialize({ config, instance }) { analytics._loadOptions = e }; analytics.SNIPPET_VERSION = "4.1.0"; - analytics.load(writeKey); + analytics.load(writeKey, loadOptions); } } }();