@cuemath/web-utils 1.0.29-arun.2 → 1.0.29-beta.10
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/ab-experiment/utils/experiments.js +2 -6
- package/dist/cjs/ab-experiment/utils/experiments.js.map +1 -1
- package/dist/cjs/analytics/data-props.d.ts +3 -0
- package/dist/cjs/analytics/data-props.js +20 -0
- package/dist/cjs/analytics/data-props.js.map +1 -0
- package/dist/cjs/analytics/index.d.ts +1 -0
- package/dist/cjs/analytics/index.js +1 -0
- package/dist/cjs/analytics/index.js.map +1 -1
- package/dist/cjs/constants/index.d.ts +1 -0
- package/dist/cjs/constants/index.js +1 -0
- package/dist/cjs/constants/index.js.map +1 -1
- package/dist/cjs/constants/instrumentation/index.d.ts +5 -0
- package/dist/cjs/constants/instrumentation/index.js +9 -0
- package/dist/cjs/constants/instrumentation/index.js.map +1 -0
- package/dist/cjs/data/utm-source.json +52 -0
- package/dist/cjs/growth-source/index.d.ts +9 -3
- package/dist/cjs/growth-source/index.js +51 -104
- package/dist/cjs/growth-source/index.js.map +1 -1
- package/dist/cjs/growth-source/scripts/source-channel.d.ts +1 -0
- package/dist/cjs/growth-source/scripts/source-channel.js +44 -0
- package/dist/cjs/growth-source/scripts/source-channel.js.map +1 -0
- package/dist/cjs/growth-source/types.d.ts +14 -2
- package/dist/cjs/website-category/constants/index.d.ts +1 -2
- package/dist/cjs/website-category/constants/index.js +40 -60
- package/dist/cjs/website-category/constants/index.js.map +1 -1
- package/dist/cjs/website-category/constants/{test.d.ts → instrumentation.d.ts} +21 -1
- package/dist/cjs/website-category/constants/{test.js → instrumentation.js} +22 -2
- package/dist/cjs/website-category/constants/instrumentation.js.map +1 -0
- package/dist/cjs/website-category/index.d.ts +2 -1
- package/dist/cjs/website-category/index.js +4 -3
- package/dist/cjs/website-category/index.js.map +1 -1
- package/dist/cjs/website-category/utils/index.d.ts +1 -2
- package/dist/cjs/website-category/utils/index.js +6 -27
- package/dist/cjs/website-category/utils/index.js.map +1 -1
- package/dist/cjs/website-category/utils/instrumentation.d.ts +2 -0
- package/dist/cjs/website-category/utils/instrumentation.js +61 -0
- package/dist/cjs/website-category/utils/instrumentation.js.map +1 -0
- package/dist/esm/ab-experiment/utils/experiments.js +3 -7
- package/dist/esm/ab-experiment/utils/experiments.js.map +1 -1
- package/dist/esm/analytics/data-props.d.ts +3 -0
- package/dist/esm/analytics/data-props.js +17 -0
- package/dist/esm/analytics/data-props.js.map +1 -0
- package/dist/esm/analytics/index.d.ts +1 -0
- package/dist/esm/analytics/index.js +1 -0
- package/dist/esm/analytics/index.js.map +1 -1
- package/dist/esm/constants/index.d.ts +1 -0
- package/dist/esm/constants/index.js +1 -0
- package/dist/esm/constants/index.js.map +1 -1
- package/dist/esm/constants/instrumentation/index.d.ts +5 -0
- package/dist/esm/constants/instrumentation/index.js +6 -0
- package/dist/esm/constants/instrumentation/index.js.map +1 -0
- package/dist/esm/data/utm-source.json +52 -0
- package/dist/esm/growth-source/index.d.ts +9 -3
- package/dist/esm/growth-source/index.js +48 -94
- package/dist/esm/growth-source/index.js.map +1 -1
- package/dist/esm/growth-source/scripts/source-channel.d.ts +1 -0
- package/dist/esm/growth-source/scripts/source-channel.js +44 -0
- package/dist/esm/growth-source/scripts/source-channel.js.map +1 -0
- package/dist/esm/growth-source/types.d.ts +14 -2
- package/dist/esm/website-category/constants/index.d.ts +1 -2
- package/dist/esm/website-category/constants/index.js +39 -59
- package/dist/esm/website-category/constants/index.js.map +1 -1
- package/dist/esm/website-category/constants/{test.d.ts → instrumentation.d.ts} +21 -1
- package/dist/esm/website-category/constants/{test.js → instrumentation.js} +22 -2
- package/dist/esm/website-category/constants/instrumentation.js.map +1 -0
- package/dist/esm/website-category/index.d.ts +2 -1
- package/dist/esm/website-category/index.js +2 -1
- package/dist/esm/website-category/index.js.map +1 -1
- package/dist/esm/website-category/utils/index.d.ts +1 -2
- package/dist/esm/website-category/utils/index.js +4 -24
- package/dist/esm/website-category/utils/index.js.map +1 -1
- package/dist/esm/website-category/utils/instrumentation.d.ts +2 -0
- package/dist/esm/website-category/utils/instrumentation.js +56 -0
- package/dist/esm/website-category/utils/instrumentation.js.map +1 -0
- package/package.json +5 -2
- package/dist/cjs/website-category/constants/test.js.map +0 -1
- package/dist/esm/website-category/constants/test.js.map +0 -1
|
@@ -71,13 +71,9 @@ exports.EXPERIMENTS = [
|
|
|
71
71
|
id: index_1.VARIANTS.VARIANT_AD,
|
|
72
72
|
weight: 0,
|
|
73
73
|
},
|
|
74
|
-
{
|
|
75
|
-
id: index_1.VARIANTS.VARIANT_AF,
|
|
76
|
-
weight: 20,
|
|
77
|
-
},
|
|
78
74
|
{
|
|
79
75
|
id: index_1.VARIANTS.VARIANT_W,
|
|
80
|
-
weight:
|
|
76
|
+
weight: 100,
|
|
81
77
|
},
|
|
82
78
|
];
|
|
83
79
|
}
|
|
@@ -123,7 +119,7 @@ exports.EXPERIMENTS = [
|
|
|
123
119
|
},
|
|
124
120
|
customFilter(path, countryCode) {
|
|
125
121
|
if (countryCode === country_1.ISO_COUNTRY_CODE.INDIA) {
|
|
126
|
-
return (0, website_category_1.
|
|
122
|
+
return (0, website_category_1.checkContentPage)(path) || false;
|
|
127
123
|
}
|
|
128
124
|
return true;
|
|
129
125
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"experiments.js","sourceRoot":"","sources":["../../../../src/ab-experiment/utils/experiments.ts"],"names":[],"mappings":";;;AAAA,qDAMiC;AACjC,
|
|
1
|
+
{"version":3,"file":"experiments.js","sourceRoot":"","sources":["../../../../src/ab-experiment/utils/experiments.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getDataProps = void 0;
|
|
4
|
+
const analytics_1 = require("../constants/analytics");
|
|
5
|
+
const getDataProps = (entryPoint = '', entrySection = '', topic = '', isCustomTracking) => {
|
|
6
|
+
const dataProps = {
|
|
7
|
+
[analytics_1.DATA_VARIABLES.ENTRY_POINT]: entryPoint,
|
|
8
|
+
[analytics_1.DATA_VARIABLES.ENTRY_SECTION]: entrySection,
|
|
9
|
+
[analytics_1.DATA_VARIABLES.TOPIC]: topic,
|
|
10
|
+
[analytics_1.DATA_VARIABLES.CUSTOM_TRACKING]: isCustomTracking,
|
|
11
|
+
};
|
|
12
|
+
Object.keys(dataProps)?.forEach(key => {
|
|
13
|
+
if (!dataProps[key]) {
|
|
14
|
+
delete dataProps[key];
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
return dataProps;
|
|
18
|
+
};
|
|
19
|
+
exports.getDataProps = getDataProps;
|
|
20
|
+
//# sourceMappingURL=data-props.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-props.js","sourceRoot":"","sources":["../../../src/analytics/data-props.ts"],"names":[],"mappings":";;;AAAA,sDAAwD;AAEjD,MAAM,YAAY,GAAG,CAC1B,UAAU,GAAG,EAAE,EACf,YAAY,GAAG,EAAE,EACjB,KAAK,GAAG,EAAE,EACV,gBAAyB,EACY,EAAE;IACvC,MAAM,SAAS,GAAG;QAChB,CAAC,0BAAc,CAAC,WAAW,CAAC,EAAE,UAAU;QACxC,CAAC,0BAAc,CAAC,aAAa,CAAC,EAAE,YAAY;QAC5C,CAAC,0BAAc,CAAC,KAAK,CAAC,EAAE,KAAK;QAC7B,CAAC,0BAAc,CAAC,eAAe,CAAC,EAAE,gBAAgB;KACnD,CAAC;IAEF,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE;QACpC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;YACnB,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;SACvB;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AApBW,QAAA,YAAY,gBAoBvB"}
|
|
@@ -15,4 +15,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./attributes"), exports);
|
|
18
|
+
__exportStar(require("./data-props"), exports);
|
|
18
19
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/analytics/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/analytics/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,+CAA6B"}
|
|
@@ -17,4 +17,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
__exportStar(require("./country"), exports);
|
|
18
18
|
__exportStar(require("./date-time"), exports);
|
|
19
19
|
__exportStar(require("./currency-symbols"), exports);
|
|
20
|
+
__exportStar(require("./instrumentation"), exports);
|
|
20
21
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/constants/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,8CAA4B;AAC5B,qDAAmC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/constants/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,8CAA4B;AAC5B,qDAAmC;AACnC,oDAAkC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.REVENUE_CHANNEL = exports.REFERRAL_PAGE_PATH = void 0;
|
|
4
|
+
exports.REFERRAL_PAGE_PATH = ['gift/invite/', 'gift/referral/'];
|
|
5
|
+
exports.REVENUE_CHANNEL = {
|
|
6
|
+
REFERRAL: 'referral',
|
|
7
|
+
ORGANIC: 'organic',
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/constants/instrumentation/index.ts"],"names":[],"mappings":";;;AAAa,QAAA,kBAAkB,GAAG,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;AAExD,QAAA,eAAe,GAAG;IAC7B,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;CACnB,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
{
|
|
2
|
+
"Affiliate": "paid_affiliate_others",
|
|
3
|
+
"D_g": "paid_ad_google",
|
|
4
|
+
"d_fb_m": "paid_ad_fb",
|
|
5
|
+
"d_sem_m": "paid_ad_google",
|
|
6
|
+
"D_s": "paid_ad_google",
|
|
7
|
+
"dr_fb_m": "paid_ad_fb",
|
|
8
|
+
"system": "referral_others",
|
|
9
|
+
"dc_fb_m": "paid_ad_fb",
|
|
10
|
+
"dr_sem_m": "paid_ad_google",
|
|
11
|
+
"dc_sem_m": "paid_ad_google",
|
|
12
|
+
"CUEMATHAPP": "organic",
|
|
13
|
+
"CUETEACHERAPP": "organic",
|
|
14
|
+
"IM": "paid_affiliate_bp_influencer",
|
|
15
|
+
"la": "referral_parent",
|
|
16
|
+
"social": "organic_social",
|
|
17
|
+
"website": "Organic",
|
|
18
|
+
"google": "paid_ad_biddables",
|
|
19
|
+
"CUEMATH": "organic",
|
|
20
|
+
"SocialMedia": "Organic_social",
|
|
21
|
+
"d_apex": "paid_affiliate_others",
|
|
22
|
+
"D-Social": "Organic_social",
|
|
23
|
+
"ORM": "paid_affiliate_bp_influencer",
|
|
24
|
+
"d_disc_m": "paid_ad_google",
|
|
25
|
+
"Facebook": "organic_facebook",
|
|
26
|
+
"gbl": "organic_gbl",
|
|
27
|
+
"youtube": "organic_social",
|
|
28
|
+
"offline_community": "offline_events",
|
|
29
|
+
"cj": "paid_affiliate_others",
|
|
30
|
+
"D_email": "organic_email",
|
|
31
|
+
"dc_disc_m": "paid_ad_google",
|
|
32
|
+
"affiliate-brainly": "paid_affiliate_others",
|
|
33
|
+
"Offline_Event_UAE_Local": "offline_events",
|
|
34
|
+
"CE-Messenger": "organic_Messenger",
|
|
35
|
+
"CE-Inbound": "organic_inbound",
|
|
36
|
+
"CE-Instagram": "organic_insta",
|
|
37
|
+
"referral": "referral_others",
|
|
38
|
+
"d_momentus": "paid_affiliate_others",
|
|
39
|
+
"promotion_mushrif_mall_QR_Code": "offline_events",
|
|
40
|
+
"affiliate-bark": "paid_affiliate_others",
|
|
41
|
+
"PAID-EXP": "paid_ad_biddables",
|
|
42
|
+
"utm_source": "test",
|
|
43
|
+
"email": "organic_email",
|
|
44
|
+
"PAID-EXP-AUS": "paid_ad_biddables",
|
|
45
|
+
"d_opicle": "paid_affiliate_others",
|
|
46
|
+
"REFERRAL": "referral_others",
|
|
47
|
+
"Old Leads": "others",
|
|
48
|
+
"Outbound Phone call": "organic_outbound",
|
|
49
|
+
"chatbot": "organic",
|
|
50
|
+
"d_magixengage": "paid_affiliate_others",
|
|
51
|
+
"CE-Info": "organic_info"
|
|
52
|
+
}
|
|
@@ -1,14 +1,20 @@
|
|
|
1
|
-
import type { SourceDetails, SourceDetailsCookie, Platform, SignupFlow, RevenueChannel
|
|
1
|
+
import type { SourceDetails, SourceDetailsCookie, Platform, SignupFlow, RevenueChannel } from './types';
|
|
2
2
|
export declare const readSourceCookie: () => SourceDetailsCookie;
|
|
3
3
|
export declare const isSourcePresent: () => boolean;
|
|
4
|
-
export declare const initSourceDetails: ({ platform, experiments, flow, affiliateChannel, offlineChannel,
|
|
4
|
+
export declare const initSourceDetails: ({ platform, experiments, flow, affiliateChannel, offlineChannel, pageProfile, performanceChannel, revenueChannel, salesProcess, guestId, landingPage, referrer, sourceChannel, }: SourceDetails) => Promise<void>;
|
|
5
5
|
export declare const setLastPage: (pagePath: string) => Promise<void>;
|
|
6
6
|
export declare const setFlowEntryPoint: (flowEntry: string) => Promise<void>;
|
|
7
7
|
export declare const setFlow: (flow: SignupFlow) => Promise<void>;
|
|
8
|
-
export declare const setOrganicChannel: (organicChannel: OrganicChannel) => Promise<void>;
|
|
9
8
|
export declare const setRevenueChannel: (revenueChannel: RevenueChannel) => Promise<void>;
|
|
10
9
|
export declare const setSalesProcess: (salesProcess: string) => Promise<void>;
|
|
11
10
|
export declare const clearSalesProcess: () => Promise<void>;
|
|
12
11
|
export declare const updateGuestId: (guestId: string) => Promise<void>;
|
|
13
12
|
export declare const setFirstPage: (pagePath: string) => Promise<void>;
|
|
14
13
|
export declare const setPlatformChannel: (platformChannel: Platform) => Promise<void>;
|
|
14
|
+
export declare const setLandingPage: (landingPage: string) => Promise<void>;
|
|
15
|
+
export declare const setReferrer: (referrer: string) => Promise<void>;
|
|
16
|
+
export declare const setSourceChannel: (sourceChannel: string) => Promise<void>;
|
|
17
|
+
export declare const setSubPlatform: (subPlatform: string) => Promise<void>;
|
|
18
|
+
export declare const setCurrentPage: (currentPage: string) => Promise<void>;
|
|
19
|
+
export declare const setPageProfile: (pageProfile: string) => Promise<void>;
|
|
20
|
+
export declare const getSourceChannel: (utmSource: string) => string;
|
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.setPlatformChannel = exports.setFirstPage = exports.updateGuestId = exports.clearSalesProcess = exports.setSalesProcess = exports.setRevenueChannel = exports.
|
|
6
|
+
exports.getSourceChannel = exports.setPageProfile = exports.setCurrentPage = exports.setSubPlatform = exports.setSourceChannel = exports.setReferrer = exports.setLandingPage = exports.setPlatformChannel = exports.setFirstPage = exports.updateGuestId = exports.clearSalesProcess = exports.setSalesProcess = exports.setRevenueChannel = exports.setFlow = exports.setFlowEntryPoint = exports.setLastPage = exports.initSourceDetails = exports.isSourcePresent = exports.readSourceCookie = void 0;
|
|
4
7
|
const cookie_1 = require("../cookie");
|
|
8
|
+
const utm_source_json_1 = __importDefault(require("../data/utm-source.json"));
|
|
5
9
|
const url_parser_1 = require("../url-parser");
|
|
6
10
|
const SOURCE_DETAILS_COOKIE = 'source_details';
|
|
7
|
-
const UTM_PARAMS = [
|
|
8
|
-
'utm_source',
|
|
9
|
-
'utm_medium',
|
|
10
|
-
'utm_campaign',
|
|
11
|
-
'utm_term',
|
|
12
|
-
];
|
|
13
11
|
const readSourceCookie = () => {
|
|
14
12
|
const sourceDetails = (0, cookie_1.getCookie)(SOURCE_DETAILS_COOKIE);
|
|
15
13
|
return sourceDetails ? JSON.parse(decodeURIComponent(sourceDetails)) : undefined;
|
|
@@ -26,34 +24,21 @@ const updateSourceCookie = (sourceDetail) => {
|
|
|
26
24
|
if (!(0, exports.isSourcePresent)())
|
|
27
25
|
return;
|
|
28
26
|
const sourceDetails = (0, exports.readSourceCookie)();
|
|
27
|
+
const { current = {}, ...restAttributes } = sourceDetails || {};
|
|
29
28
|
const updatedDetails = {
|
|
30
29
|
...sourceDetails,
|
|
31
|
-
|
|
30
|
+
current: !current
|
|
31
|
+
? { ...restAttributes, ...sourceDetail } // Copy FTP attributes for the first time
|
|
32
|
+
: { ...current, ...sourceDetail }, // Update current attributes when already created
|
|
32
33
|
};
|
|
33
34
|
writeSourceCookie(updatedDetails);
|
|
34
35
|
};
|
|
35
|
-
const getRevenueChannel = (platform
|
|
36
|
+
const getRevenueChannel = (platform) => {
|
|
36
37
|
let revenueChannel = 'unknown';
|
|
37
38
|
// set defaults for WEBSITE and ASTRO
|
|
38
39
|
if (platform === 'website') {
|
|
39
40
|
revenueChannel = 'organic';
|
|
40
41
|
}
|
|
41
|
-
if (utmSource) {
|
|
42
|
-
switch (true) {
|
|
43
|
-
case /^affiliate-/.test(utmSource):
|
|
44
|
-
revenueChannel = 'affiliate';
|
|
45
|
-
break;
|
|
46
|
-
case /^offline-/.test(utmSource):
|
|
47
|
-
revenueChannel = 'offline';
|
|
48
|
-
break;
|
|
49
|
-
case /^referral-/.test(utmSource):
|
|
50
|
-
revenueChannel = 'referral';
|
|
51
|
-
break;
|
|
52
|
-
case /^performance-/.test(utmSource):
|
|
53
|
-
revenueChannel = 'performance';
|
|
54
|
-
break;
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
42
|
return revenueChannel;
|
|
58
43
|
};
|
|
59
44
|
/*
|
|
@@ -72,115 +57,47 @@ const getFlow = (platform, experiments) => {
|
|
|
72
57
|
}
|
|
73
58
|
return flow;
|
|
74
59
|
};
|
|
75
|
-
const getUTMParams = () => {
|
|
76
|
-
if (typeof window === undefined)
|
|
77
|
-
return {};
|
|
78
|
-
const search = new URLSearchParams(window.location.search);
|
|
79
|
-
const utmParams = UTM_PARAMS.reduce((acc, param) => {
|
|
80
|
-
const utmParam = search.get(param);
|
|
81
|
-
if (utmParam) {
|
|
82
|
-
acc[param] = utmParam;
|
|
83
|
-
}
|
|
84
|
-
return acc;
|
|
85
|
-
}, {});
|
|
86
|
-
return utmParams;
|
|
87
|
-
};
|
|
88
60
|
const getFirstPage = () => {
|
|
89
61
|
if (typeof window === undefined)
|
|
90
62
|
return '';
|
|
91
63
|
return (0, url_parser_1.removeHrefLangFromPath)(window.location.pathname);
|
|
92
64
|
};
|
|
93
|
-
/* TODO: Align Marketing Team on UTM source convention
|
|
94
|
-
affiliate-<channel>
|
|
95
|
-
performance-<channel>
|
|
96
|
-
organic-<channel>
|
|
97
|
-
offline-<channel>
|
|
98
|
-
*/
|
|
99
|
-
const getChannel = (utmSource) => {
|
|
100
|
-
// TODO: UTM source patter for FB, GOOGLE...
|
|
101
|
-
if (!utmSource)
|
|
102
|
-
return '';
|
|
103
|
-
let channel = '';
|
|
104
|
-
if (utmSource) {
|
|
105
|
-
switch (true) {
|
|
106
|
-
case /^affiliate-/.test(utmSource):
|
|
107
|
-
case /^offline-/.test(utmSource):
|
|
108
|
-
case /^referral-/.test(utmSource):
|
|
109
|
-
case /^performance-/.test(utmSource):
|
|
110
|
-
channel = utmSource.split('-')[1];
|
|
111
|
-
break;
|
|
112
|
-
default:
|
|
113
|
-
break;
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
return channel;
|
|
117
|
-
};
|
|
118
65
|
/*
|
|
119
66
|
Set Static Source Details of user on Visit of Platform
|
|
120
67
|
*/
|
|
121
68
|
const initSourceDetails = async ({ platform, experiments, // only for website.
|
|
122
|
-
flow, affiliateChannel, offlineChannel,
|
|
123
|
-
const utmParams = getUTMParams();
|
|
124
|
-
const { utm_source: utmSource } = utmParams;
|
|
125
|
-
const leadChannel = getChannel(utmSource);
|
|
69
|
+
flow, affiliateChannel, offlineChannel, pageProfile, performanceChannel, revenueChannel, salesProcess, guestId, landingPage, referrer, sourceChannel, }) => {
|
|
126
70
|
/*
|
|
127
71
|
source cookie was added in cross subdomain for few days initially,
|
|
128
72
|
which was later changed to subdomain specific. Now to sending older cookie to backend, removing older cookie
|
|
129
73
|
*/
|
|
130
74
|
(0, cookie_1.removeCookie)(SOURCE_DETAILS_COOKIE, true);
|
|
131
|
-
revenueChannel = revenueChannel || getRevenueChannel(platform
|
|
132
|
-
if (utmSource) {
|
|
133
|
-
switch (revenueChannel) {
|
|
134
|
-
case 'affiliate':
|
|
135
|
-
affiliateChannel = affiliateChannel || leadChannel;
|
|
136
|
-
break;
|
|
137
|
-
case 'offline':
|
|
138
|
-
offlineChannel = offlineChannel || leadChannel;
|
|
139
|
-
break;
|
|
140
|
-
case 'organic':
|
|
141
|
-
organicChannel = organicChannel || leadChannel;
|
|
142
|
-
break;
|
|
143
|
-
case 'performance':
|
|
144
|
-
performanceChannel = performanceChannel || leadChannel;
|
|
145
|
-
break;
|
|
146
|
-
default:
|
|
147
|
-
break;
|
|
148
|
-
}
|
|
149
|
-
}
|
|
75
|
+
revenueChannel = revenueChannel || getRevenueChannel(platform);
|
|
150
76
|
if (!(0, exports.isSourcePresent)()) {
|
|
151
77
|
const sourceDetails = {
|
|
152
78
|
platform_channel: platform,
|
|
153
79
|
experiment_dict: experiments,
|
|
154
|
-
utm_params: utmParams,
|
|
155
80
|
flow: flow || getFlow(platform, experiments),
|
|
156
81
|
affiliate_channel: affiliateChannel,
|
|
157
82
|
offline_channel: offlineChannel,
|
|
158
|
-
|
|
83
|
+
page_profile: pageProfile,
|
|
159
84
|
performance_channel: performanceChannel,
|
|
160
85
|
revenue_channel: revenueChannel,
|
|
161
86
|
first_page: getFirstPage(),
|
|
162
87
|
sales_process: salesProcess,
|
|
163
88
|
guest_id: guestId,
|
|
89
|
+
landing_page: landingPage,
|
|
90
|
+
referrer,
|
|
91
|
+
source_channel: sourceChannel,
|
|
164
92
|
};
|
|
165
93
|
writeSourceCookie(sourceDetails);
|
|
166
94
|
}
|
|
167
95
|
else {
|
|
168
|
-
|
|
96
|
+
const updatedSource = {
|
|
169
97
|
experiment_dict: experiments,
|
|
170
98
|
flow: flow || getFlow(platform, experiments),
|
|
171
99
|
guest_id: guestId,
|
|
172
100
|
};
|
|
173
|
-
if (utmSource) {
|
|
174
|
-
updatedSource = {
|
|
175
|
-
...updatedSource,
|
|
176
|
-
utm_params: utmParams,
|
|
177
|
-
affiliate_channel: affiliateChannel,
|
|
178
|
-
offline_channel: offlineChannel,
|
|
179
|
-
organic_channel: organicChannel,
|
|
180
|
-
performance_channel: performanceChannel,
|
|
181
|
-
revenue_channel: revenueChannel,
|
|
182
|
-
};
|
|
183
|
-
}
|
|
184
101
|
updateSourceCookie(updatedSource);
|
|
185
102
|
}
|
|
186
103
|
};
|
|
@@ -200,10 +117,6 @@ const setFlow = async (flow) => {
|
|
|
200
117
|
updateSourceCookie({ flow });
|
|
201
118
|
};
|
|
202
119
|
exports.setFlow = setFlow;
|
|
203
|
-
const setOrganicChannel = async (organicChannel) => {
|
|
204
|
-
updateSourceCookie({ organic_channel: organicChannel });
|
|
205
|
-
};
|
|
206
|
-
exports.setOrganicChannel = setOrganicChannel;
|
|
207
120
|
const setRevenueChannel = async (revenueChannel) => {
|
|
208
121
|
updateSourceCookie({ revenue_channel: revenueChannel });
|
|
209
122
|
};
|
|
@@ -228,4 +141,38 @@ const setPlatformChannel = async (platformChannel) => {
|
|
|
228
141
|
updateSourceCookie({ platform_channel: platformChannel });
|
|
229
142
|
};
|
|
230
143
|
exports.setPlatformChannel = setPlatformChannel;
|
|
144
|
+
const setLandingPage = async (landingPage) => {
|
|
145
|
+
updateSourceCookie({ landing_page: landingPage });
|
|
146
|
+
};
|
|
147
|
+
exports.setLandingPage = setLandingPage;
|
|
148
|
+
const setReferrer = async (referrer) => {
|
|
149
|
+
updateSourceCookie({ referrer });
|
|
150
|
+
};
|
|
151
|
+
exports.setReferrer = setReferrer;
|
|
152
|
+
const setSourceChannel = async (sourceChannel) => {
|
|
153
|
+
updateSourceCookie({ source_channel: sourceChannel });
|
|
154
|
+
};
|
|
155
|
+
exports.setSourceChannel = setSourceChannel;
|
|
156
|
+
const setSubPlatform = async (subPlatform) => {
|
|
157
|
+
updateSourceCookie({ sub_platform: subPlatform });
|
|
158
|
+
};
|
|
159
|
+
exports.setSubPlatform = setSubPlatform;
|
|
160
|
+
const setCurrentPage = async (currentPage) => {
|
|
161
|
+
updateSourceCookie({ current_page: currentPage });
|
|
162
|
+
};
|
|
163
|
+
exports.setCurrentPage = setCurrentPage;
|
|
164
|
+
const setPageProfile = async (pageProfile) => {
|
|
165
|
+
updateSourceCookie({ page_profile: pageProfile });
|
|
166
|
+
};
|
|
167
|
+
exports.setPageProfile = setPageProfile;
|
|
168
|
+
const getSourceChannel = (utmSource) => {
|
|
169
|
+
const utmSourceMap = {
|
|
170
|
+
...utm_source_json_1.default,
|
|
171
|
+
};
|
|
172
|
+
if (utmSourceMap[utmSource]) {
|
|
173
|
+
return utmSourceMap[utmSource];
|
|
174
|
+
}
|
|
175
|
+
return 'Others';
|
|
176
|
+
};
|
|
177
|
+
exports.getSourceChannel = getSourceChannel;
|
|
231
178
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/growth-source/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/growth-source/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* eslint-disable @typescript-eslint/no-var-requires */
|
|
3
|
+
const fs = require('fs');
|
|
4
|
+
const path = require('path');
|
|
5
|
+
const csv = require('papaparse');
|
|
6
|
+
const ClusterMetaInfoFileName = 'utm-source';
|
|
7
|
+
(function csvFileToJSON() {
|
|
8
|
+
const INPUT_FILE_PATH = path.resolve(__dirname, '.', `../../data/${ClusterMetaInfoFileName}.csv`);
|
|
9
|
+
const OUTPUT_FILE_PATH = path.resolve(__dirname, '.', `../../data/${ClusterMetaInfoFileName}.json`);
|
|
10
|
+
try {
|
|
11
|
+
fs.readFile(INPUT_FILE_PATH, 'utf-8', (err, data) => {
|
|
12
|
+
if (err)
|
|
13
|
+
throw err;
|
|
14
|
+
const options = {
|
|
15
|
+
header: true,
|
|
16
|
+
delimiter: ',',
|
|
17
|
+
quoteChar: '"',
|
|
18
|
+
escapeChar: '\\',
|
|
19
|
+
};
|
|
20
|
+
const jsonObj = csv.parse(data, options).data;
|
|
21
|
+
let sourceChannelData = {};
|
|
22
|
+
jsonObj.forEach(utmSourceChannelObject => {
|
|
23
|
+
const { utm_source: utmSource, source_channel: sourceChannel } = utmSourceChannelObject || {};
|
|
24
|
+
if (sourceChannelData[utmSource]) {
|
|
25
|
+
throw new Error(`Duplicate utm_source Found ${utmSource}`);
|
|
26
|
+
}
|
|
27
|
+
sourceChannelData[utmSource] = sourceChannel;
|
|
28
|
+
});
|
|
29
|
+
const jsonString = JSON.stringify(sourceChannelData, null, 2);
|
|
30
|
+
fs.writeFile(OUTPUT_FILE_PATH, jsonString, e => {
|
|
31
|
+
if (e)
|
|
32
|
+
throw e;
|
|
33
|
+
// eslint-disable-next-line no-console
|
|
34
|
+
console.log('CSV file converted to JSON');
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
catch (err) {
|
|
39
|
+
// eslint-disable-next-line no-console
|
|
40
|
+
console.log(err);
|
|
41
|
+
process.exit(1);
|
|
42
|
+
}
|
|
43
|
+
})();
|
|
44
|
+
//# sourceMappingURL=source-channel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"source-channel.js","sourceRoot":"","sources":["../../../../src/growth-source/scripts/source-channel.js"],"names":[],"mappings":";AAAA,uDAAuD;AACvD,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AACzB,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAE7B,MAAM,GAAG,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AAEjC,MAAM,uBAAuB,GAAG,YAAY,CAAC;AAE7C,CAAC,SAAS,aAAa;IACrB,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAClC,SAAS,EACT,GAAG,EACH,cAAc,uBAAuB,MAAM,CAC5C,CAAC;IACF,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CACnC,SAAS,EACT,GAAG,EACH,cAAc,uBAAuB,OAAO,CAC7C,CAAC;IAEF,IAAI;QACF,EAAE,CAAC,QAAQ,CAAC,eAAe,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;YAClD,IAAI,GAAG;gBAAE,MAAM,GAAG,CAAC;YAEnB,MAAM,OAAO,GAAG;gBACd,MAAM,EAAE,IAAI;gBACZ,SAAS,EAAE,GAAG;gBACd,SAAS,EAAE,GAAG;gBACd,UAAU,EAAE,IAAI;aACjB,CAAC;YACF,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC;YAE9C,IAAI,iBAAiB,GAAG,EAAE,CAAC;YAE3B,OAAO,CAAC,OAAO,CAAC,sBAAsB,CAAC,EAAE;gBACvC,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,GAC5D,sBAAsB,IAAI,EAAE,CAAC;gBAE/B,IAAI,iBAAiB,CAAC,SAAS,CAAC,EAAE;oBAChC,MAAM,IAAI,KAAK,CAAC,8BAA8B,SAAS,EAAE,CAAC,CAAC;iBAC5D;gBAED,iBAAiB,CAAC,SAAS,CAAC,GAAG,aAAa,CAAC;YAC/C,CAAC,CAAC,CAAC;YACH,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAE9D,EAAE,CAAC,SAAS,CAAC,gBAAgB,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE;gBAC7C,IAAI,CAAC;oBAAE,MAAM,CAAC,CAAC;gBACf,sCAAsC;gBACtC,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;YAC5C,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;KACJ;IAAC,OAAO,GAAG,EAAE;QACZ,sCAAsC;QACtC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACjB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACjB;AACH,CAAC,CAAC,EAAE,CAAC"}
|
|
@@ -9,6 +9,8 @@ export type UTMParams = {
|
|
|
9
9
|
utm_medium?: string;
|
|
10
10
|
utm_campaign?: string;
|
|
11
11
|
utm_term?: string;
|
|
12
|
+
utm_content?: string;
|
|
13
|
+
utm_adcontent?: string;
|
|
12
14
|
};
|
|
13
15
|
export type UTMParamsKeys = keyof UTMParams;
|
|
14
16
|
export type SourceDetailsCookie = {
|
|
@@ -20,12 +22,18 @@ export type SourceDetailsCookie = {
|
|
|
20
22
|
offline_channel?: string;
|
|
21
23
|
performance_channel?: string;
|
|
22
24
|
revenue_channel: RevenueChannel;
|
|
23
|
-
organic_channel?: string;
|
|
24
25
|
flow_entry?: string;
|
|
25
26
|
first_page?: string;
|
|
26
27
|
last_page?: string;
|
|
27
28
|
sales_process?: string;
|
|
28
29
|
guest_id?: string;
|
|
30
|
+
current?: Partial<SourceDetailsCookie>;
|
|
31
|
+
landing_page?: string;
|
|
32
|
+
referrer?: string;
|
|
33
|
+
source_channel?: string;
|
|
34
|
+
page_profile?: string;
|
|
35
|
+
sub_platform?: string;
|
|
36
|
+
current_page?: string;
|
|
29
37
|
};
|
|
30
38
|
export type SourceDetails = {
|
|
31
39
|
platform: Platform;
|
|
@@ -36,10 +44,14 @@ export type SourceDetails = {
|
|
|
36
44
|
offlineChannel?: string;
|
|
37
45
|
performanceChannel?: string;
|
|
38
46
|
revenueChannel: RevenueChannel;
|
|
39
|
-
organicChannel?: string;
|
|
40
47
|
flowEntry?: string;
|
|
41
48
|
firstPage?: string;
|
|
42
49
|
lastPage?: string;
|
|
43
50
|
guestId?: string;
|
|
44
51
|
salesProcess?: string;
|
|
52
|
+
landingPage?: string;
|
|
53
|
+
referrer?: string;
|
|
54
|
+
sourceChannel?: string;
|
|
55
|
+
pageProfile?: string;
|
|
56
|
+
subPlatform?: string;
|
|
45
57
|
};
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
export declare const BRAND_PAGES: string[];
|
|
2
|
-
export declare const
|
|
3
|
-
export declare const INTENT_PAGES: string[];
|
|
2
|
+
export declare const INTENT_PAGES: (string | RegExp)[];
|
|
4
3
|
export declare const SUPPLY_PAGES: string[];
|
|
5
4
|
export declare const REFERRAL_PAGES: string[];
|