Skip to content

Commit

Permalink
feat: ketch config added for ga4 (#963)
Browse files Browse the repository at this point in the history
Co-authored-by: Moumita Mandal <[email protected]>
Co-authored-by: Anant Jain <[email protected]>
Co-authored-by: Ujjwal Abhishek <[email protected]>
Co-authored-by: ujjwal-ab <[email protected]>
  • Loading branch information
5 people authored Oct 6, 2023
1 parent 7026ada commit 89faa0e
Show file tree
Hide file tree
Showing 3 changed files with 55 additions and 46 deletions.
6 changes: 4 additions & 2 deletions src/configurations/destinations/ga4/db-config.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,8 @@
"eventFilteringOption",
"extendPageViewParams",
"oneTrustCookieCategories",
"overrideClientAndSessionId"
"overrideClientAndSessionId",
"ketchConsentPurposes"
],
"excludeKeys": [],
"supportedSourceTypes": [
Expand Down Expand Up @@ -70,7 +71,8 @@
"whitelistedEvents",
"blacklistedEvents",
"eventFilteringOption",
"oneTrustCookieCategories"
"oneTrustCookieCategories",
"ketchConsentPurposes"
],
"web": [
"debugView",
Expand Down
67 changes: 24 additions & 43 deletions src/configurations/destinations/ga4/schema.json
Original file line number Diff line number Diff line change
@@ -1,10 +1,7 @@
{
"configSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"apiSecret",
"typesOfClient"
],
"required": ["apiSecret", "typesOfClient"],
"type": "object",
"properties": {
"apiSecret": {
Expand All @@ -13,10 +10,7 @@
},
"typesOfClient": {
"type": "string",
"enum": [
"gtag",
"firebase"
],
"enum": ["gtag", "firebase"],
"default": "gtag"
},
"debugMode": {
Expand All @@ -25,11 +19,7 @@
},
"eventFilteringOption": {
"type": "string",
"enum": [
"disable",
"whitelistedEvents",
"blacklistedEvents"
],
"enum": ["disable", "whitelistedEvents", "blacklistedEvents"],
"default": "disable"
},
"whitelistedEvents": {
Expand Down Expand Up @@ -68,15 +58,24 @@
}
}
},
"ketchConsentPurposes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"purpose": {
"type": "string",
"pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{0,100})$"
}
}
}
},
"capturePageView": {
"type": "object",
"properties": {
"web": {
"type": "string",
"enum": [
"rs",
"gtag"
],
"enum": ["rs", "gtag"],
"default": "rs"
}
}
Expand Down Expand Up @@ -124,25 +123,15 @@
"properties": {
"android": {
"type": "string",
"enum": [
"cloud",
"device"
]
"enum": ["cloud", "device"]
},
"ios": {
"type": "string",
"enum": [
"cloud",
"device"
]
"enum": ["cloud", "device"]
},
"web": {
"type": "string",
"enum": [
"cloud",
"device",
"hybrid"
]
"enum": ["cloud", "device", "hybrid"]
}
}
}
Expand All @@ -155,9 +144,7 @@
"const": "gtag"
}
},
"required": [
"typesOfClient"
]
"required": ["typesOfClient"]
},
"then": {
"properties": {
Expand All @@ -166,9 +153,7 @@
"pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(G-.{1,100})$|^$"
}
},
"required": [
"measurementId"
]
"required": ["measurementId"]
}
},
{
Expand All @@ -178,9 +163,7 @@
"const": "firebase"
}
},
"required": [
"typesOfClient"
]
"required": ["typesOfClient"]
},
"then": {
"properties": {
Expand All @@ -189,11 +172,9 @@
"pattern": "(^\\{\\{.*\\|\\|(.*)\\}\\}$)|(^env[.].+)|^(.{1,100})$"
}
},
"required": [
"firebaseAppId"
]
"required": ["firebaseAppId"]
}
}
]
}
}
}
28 changes: 27 additions & 1 deletion src/configurations/destinations/ga4/ui-config.json
Original file line number Diff line number Diff line change
Expand Up @@ -238,14 +238,40 @@
"note": "Input your OneTrust category names by pressing ‘Enter’ after each entry",
"configKey": "oneTrustCookieCategories",
"tagKey": "oneTrustCookieCategory",
"placeholder": "e.g: Credit card visit",
"placeholder": "e.g: Marketing",
"default": [
{
"oneTrustCookieCategory": ""
}
]
}
]
},
{
"title": "Ketch consent purpose settings",
"note": [
"Enter your Ketch purpose Id if you have them configured. ",
{
"text": "Learn more ",
"link": "https://www.rudderstack.com/docs/sources/event-streams/sdks/consent-manager/ketch/"
},
"about RudderStack and Ketch Consent Manager integration."
],
"fields": [
{
"type": "tagInput",
"label": "Purpose ID",
"note": "Input your Ketch purpose Id by pressing ‘Enter’ after each entry",
"configKey": "ketchConsentPurposes",
"tagKey": "purpose",
"placeholder": "e.g: Marketing",
"default": [
{
"purpose": ""
}
]
}
]
}
]
}
Expand Down

0 comments on commit 89faa0e

Please sign in to comment.