@segment/analytics-browser-actions-google-analytics-4 1.34.0 → 1.36.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/generated-types.d.ts +3 -1
- package/dist/cjs/index.js +39 -7
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/setConfigurationFields/generated-types.d.ts +2 -0
- package/dist/cjs/setConfigurationFields/index.js +47 -14
- package/dist/cjs/setConfigurationFields/index.js.map +1 -1
- package/dist/esm/generated-types.d.ts +3 -1
- package/dist/esm/index.js +39 -7
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/setConfigurationFields/generated-types.d.ts +2 -0
- package/dist/esm/setConfigurationFields/index.js +47 -14
- package/dist/esm/setConfigurationFields/index.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +4 -4
- package/src/__tests__/setConfigurationFields.test.ts +618 -0
- package/src/generated-types.ts +10 -2
- package/src/index.ts +47 -7
- package/src/setConfigurationFields/generated-types.ts +8 -0
- package/src/setConfigurationFields/index.ts +57 -14
|
@@ -5,12 +5,14 @@ export interface Settings {
|
|
|
5
5
|
cookieDomain?: string;
|
|
6
6
|
cookieExpirationInSeconds?: number;
|
|
7
7
|
cookieFlags?: string[];
|
|
8
|
-
cookiePath?: string
|
|
8
|
+
cookiePath?: string;
|
|
9
9
|
cookiePrefix?: string[];
|
|
10
10
|
cookieUpdate?: boolean;
|
|
11
11
|
enableConsentMode?: boolean;
|
|
12
12
|
defaultAdsStorageConsentState?: string;
|
|
13
13
|
defaultAnalyticsStorageConsentState?: string;
|
|
14
|
+
adUserDataConsentState?: string;
|
|
15
|
+
adPersonalizationConsentState?: string;
|
|
14
16
|
waitTimeToUpdateConsentStage?: number;
|
|
15
17
|
pageView?: boolean;
|
|
16
18
|
}
|
package/dist/cjs/index.js
CHANGED
|
@@ -58,35 +58,40 @@ exports.destination = {
|
|
|
58
58
|
cookieDomain: {
|
|
59
59
|
description: 'Specifies the domain used to store the analytics cookie. Set to “auto” by default.',
|
|
60
60
|
label: 'Cookie Domain',
|
|
61
|
-
type: 'string'
|
|
61
|
+
type: 'string',
|
|
62
|
+
default: 'auto'
|
|
62
63
|
},
|
|
63
64
|
cookieExpirationInSeconds: {
|
|
64
65
|
description: `Every time a hit is sent to GA4, the analytics cookie expiration time is updated to be the current time plus the value of this field. The default value is two years (63072000 seconds). Please input the expiration value in seconds. More information in [Google Documentation](https://developers.google.com/analytics/devguides/collection/ga4/reference/config#)`,
|
|
65
66
|
label: 'Cookie Expiration In Seconds',
|
|
66
|
-
type: 'number'
|
|
67
|
+
type: 'number',
|
|
68
|
+
default: 63072000
|
|
67
69
|
},
|
|
68
70
|
cookieFlags: {
|
|
69
71
|
description: `Appends additional flags to the analytics cookie. See [write a new cookie](https://developer.mozilla.org/en-US/docs/Web/API/Document/cookie#write_a_new_cookie) for some examples of flags to set.`,
|
|
70
72
|
label: 'Cookie Flag',
|
|
71
73
|
type: 'string',
|
|
74
|
+
default: undefined,
|
|
72
75
|
multiple: true
|
|
73
76
|
},
|
|
74
77
|
cookiePath: {
|
|
75
|
-
description: `Specifies the subpath used to store the analytics cookie.`,
|
|
78
|
+
description: `Specifies the subpath used to store the analytics cookie. We recommend to add a forward slash, / , in the first field as it is the Default Value for GA4.`,
|
|
76
79
|
label: 'Cookie Path',
|
|
77
80
|
type: 'string',
|
|
78
|
-
|
|
81
|
+
default: '/'
|
|
79
82
|
},
|
|
80
83
|
cookiePrefix: {
|
|
81
84
|
description: `Specifies a prefix to prepend to the analytics cookie name.`,
|
|
82
85
|
label: 'Cookie Prefix',
|
|
83
86
|
type: 'string',
|
|
87
|
+
default: undefined,
|
|
84
88
|
multiple: true
|
|
85
89
|
},
|
|
86
90
|
cookieUpdate: {
|
|
87
91
|
description: `Set to false to not update cookies on each page load. This has the effect of cookie expiration being relative to the first time a user visited. Set to true by default so update cookies on each page load.`,
|
|
88
92
|
label: 'Cookie Update',
|
|
89
|
-
type: 'boolean'
|
|
93
|
+
type: 'boolean',
|
|
94
|
+
default: true
|
|
90
95
|
},
|
|
91
96
|
enableConsentMode: {
|
|
92
97
|
description: `Set to true to enable Google’s [Consent Mode](https://support.google.com/analytics/answer/9976101?hl=en). Set to false by default.`,
|
|
@@ -114,6 +119,26 @@ exports.destination = {
|
|
|
114
119
|
],
|
|
115
120
|
default: 'granted'
|
|
116
121
|
},
|
|
122
|
+
adUserDataConsentState: {
|
|
123
|
+
description: 'Consent state indicated by the user for ad cookies. Value must be "granted" or "denied." This is only used if the Enable Consent Mode setting is on.',
|
|
124
|
+
label: 'Ad User Data Consent State',
|
|
125
|
+
type: 'string',
|
|
126
|
+
choices: [
|
|
127
|
+
{ label: 'Granted', value: 'granted' },
|
|
128
|
+
{ label: 'Denied', value: 'denied' }
|
|
129
|
+
],
|
|
130
|
+
default: undefined
|
|
131
|
+
},
|
|
132
|
+
adPersonalizationConsentState: {
|
|
133
|
+
description: 'Consent state indicated by the user for ad cookies. Value must be "granted" or "denied." This is only used if the Enable Consent Mode setting is on.',
|
|
134
|
+
label: 'Ad Personalization Consent State',
|
|
135
|
+
type: 'string',
|
|
136
|
+
choices: [
|
|
137
|
+
{ label: 'Granted', value: 'granted' },
|
|
138
|
+
{ label: 'Denied', value: 'denied' }
|
|
139
|
+
],
|
|
140
|
+
default: undefined
|
|
141
|
+
},
|
|
117
142
|
waitTimeToUpdateConsentStage: {
|
|
118
143
|
description: 'If your CMP loads asynchronously, it might not always run before the Google tag. To handle such situations, specify a millisecond value to control how long to wait before the consent state update is sent. Please input the wait_for_update in milliseconds.',
|
|
119
144
|
label: 'Wait Time to Update Consent State',
|
|
@@ -133,11 +158,18 @@ exports.destination = {
|
|
|
133
158
|
};
|
|
134
159
|
window.gtag('js', new Date());
|
|
135
160
|
if (settings.enableConsentMode) {
|
|
136
|
-
|
|
161
|
+
const consent = {
|
|
137
162
|
ad_storage: settings.defaultAdsStorageConsentState,
|
|
138
163
|
analytics_storage: settings.defaultAnalyticsStorageConsentState,
|
|
139
164
|
wait_for_update: settings.waitTimeToUpdateConsentStage
|
|
140
|
-
}
|
|
165
|
+
};
|
|
166
|
+
if (settings.adUserDataConsentState) {
|
|
167
|
+
consent.ad_user_data = settings.adUserDataConsentState;
|
|
168
|
+
}
|
|
169
|
+
if (settings.adPersonalizationConsentState) {
|
|
170
|
+
consent.ad_personalization = settings.adPersonalizationConsentState;
|
|
171
|
+
}
|
|
172
|
+
gtag('consent', 'default', consent);
|
|
141
173
|
}
|
|
142
174
|
const script = `https://www.googletagmanager.com/gtag/js?id=${settings.measurementID}`;
|
|
143
175
|
await deps.loadScript(script);
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;AAEA,oEAA8E;AAE9E,8EAA6C;AAC7C,oEAAmC;AACnC,4EAA2C;AAC3C,4EAA2C;AAC3C,wEAAuC;AACvC,4DAA2B;AAC3B,0EAAyC;AACzC,kEAAiC;AACjC,8DAA6B;AAC7B,8EAA6C;AAC7C,8DAA6B;AAC7B,sEAAqC;AACrC,gFAA+C;AAC/C,8DAA6B;AAC7B,kEAAiC;AACjC,kEAAiC;AACjC,0EAAyC;AACzC,4EAA2C;AAC3C,8FAA6D;AAC7D,wDAA4E;AAW5E,MAAM,OAAO,GAAqC;IAChD;QACE,IAAI,EAAE,0BAA0B;QAChC,SAAS,EAAE,eAAe;QAC1B,aAAa,EAAE,wBAAwB;QACvC,OAAO,EAAE,4BAAa,CAAC,gCAAsB,CAAC,MAAM,CAAC;QACrD,IAAI,EAAE,WAAW;KAClB;CACF,CAAA;AAEY,QAAA,WAAW,GAAqD;IAC3E,IAAI,EAAE,wBAAwB;IAC9B,IAAI,EAAE,gCAAgC;IACtC,IAAI,EAAE,QAAQ;IAEd,QAAQ,EAAE;QACR,aAAa,EAAE;YACb,WAAW,EACT,yIAAyI;YAC3I,KAAK,EAAE,gBAAgB;YACvB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;SACf;QACD,kBAAkB,EAAE;YAClB,WAAW,EAAE,2EAA2E;YACxF,KAAK,EAAE,sBAAsB;YAC7B,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,IAAI;SACd;QACD,6BAA6B,EAAE;YAC7B,WAAW,EAAE,2EAA2E;YACxF,KAAK,EAAE,kCAAkC;YACzC,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,IAAI;SACd;QACD,YAAY,EAAE;YACZ,WAAW,EAAE,oFAAoF;YACjG,KAAK,EAAE,eAAe;YACtB,IAAI,EAAE,QAAQ;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,8 @@ export interface Payload {
|
|
|
5
5
|
};
|
|
6
6
|
ads_storage_consent_state?: string;
|
|
7
7
|
analytics_storage_consent_state?: string;
|
|
8
|
+
ad_user_data_consent_state?: string;
|
|
9
|
+
ad_personalization_consent_state?: string;
|
|
8
10
|
campaign_content?: string;
|
|
9
11
|
campaign_id?: string;
|
|
10
12
|
campaign_medium?: string;
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const ga4_properties_1 = require("../ga4-properties");
|
|
4
|
+
const defaultCookieExpiryInSecond = 63072000;
|
|
5
|
+
const defaultCookieDomain = 'auto';
|
|
4
6
|
const action = {
|
|
5
7
|
title: 'Set Configuration Fields',
|
|
6
8
|
description: 'Set custom values for the GA4 configuration fields.',
|
|
@@ -20,6 +22,26 @@ const action = {
|
|
|
20
22
|
label: 'Analytics Storage Consent State',
|
|
21
23
|
type: 'string'
|
|
22
24
|
},
|
|
25
|
+
ad_user_data_consent_state: {
|
|
26
|
+
description: 'Consent state indicated by the user for ad cookies. Value must be "granted" or "denied." This is only used if the Enable Consent Mode setting is on.',
|
|
27
|
+
label: 'Ad User Data Consent State',
|
|
28
|
+
type: 'string',
|
|
29
|
+
choices: [
|
|
30
|
+
{ label: 'Granted', value: 'granted' },
|
|
31
|
+
{ label: 'Denied', value: 'denied' }
|
|
32
|
+
],
|
|
33
|
+
default: undefined
|
|
34
|
+
},
|
|
35
|
+
ad_personalization_consent_state: {
|
|
36
|
+
description: 'Consent state indicated by the user for ad cookies. Value must be "granted" or "denied." This is only used if the Enable Consent Mode setting is on.',
|
|
37
|
+
label: 'Ad Personalization Consent State',
|
|
38
|
+
type: 'string',
|
|
39
|
+
choices: [
|
|
40
|
+
{ label: 'Granted', value: 'granted' },
|
|
41
|
+
{ label: 'Denied', value: 'denied' }
|
|
42
|
+
],
|
|
43
|
+
default: undefined
|
|
44
|
+
},
|
|
23
45
|
campaign_content: {
|
|
24
46
|
description: 'Use campaign content to differentiate ads or links that point to the same URL. Setting this value will override the utm_content query parameter.',
|
|
25
47
|
label: 'Campaign Content',
|
|
@@ -83,34 +105,48 @@ const action = {
|
|
|
83
105
|
params: ga4_properties_1.params
|
|
84
106
|
},
|
|
85
107
|
perform: (gtag, { payload, settings }) => {
|
|
108
|
+
const checkCookiePathDefaultValue = settings.cookiePath != undefined && settings.cookiePath?.length !== 1 && settings.cookiePath !== '/';
|
|
86
109
|
if (settings.enableConsentMode) {
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
}
|
|
110
|
+
const consentParams = {};
|
|
111
|
+
if (payload.ads_storage_consent_state) {
|
|
112
|
+
consentParams.ad_storage = payload.ads_storage_consent_state;
|
|
113
|
+
}
|
|
114
|
+
if (payload.analytics_storage_consent_state) {
|
|
115
|
+
consentParams.analytics_storage = payload.analytics_storage_consent_state;
|
|
116
|
+
}
|
|
117
|
+
if (payload.ad_user_data_consent_state) {
|
|
118
|
+
consentParams.ad_user_data = payload.ad_user_data_consent_state;
|
|
119
|
+
}
|
|
120
|
+
if (payload.ad_personalization_consent_state) {
|
|
121
|
+
consentParams.ad_personalization = payload.ad_personalization_consent_state;
|
|
122
|
+
}
|
|
123
|
+
gtag('consent', 'update', consentParams);
|
|
91
124
|
}
|
|
92
125
|
const config = {
|
|
93
126
|
allow_ad_personalization_signals: settings.allowAdPersonalizationSignals,
|
|
94
127
|
allow_google_signals: settings.allowGoogleSignals,
|
|
95
128
|
...payload.params
|
|
96
129
|
};
|
|
97
|
-
if (settings.cookieUpdate) {
|
|
98
|
-
config.cookie_update =
|
|
130
|
+
if (settings.cookieUpdate != true) {
|
|
131
|
+
config.cookie_update = false;
|
|
99
132
|
}
|
|
100
|
-
if (settings.cookieDomain) {
|
|
133
|
+
if (settings.cookieDomain != defaultCookieDomain) {
|
|
101
134
|
config.cookie_domain = settings.cookieDomain;
|
|
102
135
|
}
|
|
103
136
|
if (settings.cookiePrefix) {
|
|
104
137
|
config.cookie_prefix = settings.cookiePrefix;
|
|
105
138
|
}
|
|
106
|
-
if (settings.cookieExpirationInSeconds) {
|
|
139
|
+
if (settings.cookieExpirationInSeconds != defaultCookieExpiryInSecond) {
|
|
107
140
|
config.cookie_expires = settings.cookieExpirationInSeconds;
|
|
108
141
|
}
|
|
109
|
-
if (
|
|
142
|
+
if (checkCookiePathDefaultValue) {
|
|
110
143
|
config.cookie_path = settings.cookiePath;
|
|
111
144
|
}
|
|
112
|
-
if (settings.pageView) {
|
|
113
|
-
config.send_page_view = settings.pageView;
|
|
145
|
+
if (settings.pageView != true) {
|
|
146
|
+
config.send_page_view = settings.pageView ?? true;
|
|
147
|
+
}
|
|
148
|
+
if (settings.cookieFlags) {
|
|
149
|
+
config.cookie_flags = settings.cookieFlags;
|
|
114
150
|
}
|
|
115
151
|
if (payload.screen_resolution) {
|
|
116
152
|
config.screen_resolution = payload.screen_resolution;
|
|
@@ -154,9 +190,6 @@ const action = {
|
|
|
154
190
|
if (payload.campaign_content) {
|
|
155
191
|
config.campaign_content = payload.campaign_content;
|
|
156
192
|
}
|
|
157
|
-
if (settings.pageView != true) {
|
|
158
|
-
config.send_page_view = settings.pageView;
|
|
159
|
-
}
|
|
160
193
|
gtag('config', settings.measurementID, config);
|
|
161
194
|
}
|
|
162
195
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/setConfigurationFields/index.ts"],"names":[],"mappings":";;AAGA,sDAAoE;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/setConfigurationFields/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,12 +5,14 @@ export interface Settings {
|
|
|
5
5
|
cookieDomain?: string;
|
|
6
6
|
cookieExpirationInSeconds?: number;
|
|
7
7
|
cookieFlags?: string[];
|
|
8
|
-
cookiePath?: string
|
|
8
|
+
cookiePath?: string;
|
|
9
9
|
cookiePrefix?: string[];
|
|
10
10
|
cookieUpdate?: boolean;
|
|
11
11
|
enableConsentMode?: boolean;
|
|
12
12
|
defaultAdsStorageConsentState?: string;
|
|
13
13
|
defaultAnalyticsStorageConsentState?: string;
|
|
14
|
+
adUserDataConsentState?: string;
|
|
15
|
+
adPersonalizationConsentState?: string;
|
|
14
16
|
waitTimeToUpdateConsentStage?: number;
|
|
15
17
|
pageView?: boolean;
|
|
16
18
|
}
|
package/dist/esm/index.js
CHANGED
|
@@ -54,35 +54,40 @@ export const destination = {
|
|
|
54
54
|
cookieDomain: {
|
|
55
55
|
description: 'Specifies the domain used to store the analytics cookie. Set to “auto” by default.',
|
|
56
56
|
label: 'Cookie Domain',
|
|
57
|
-
type: 'string'
|
|
57
|
+
type: 'string',
|
|
58
|
+
default: 'auto'
|
|
58
59
|
},
|
|
59
60
|
cookieExpirationInSeconds: {
|
|
60
61
|
description: `Every time a hit is sent to GA4, the analytics cookie expiration time is updated to be the current time plus the value of this field. The default value is two years (63072000 seconds). Please input the expiration value in seconds. More information in [Google Documentation](https://developers.google.com/analytics/devguides/collection/ga4/reference/config#)`,
|
|
61
62
|
label: 'Cookie Expiration In Seconds',
|
|
62
|
-
type: 'number'
|
|
63
|
+
type: 'number',
|
|
64
|
+
default: 63072000
|
|
63
65
|
},
|
|
64
66
|
cookieFlags: {
|
|
65
67
|
description: `Appends additional flags to the analytics cookie. See [write a new cookie](https://developer.mozilla.org/en-US/docs/Web/API/Document/cookie#write_a_new_cookie) for some examples of flags to set.`,
|
|
66
68
|
label: 'Cookie Flag',
|
|
67
69
|
type: 'string',
|
|
70
|
+
default: undefined,
|
|
68
71
|
multiple: true
|
|
69
72
|
},
|
|
70
73
|
cookiePath: {
|
|
71
|
-
description: `Specifies the subpath used to store the analytics cookie.`,
|
|
74
|
+
description: `Specifies the subpath used to store the analytics cookie. We recommend to add a forward slash, / , in the first field as it is the Default Value for GA4.`,
|
|
72
75
|
label: 'Cookie Path',
|
|
73
76
|
type: 'string',
|
|
74
|
-
|
|
77
|
+
default: '/'
|
|
75
78
|
},
|
|
76
79
|
cookiePrefix: {
|
|
77
80
|
description: `Specifies a prefix to prepend to the analytics cookie name.`,
|
|
78
81
|
label: 'Cookie Prefix',
|
|
79
82
|
type: 'string',
|
|
83
|
+
default: undefined,
|
|
80
84
|
multiple: true
|
|
81
85
|
},
|
|
82
86
|
cookieUpdate: {
|
|
83
87
|
description: `Set to false to not update cookies on each page load. This has the effect of cookie expiration being relative to the first time a user visited. Set to true by default so update cookies on each page load.`,
|
|
84
88
|
label: 'Cookie Update',
|
|
85
|
-
type: 'boolean'
|
|
89
|
+
type: 'boolean',
|
|
90
|
+
default: true
|
|
86
91
|
},
|
|
87
92
|
enableConsentMode: {
|
|
88
93
|
description: `Set to true to enable Google’s [Consent Mode](https://support.google.com/analytics/answer/9976101?hl=en). Set to false by default.`,
|
|
@@ -110,6 +115,26 @@ export const destination = {
|
|
|
110
115
|
],
|
|
111
116
|
default: 'granted'
|
|
112
117
|
},
|
|
118
|
+
adUserDataConsentState: {
|
|
119
|
+
description: 'Consent state indicated by the user for ad cookies. Value must be "granted" or "denied." This is only used if the Enable Consent Mode setting is on.',
|
|
120
|
+
label: 'Ad User Data Consent State',
|
|
121
|
+
type: 'string',
|
|
122
|
+
choices: [
|
|
123
|
+
{ label: 'Granted', value: 'granted' },
|
|
124
|
+
{ label: 'Denied', value: 'denied' }
|
|
125
|
+
],
|
|
126
|
+
default: undefined
|
|
127
|
+
},
|
|
128
|
+
adPersonalizationConsentState: {
|
|
129
|
+
description: 'Consent state indicated by the user for ad cookies. Value must be "granted" or "denied." This is only used if the Enable Consent Mode setting is on.',
|
|
130
|
+
label: 'Ad Personalization Consent State',
|
|
131
|
+
type: 'string',
|
|
132
|
+
choices: [
|
|
133
|
+
{ label: 'Granted', value: 'granted' },
|
|
134
|
+
{ label: 'Denied', value: 'denied' }
|
|
135
|
+
],
|
|
136
|
+
default: undefined
|
|
137
|
+
},
|
|
113
138
|
waitTimeToUpdateConsentStage: {
|
|
114
139
|
description: 'If your CMP loads asynchronously, it might not always run before the Google tag. To handle such situations, specify a millisecond value to control how long to wait before the consent state update is sent. Please input the wait_for_update in milliseconds.',
|
|
115
140
|
label: 'Wait Time to Update Consent State',
|
|
@@ -129,11 +154,18 @@ export const destination = {
|
|
|
129
154
|
};
|
|
130
155
|
window.gtag('js', new Date());
|
|
131
156
|
if (settings.enableConsentMode) {
|
|
132
|
-
|
|
157
|
+
const consent = {
|
|
133
158
|
ad_storage: settings.defaultAdsStorageConsentState,
|
|
134
159
|
analytics_storage: settings.defaultAnalyticsStorageConsentState,
|
|
135
160
|
wait_for_update: settings.waitTimeToUpdateConsentStage
|
|
136
|
-
}
|
|
161
|
+
};
|
|
162
|
+
if (settings.adUserDataConsentState) {
|
|
163
|
+
consent.ad_user_data = settings.adUserDataConsentState;
|
|
164
|
+
}
|
|
165
|
+
if (settings.adPersonalizationConsentState) {
|
|
166
|
+
consent.ad_personalization = settings.adPersonalizationConsentState;
|
|
167
|
+
}
|
|
168
|
+
gtag('consent', 'default', consent);
|
|
137
169
|
}
|
|
138
170
|
const script = `https://www.googletagmanager.com/gtag/js?id=${settings.measurementID}`;
|
|
139
171
|
await deps.loadScript(script);
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAA;AAE9E,OAAO,cAAc,MAAM,kBAAkB,CAAA;AAC7C,OAAO,SAAS,MAAM,aAAa,CAAA;AACnC,OAAO,aAAa,MAAM,iBAAiB,CAAA;AAC3C,OAAO,aAAa,MAAM,iBAAiB,CAAA;AAC3C,OAAO,WAAW,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,SAAS,CAAA;AAC3B,OAAO,YAAY,MAAM,gBAAgB,CAAA;AACzC,OAAO,QAAQ,MAAM,YAAY,CAAA;AACjC,OAAO,MAAM,MAAM,UAAU,CAAA;AAC7B,OAAO,cAAc,MAAM,kBAAkB,CAAA;AAC7C,OAAO,MAAM,MAAM,UAAU,CAAA;AAC7B,OAAO,UAAU,MAAM,cAAc,CAAA;AACrC,OAAO,eAAe,MAAM,mBAAmB,CAAA;AAC/C,OAAO,MAAM,MAAM,UAAU,CAAA;AAC7B,OAAO,QAAQ,MAAM,YAAY,CAAA;AACjC,OAAO,QAAQ,MAAM,YAAY,CAAA;AACjC,OAAO,YAAY,MAAM,gBAAgB,CAAA;AACzC,OAAO,aAAa,MAAM,iBAAiB,CAAA;AAC3C,OAAO,sBAAsB,MAAM,0BAA0B,CAAA;AAC7D,OAAO,EAAE,aAAa,EAAyB,MAAM,uBAAuB,CAAA;AAW5E,MAAM,OAAO,GAAqC;IAChD;QACE,IAAI,EAAE,0BAA0B;QAChC,SAAS,EAAE,eAAe;QAC1B,aAAa,EAAE,wBAAwB;QACvC,OAAO,EAAE,aAAa,CAAC,sBAAsB,CAAC,MAAM,CAAC;QACrD,IAAI,EAAE,WAAW;KAClB;CACF,CAAA;AAED,MAAM,CAAC,MAAM,WAAW,GAAqD;IAC3E,IAAI,EAAE,wBAAwB;IAC9B,IAAI,EAAE,gCAAgC;IACtC,IAAI,EAAE,QAAQ;IAEd,QAAQ,EAAE;QACR,aAAa,EAAE;YACb,WAAW,EACT,yIAAyI;YAC3I,KAAK,EAAE,gBAAgB;YACvB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;SACf;QACD,kBAAkB,EAAE;YAClB,WAAW,EAAE,2EAA2E;YACxF,KAAK,EAAE,sBAAsB;YAC7B,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,IAAI;SACd;QACD,6BAA6B,EAAE;YAC7B,WAAW,EAAE,2EAA2E;YACxF,KAAK,EAAE,kCAAkC;YACzC,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,IAAI;SACd;QACD,YAAY,EAAE;YACZ,WAAW,EAAE,oFAAoF;YACjG,KAAK,EAAE,eAAe;YACtB,IAAI,EAAE,QAAQ;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,8 @@ export interface Payload {
|
|
|
5
5
|
};
|
|
6
6
|
ads_storage_consent_state?: string;
|
|
7
7
|
analytics_storage_consent_state?: string;
|
|
8
|
+
ad_user_data_consent_state?: string;
|
|
9
|
+
ad_personalization_consent_state?: string;
|
|
8
10
|
campaign_content?: string;
|
|
9
11
|
campaign_id?: string;
|
|
10
12
|
campaign_medium?: string;
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { user_id, user_properties, params } from '../ga4-properties';
|
|
2
|
+
const defaultCookieExpiryInSecond = 63072000;
|
|
3
|
+
const defaultCookieDomain = 'auto';
|
|
2
4
|
const action = {
|
|
3
5
|
title: 'Set Configuration Fields',
|
|
4
6
|
description: 'Set custom values for the GA4 configuration fields.',
|
|
@@ -18,6 +20,26 @@ const action = {
|
|
|
18
20
|
label: 'Analytics Storage Consent State',
|
|
19
21
|
type: 'string'
|
|
20
22
|
},
|
|
23
|
+
ad_user_data_consent_state: {
|
|
24
|
+
description: 'Consent state indicated by the user for ad cookies. Value must be "granted" or "denied." This is only used if the Enable Consent Mode setting is on.',
|
|
25
|
+
label: 'Ad User Data Consent State',
|
|
26
|
+
type: 'string',
|
|
27
|
+
choices: [
|
|
28
|
+
{ label: 'Granted', value: 'granted' },
|
|
29
|
+
{ label: 'Denied', value: 'denied' }
|
|
30
|
+
],
|
|
31
|
+
default: undefined
|
|
32
|
+
},
|
|
33
|
+
ad_personalization_consent_state: {
|
|
34
|
+
description: 'Consent state indicated by the user for ad cookies. Value must be "granted" or "denied." This is only used if the Enable Consent Mode setting is on.',
|
|
35
|
+
label: 'Ad Personalization Consent State',
|
|
36
|
+
type: 'string',
|
|
37
|
+
choices: [
|
|
38
|
+
{ label: 'Granted', value: 'granted' },
|
|
39
|
+
{ label: 'Denied', value: 'denied' }
|
|
40
|
+
],
|
|
41
|
+
default: undefined
|
|
42
|
+
},
|
|
21
43
|
campaign_content: {
|
|
22
44
|
description: 'Use campaign content to differentiate ads or links that point to the same URL. Setting this value will override the utm_content query parameter.',
|
|
23
45
|
label: 'Campaign Content',
|
|
@@ -81,34 +103,48 @@ const action = {
|
|
|
81
103
|
params: params
|
|
82
104
|
},
|
|
83
105
|
perform: (gtag, { payload, settings }) => {
|
|
106
|
+
const checkCookiePathDefaultValue = settings.cookiePath != undefined && settings.cookiePath?.length !== 1 && settings.cookiePath !== '/';
|
|
84
107
|
if (settings.enableConsentMode) {
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
}
|
|
108
|
+
const consentParams = {};
|
|
109
|
+
if (payload.ads_storage_consent_state) {
|
|
110
|
+
consentParams.ad_storage = payload.ads_storage_consent_state;
|
|
111
|
+
}
|
|
112
|
+
if (payload.analytics_storage_consent_state) {
|
|
113
|
+
consentParams.analytics_storage = payload.analytics_storage_consent_state;
|
|
114
|
+
}
|
|
115
|
+
if (payload.ad_user_data_consent_state) {
|
|
116
|
+
consentParams.ad_user_data = payload.ad_user_data_consent_state;
|
|
117
|
+
}
|
|
118
|
+
if (payload.ad_personalization_consent_state) {
|
|
119
|
+
consentParams.ad_personalization = payload.ad_personalization_consent_state;
|
|
120
|
+
}
|
|
121
|
+
gtag('consent', 'update', consentParams);
|
|
89
122
|
}
|
|
90
123
|
const config = {
|
|
91
124
|
allow_ad_personalization_signals: settings.allowAdPersonalizationSignals,
|
|
92
125
|
allow_google_signals: settings.allowGoogleSignals,
|
|
93
126
|
...payload.params
|
|
94
127
|
};
|
|
95
|
-
if (settings.cookieUpdate) {
|
|
96
|
-
config.cookie_update =
|
|
128
|
+
if (settings.cookieUpdate != true) {
|
|
129
|
+
config.cookie_update = false;
|
|
97
130
|
}
|
|
98
|
-
if (settings.cookieDomain) {
|
|
131
|
+
if (settings.cookieDomain != defaultCookieDomain) {
|
|
99
132
|
config.cookie_domain = settings.cookieDomain;
|
|
100
133
|
}
|
|
101
134
|
if (settings.cookiePrefix) {
|
|
102
135
|
config.cookie_prefix = settings.cookiePrefix;
|
|
103
136
|
}
|
|
104
|
-
if (settings.cookieExpirationInSeconds) {
|
|
137
|
+
if (settings.cookieExpirationInSeconds != defaultCookieExpiryInSecond) {
|
|
105
138
|
config.cookie_expires = settings.cookieExpirationInSeconds;
|
|
106
139
|
}
|
|
107
|
-
if (
|
|
140
|
+
if (checkCookiePathDefaultValue) {
|
|
108
141
|
config.cookie_path = settings.cookiePath;
|
|
109
142
|
}
|
|
110
|
-
if (settings.pageView) {
|
|
111
|
-
config.send_page_view = settings.pageView;
|
|
143
|
+
if (settings.pageView != true) {
|
|
144
|
+
config.send_page_view = settings.pageView ?? true;
|
|
145
|
+
}
|
|
146
|
+
if (settings.cookieFlags) {
|
|
147
|
+
config.cookie_flags = settings.cookieFlags;
|
|
112
148
|
}
|
|
113
149
|
if (payload.screen_resolution) {
|
|
114
150
|
config.screen_resolution = payload.screen_resolution;
|
|
@@ -152,9 +188,6 @@ const action = {
|
|
|
152
188
|
if (payload.campaign_content) {
|
|
153
189
|
config.campaign_content = payload.campaign_content;
|
|
154
190
|
}
|
|
155
|
-
if (settings.pageView != true) {
|
|
156
|
-
config.send_page_view = settings.pageView;
|
|
157
|
-
}
|
|
158
191
|
gtag('config', settings.measurementID, config);
|
|
159
192
|
}
|
|
160
193
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/setConfigurationFields/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/setConfigurationFields/index.ts"],"names":[],"mappings":"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"}
|