diff --git a/package-lock.json b/package-lock.json index 8683c3b3c..274b7f373 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@rudderstack/analytics-js-monorepo", - "version": "3.27.0", + "version": "3.28.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@rudderstack/analytics-js-monorepo", - "version": "3.27.0", + "version": "3.28.0", "hasInstallScript": true, "license": "Elastic-2.0", "workspaces": [ diff --git a/package.json b/package.json index 5a950c2ac..25f180e18 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@rudderstack/analytics-js-monorepo", - "version": "3.27.0", + "version": "3.28.0", "private": true, "description": "Monorepo for RudderStack Analytics JS SDK", "workspaces": [ diff --git a/packages/analytics-js-integrations/CHANGELOG.md b/packages/analytics-js-integrations/CHANGELOG.md index 96b739f93..491763c15 100644 --- a/packages/analytics-js-integrations/CHANGELOG.md +++ b/packages/analytics-js-integrations/CHANGELOG.md @@ -2,6 +2,13 @@ This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver). +## [3.6.0](https://github.com/rudderlabs/rudder-sdk-js/compare/@rudderstack/analytics-js-integrations@3.5.0...@rudderstack/analytics-js-integrations@3.6.0) (2024-08-01) + + +### Features + +* **integrations:** feature for server side container url support ga4 ([cfbea6c](https://github.com/rudderlabs/rudder-sdk-js/commit/cfbea6c615e3ef63e06c0098ccdb19c70572c22a)) + ## [3.5.0](https://github.com/rudderlabs/rudder-sdk-js/compare/@rudderstack/analytics-js-integrations@3.4.5...@rudderstack/analytics-js-integrations@3.5.0) (2024-07-24) ### Dependency Updates diff --git a/packages/analytics-js-integrations/CHANGELOG_LATEST.md b/packages/analytics-js-integrations/CHANGELOG_LATEST.md index 91f369ea7..425ab88a8 100644 --- a/packages/analytics-js-integrations/CHANGELOG_LATEST.md +++ b/packages/analytics-js-integrations/CHANGELOG_LATEST.md @@ -1,10 +1,7 @@ -## [3.5.0](https://github.com/rudderlabs/rudder-sdk-js/compare/@rudderstack/analytics-js-integrations@3.4.5...@rudderstack/analytics-js-integrations@3.5.0) (2024-07-24) +## [3.6.0](https://github.com/rudderlabs/rudder-sdk-js/compare/@rudderstack/analytics-js-integrations@3.5.0...@rudderstack/analytics-js-integrations@3.6.0) (2024-08-01) -### Dependency Updates - -* `@rudderstack/analytics-js-common` updated to version `3.4.5` ### Features -* **analytics-js-integrations:** onboard ga4 v2 hybrid mode ([#1802](https://github.com/rudderlabs/rudder-sdk-js/issues/1802)) ([2c8c3be](https://github.com/rudderlabs/rudder-sdk-js/commit/2c8c3bea8ada300c62729eb114dbe8ff84ae9269)) +* **integrations:** feature for server side container url support ga4 ([cfbea6c](https://github.com/rudderlabs/rudder-sdk-js/commit/cfbea6c615e3ef63e06c0098ccdb19c70572c22a)) diff --git a/packages/analytics-js-integrations/package.json b/packages/analytics-js-integrations/package.json index ebb619e1a..717544958 100644 --- a/packages/analytics-js-integrations/package.json +++ b/packages/analytics-js-integrations/package.json @@ -1,6 +1,6 @@ { "name": "@rudderstack/analytics-js-integrations", - "version": "3.5.0", + "version": "3.6.0", "private": true, "description": "RudderStack JavaScript SDK device mode integrations", "main": "dist/npm/modern/cjs/index.js", diff --git a/packages/analytics-js-integrations/project.json b/packages/analytics-js-integrations/project.json index 171968afc..4e20c794c 100644 --- a/packages/analytics-js-integrations/project.json +++ b/packages/analytics-js-integrations/project.json @@ -52,9 +52,9 @@ "github": { "executor": "@jscutlery/semver:github", "options": { - "tag": "@rudderstack/analytics-js-integrations@3.5.0", - "title": "@rudderstack/analytics-js-integrations@3.5.0", - "discussion-category": "@rudderstack/analytics-js-integrations@3.5.0", + "tag": "@rudderstack/analytics-js-integrations@3.6.0", + "title": "@rudderstack/analytics-js-integrations@3.6.0", + "discussion-category": "@rudderstack/analytics-js-integrations@3.6.0", "notesFile": "./packages/analytics-js-integrations/CHANGELOG_LATEST.md" } } diff --git a/packages/analytics-js-integrations/src/integrations/GA4/browser.js b/packages/analytics-js-integrations/src/integrations/GA4/browser.js index 42e2f87bc..2f69a225b 100644 --- a/packages/analytics-js-integrations/src/integrations/GA4/browser.js +++ b/packages/analytics-js-integrations/src/integrations/GA4/browser.js @@ -8,7 +8,12 @@ import { import { Cookie } from '@rudderstack/analytics-js-common/v1.1/utils/storage/cookie'; import Logger from '../../utils/logger'; import { eventsConfig } from './config'; -import { constructPayload, flattenJsonPayload, removeTrailingSlashes } from '../../utils/utils'; +import { + constructPayload, + flattenJsonPayload, + isDefinedAndNotNull, + removeTrailingSlashes, +} from '../../utils/utils'; import { shouldSendUserId, prepareParamsAndEventName, @@ -39,6 +44,7 @@ export default class GA4 { this.overrideClientAndSessionId = config.overrideClientAndSessionId || false; this.sdkBaseUrl = removeTrailingSlashes(config.sdkBaseUrl) || 'https://www.googletagmanager.com'; + this.serverContainerUrl = config.serverContainerUrl || null; this.isExtendedGa4_V2 = config.isExtendedGa4_V2 || false; ({ shouldApplyDeviceModeTransformation: this.shouldApplyDeviceModeTransformation, @@ -57,6 +63,10 @@ export default class GA4 { window.gtag('js', new Date()); const gtagParameterObject = {}; + if (isDefinedAndNotNull(this.serverContainerUrl)) { + gtagParameterObject.server_container_url = this.serverContainerUrl; + } + if (this.capturePageView === 'rs') { gtagParameterObject.send_page_view = false; } @@ -71,7 +81,7 @@ export default class GA4 { gtagParameterObject.cookie_prefix = 'rs'; gtagParameterObject.client_id = this.analytics.getAnonymousId(); gtagParameterObject.session_id = this.analytics.getSessionId(); - } else if(!this.isExtendedGa4_V2){ + } else if (!this.isExtendedGa4_V2) { // Cookie migration logic const clientCookie = this.cookie.get('rs_ga'); const defaultGA4Cookie = this.cookie.get('_ga'); @@ -271,5 +281,3 @@ export default class GA4 { }; } } - - diff --git a/sonar-project.properties b/sonar-project.properties index d98f5e437..ed0606aa1 100644 --- a/sonar-project.properties +++ b/sonar-project.properties @@ -6,7 +6,7 @@ sonar.qualitygate.wait=false sonar.projectKey=rudderlabs_rudder-sdk-js sonar.organization=rudderlabs sonar.projectName=rudder-sdk-js -sonar.projectVersion=3.27.0 +sonar.projectVersion=3.28.0 # Meta-data for the project sonar.links.scm=https://github.com/rudderlabs/rudder-sdk-js