From 64d06c0bfc34d9a9c1d5c16c2c3ae0cdf3a73112 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adri=C3=A0=20Sastre?= Date: Tue, 23 Jun 2020 17:05:26 +0200 Subject: [PATCH] feat: initialize server side analytics with multiple options --- .../src/node.js | 21 +++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/packages/analytics-plugin-google-analytics/src/node.js b/packages/analytics-plugin-google-analytics/src/node.js index b4891d94..465a14d0 100644 --- a/packages/analytics-plugin-google-analytics/src/node.js +++ b/packages/analytics-plugin-google-analytics/src/node.js @@ -7,12 +7,24 @@ if (!process.browser) { /** * Serverside Google Analytics plugin * @param {object} pluginConfig - Plugin settings - * @param {string} pluginConfig.trackingId - Google Analytics site tracking Id + * @param {string} pluginConfig.trackingId - Google Analytics site tracking Id. Same as tid (se below), only one needed + * @param {string} pluginConfig.tid - Google Analytics site tracking Id. Same as trackingId (se above), only one needed + * @param {string} [pluginConfig.cid] - Google Analytics client Id. It generates a random UUID if none is set + * @param {boolean} [pluginConfig.strictCidFormat] - Set it to false to set a custom client Id (not UUID). Only used if cid is set + * @param {string} [pluginConfig.uid] - Google Analytics user Id * @return {*} * @example * * googleAnalytics({ - * trackingId: '123-xyz' + * trackingId: '123-xyz', + * cid: '123456789.987654321', + * strictCidFormat: false + * }) + * + * googleAnalytics({ + * tid: '123-xyz', + * cid: '123456789.987654321', + * strictCidFormat: false * }) */ function googleAnalytics(pluginConfig = {}) { @@ -48,8 +60,9 @@ function googleAnalytics(pluginConfig = {}) { export default googleAnalytics export function initialize(config) { - if (!config.trackingId) throw new Error('No google analytics trackingId defined') - return universalAnalytics(config.trackingId) + if (!config.trackingId && !config.tid) throw new Error('No google analytics trackingId defined') + if (!config.tid) config.tid = config.trackingId + return universalAnalytics(config) } export function pageView({ path, href, title }, client) {