diff --git a/CHANGELOG.md b/CHANGELOG.md index 43f7649e5..aced169ca 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,13 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +### [1.83.1](https://github.com/rudderlabs/rudder-config-schema/compare/v1.83.0...v1.83.1) (2024-07-25) + + +### Features + +* feat: cordial source ([#1575](https://github.com/rudderlabs/rudder-integrations-config/pull/1575)) ([83e3313](https://github.com/rudderlabs/rudder-integrations-config/commit/83e331334859bbfc2b9d0e6f2deb2c36e29fc2cf)) + ## [1.83.0](https://github.com/rudderlabs/rudder-config-schema/compare/v1.82.1...v1.83.0) (2024-07-22) diff --git a/package-lock.json b/package-lock.json index 97d707e72..c6cb37bc8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "rudder-config-schema", - "version": "1.83.0", + "version": "1.83.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "rudder-config-schema", - "version": "1.83.0", + "version": "1.83.1", "license": "MIT", "dependencies": { "ajv": "^8.12.0", diff --git a/package.json b/package.json index 948f3610e..6beef66ef 100755 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "rudder-config-schema", - "version": "1.83.0", + "version": "1.83.1", "description": "", "main": "src/index.ts", "private": true, diff --git a/src/configurations/destinations/ga4_v2/db-config.json b/src/configurations/destinations/ga4_v2/db-config.json index 2795493e1..4d7cb989f 100644 --- a/src/configurations/destinations/ga4_v2/db-config.json +++ b/src/configurations/destinations/ga4_v2/db-config.json @@ -19,6 +19,7 @@ "eventFilteringOption", "extendPageViewParams", "piiPropertiesToIgnore", + "overrideClientAndSessionId", "oneTrustCookieCategories", "ketchConsentPurposes", "consentManagement", @@ -41,9 +42,7 @@ "supportedMessageTypes": { "cloud": ["track", "group", "page"], "device": { - "web": ["identify", "track", "page", "group"], - "android": ["identify", "track", "screen"], - "ios": ["identify", "track", "screen"] + "web": ["identify", "page"] } }, "supportedConnectionModes": { @@ -72,18 +71,13 @@ "oneTrustCookieCategories", "ketchConsentPurposes", "eventsMapping", - "sdkBaseUrl" - ], - "web": [ - "debugView", - "useNativeSDK", - "connectionMode", - "capturePageView", - "useNativeSDKToSend", + "sdkBaseUrl", "extendPageViewParams", "overrideClientAndSessionId", - "consentManagement" + "capturePageView", + "debugView" ], + "web": ["useNativeSDK", "connectionMode", "useNativeSDKToSend", "consentManagement"], "android": ["useNativeSDK", "connectionMode", "consentManagement"], "ios": ["useNativeSDK", "connectionMode", "consentManagement"], "unity": ["consentManagement", "connectionMode"], diff --git a/src/configurations/destinations/ga4_v2/schema.json b/src/configurations/destinations/ga4_v2/schema.json index 37a37e463..9f5829fe1 100644 --- a/src/configurations/destinations/ga4_v2/schema.json +++ b/src/configurations/destinations/ga4_v2/schema.json @@ -512,15 +512,13 @@ } }, "capturePageView": { - "type": "object", - "properties": { "web": { "type": "string", "enum": ["rs", "gtag"], "default": "rs" } } - }, - "debugView": { "type": "object", "properties": { "web": { "type": "boolean" } } }, - "extendPageViewParams": { "type": "object", "properties": { "web": { "type": "boolean" } } }, - "overrideClientAndSessionId": { - "type": "object", - "properties": { "web": { "type": "boolean" } } + "type": "string", + "enum": ["rs", "gtag"], + "default": "rs" }, + "debugView": { "type": "boolean" }, + "extendPageViewParams": { "type": "boolean" }, + "overrideClientAndSessionId": { "type": "boolean" }, "useNativeSDK": { "type": "object", "properties": { diff --git a/src/configurations/destinations/ga4_v2/ui-config.json b/src/configurations/destinations/ga4_v2/ui-config.json index 933bb1348..c141b4642 100644 --- a/src/configurations/destinations/ga4_v2/ui-config.json +++ b/src/configurations/destinations/ga4_v2/ui-config.json @@ -124,6 +124,78 @@ ] } ] + }, + { + "title": "Hybrid mode settings", + "note": "Configure additional settings for hybrid mode here", + "preRequisites": { + "fields": [ + { + "configKey": "connectionMode.web", + "value": "hybrid" + } + ] + }, + "fields": [ + { + "type": "singleSelect", + "label": "Choose how to capture pageviews", + "configKey": "capturePageView", + "note": [ + "Choose whether you want to send page view events through the RudderStack JS SDK, or through automatic collection on each page load using GA4 Enhanced Measurement (gtag).", + { + "text": "Learn more here ", + "link": "https://developers.google.com/analytics/devguides/collection/ga4/views?client_type=gtag" + }, + "about how GA4 measures pages and screens" + ], + "options": [ + { + "label": "RudderStack JS SDK", + "value": "rs" + }, + { + "label": "gtag Automated Capture", + "value": "gtag" + } + ], + "default": "rs" + }, + { + "type": "checkbox", + "label": "Debug via DebugView", + "configKey": "debugView", + "default": false, + "note": [ + "Enabling this allows you to monitor your device mode events in ", + { + "text": "DebugView.", + "link": "https://support.google.com/analytics/answer/7201382" + }, + "For hybrid mode, these would be only your page calls" + ] + }, + { + "type": "checkbox", + "label": "Include URL and Search as Page View properties", + "configKey": "extendPageViewParams", + "note": "Enabling this extends the set of properties automatically collected to include 'URL' and 'search'. Note that GA4 has a limit on the number of unique properties per event name", + "default": false + }, + { + "type": "checkbox", + "label": "Override gtag client ID & session ID", + "configKey": "overrideClientAndSessionId", + "note": [ + "Override the gtag clientID & sessionID with RudderStack's to ensure attribution is properly unified across page and track events. We recommend turning on the override function. Otherwise, instrument your RudderStack SDK based on instructions ", + { + "text": "here", + "link": "https://www.rudderstack.com/docs/destinations/streaming-destinations/google-analytics-4/setting-up-google-analytics-4-in-rudderstack/#hybrid-mode" + } + ], + "default": false + } + ] } ] }, @@ -306,53 +378,7 @@ "sdkTemplate": { "title": "Web SDK settings", "note": "not visible in the ui", - "fields": [ - { - "type": "singleSelect", - "label": "Choose how to capture pageviews", - "configKey": "capturePageView", - "note": [ - "Choose whether you want to send page view events through the RudderStack JS SDK, or through automatic collection on each page load using GA4 Enhanced Measurement (gtag).", - { - "text": "Learn more here ", - "link": "https://developers.google.com/analytics/devguides/collection/ga4/views?client_type=gtag" - }, - "about how GA4 measures pages and screens" - ], - "options": [ - { - "label": "RudderStack JS SDK", - "value": "rs" - }, - { - "label": "gtag Automated Capture", - "value": "gtag" - } - ], - "default": "rs" - }, - { - "type": "checkbox", - "label": "Debug via DebugView", - "configKey": "debugView", - "default": true, - "note": [ - "Enabling this allows you to monitor your device mode events in ", - { - "text": "DebugView.", - "link": "https://support.google.com/analytics/answer/7201382" - }, - "For hybrid mode, these would be only your page calls" - ] - }, - { - "type": "checkbox", - "label": "Include URL and Search as Page View properties", - "configKey": "extendPageViewParams", - "note": "Enabling this extends the set of properties automatically collected to include 'URL' and 'search'. Note that GA4 has a limit on the number of unique properties per event name", - "default": false - } - ] + "fields": [] }, "consentSettingsTemplate": { "title": "Consent settings", diff --git a/src/configurations/destinations/ga4_v2/ui-config.jt b/src/configurations/destinations/ga4_v2/ui-config.jt index 889a7061c..301086280 100644 --- a/src/configurations/destinations/ga4_v2/ui-config.jt +++ b/src/configurations/destinations/ga4_v2/ui-config.jt @@ -124,6 +124,78 @@ ] } ] + }, + { + "title": "Hybrid mode settings", + "note": "Configure additional settings for hybrid mode here", + "preRequisites": { + "fields": [ + { + "configKey": "connectionMode.web", + "value": "hybrid" + } + ] + }, + "fields": [ + { + "type": "singleSelect", + "label": "Choose how to capture pageviews", + "configKey": "capturePageView", + "note": [ + "Choose whether you want to send page view events through the RudderStack JS SDK, or through automatic collection on each page load using GA4 Enhanced Measurement (gtag).", + { + "text": "Learn more here ", + "link": "https://developers.google.com/analytics/devguides/collection/ga4/views?client_type=gtag" + }, + "about how GA4 measures pages and screens" + ], + "options": [ + { + "label": "RudderStack JS SDK", + "value": "rs" + }, + { + "label": "gtag Automated Capture", + "value": "gtag" + } + ], + "default": "rs" + }, + { + "type": "checkbox", + "label": "Debug via DebugView", + "configKey": "debugView", + "default": false, + "note": [ + "Enabling this allows you to monitor your device mode events in ", + { + "text": "DebugView.", + "link": "https://support.google.com/analytics/answer/7201382" + }, + "For hybrid mode, these would be only your page calls" + ] + }, + { + "type": "checkbox", + "label": "Include URL and Search as Page View properties", + "configKey": "extendPageViewParams", + "note": "Enabling this extends the set of properties automatically collected to include 'URL' and 'search'. Note that GA4 has a limit on the number of unique properties per event name", + "default": false + }, + { + "type": "checkbox", + "label": "Override gtag client ID & session ID", + "configKey": "overrideClientAndSessionId", + "note": [ + "Override the gtag clientID & sessionID with RudderStack's to ensure attribution is properly unified across page and track events. We recommend turning on the override function. Otherwise, instrument your RudderStack SDK based on instructions ", + { + "text": "here", + "link": "https://www.rudderstack.com/docs/destinations/streaming-destinations/google-analytics-4/setting-up-google-analytics-4-in-rudderstack/#hybrid-mode" + } + ], + "default": false + } + ] } ] }, @@ -306,53 +378,7 @@ "sdkTemplate": { "title": "Web SDK settings", "note": "not visible in the ui", - "fields": [ - { - "type": "singleSelect", - "label": "Choose how to capture pageviews", - "configKey": "capturePageView", - "note": [ - "Choose whether you want to send page view events through the RudderStack JS SDK, or through automatic collection on each page load using GA4 Enhanced Measurement (gtag).", - { - "text": "Learn more here ", - "link": "https://developers.google.com/analytics/devguides/collection/ga4/views?client_type=gtag" - }, - "about how GA4 measures pages and screens" - ], - "options": [ - { - "label": "RudderStack JS SDK", - "value": "rs" - }, - { - "label": "gtag Automated Capture", - "value": "gtag" - } - ], - "default": "rs" - }, - { - "type": "checkbox", - "label": "Debug via DebugView", - "configKey": "debugView", - "default": true, - "note": [ - "Enabling this allows you to monitor your device mode events in ", - { - "text": "DebugView.", - "link": "https://support.google.com/analytics/answer/7201382" - }, - "For hybrid mode, these would be only your page calls" - ] - }, - { - "type": "checkbox", - "label": "Include URL and Search as Page View properties", - "configKey": "extendPageViewParams", - "note": "Enabling this extends the set of properties automatically collected to include 'URL' and 'search'. Note that GA4 has a limit on the number of unique properties per event name", - "default": false - } - ] + "fields": [] }, "consentSettingsTemplate": { "title": "Consent settings", @@ -453,7 +479,7 @@ "placeholder": "properties.price" }, { - "type": "dynamicDataSelect", + "type": "autoComplete", "label": "GA4 parameter", "key": "to", "placeholder": "value" @@ -504,7 +530,7 @@ "placeholder": "e.g $.properties.revenue" }, { - "type": "dynamicDataSelect", + "type": "autoComplete", "label": "GA4 parameter", "key": "to", "placeholder": "$.event[0].params.value" diff --git a/src/configurations/sources/cordial/db-config.json b/src/configurations/sources/cordial/db-config.json new file mode 100644 index 000000000..f611faa0f --- /dev/null +++ b/src/configurations/sources/cordial/db-config.json @@ -0,0 +1,6 @@ +{ + "name": "cordial", + "category": "webhook", + "displayName": "Cordial", + "type": "cloud" +} diff --git a/src/configurations/sources/cordial/schema.json b/src/configurations/sources/cordial/schema.json new file mode 100644 index 000000000..fddffa4cc --- /dev/null +++ b/src/configurations/sources/cordial/schema.json @@ -0,0 +1,3 @@ +{ + "configSchema": null +} diff --git a/src/configurations/sources/cordial/ui-config.json b/src/configurations/sources/cordial/ui-config.json new file mode 100644 index 000000000..a64a05b7e --- /dev/null +++ b/src/configurations/sources/cordial/ui-config.json @@ -0,0 +1,3 @@ +{ + "uiConfig": null +} diff --git a/test/data/validation/destinations/ga4_v2.json b/test/data/validation/destinations/ga4_v2.json index 490ee5ac6..fcbe662d2 100644 --- a/test/data/validation/destinations/ga4_v2.json +++ b/test/data/validation/destinations/ga4_v2.json @@ -2,15 +2,9 @@ { "config": { "configData": "{\"PROPERTY\":\"123344\",\"DATA_STREAM\":{\"value\":\"G-T40XXXKET4\",\"type\":\"gtag\"},\"MEASUREMENT_PROTOCOL_SECRET\":\"QyWIGHjXXXX2L4ePAPiXCA\"}", - "capturePageView": { - "web": "rs" - }, - "extendPageViewParams": { - "web": true - }, - "debugView": { - "web": false - }, + "capturePageView": "rs", + "extendPageViewParams": true, + "debugView": false, "connectionMode": { "web": "cloud" }, @@ -45,15 +39,9 @@ "propertyId": "123344", "firebaseAppId": "2:637900006727:web:a428XXXXX9e329d5", "configData": "{\"PROPERTY\":\"123344\",\"DATA_STREAM\":{\"value\":\"2:637900006727:web:a428XXXXX9e329d5\",\"type\":\"firebase\"},\"MEASUREMENT_PROTOCOL_SECRET\":\"QyWIGHjXXXX2L4ePAPiXCA\"}", - "capturePageView": { - "web": "rs" - }, - "extendPageViewParams": { - "web": true - }, - "debugView": { - "web": false - }, + "capturePageView": "rs", + "extendPageViewParams": true, + "debugView": false, "connectionMode": { "web": "cloud" },