generated from adobe-rnd/aem-boilerplate-xcom
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdelayed.js
More file actions
58 lines (52 loc) · 1.98 KB
/
delayed.js
File metadata and controls
58 lines (52 loc) · 1.98 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
/* eslint-disable import/no-cycle */
import { getConfigValue } from './configs.js';
import { getUserTokenCookie } from './initializers/index.js';
import { getConsent } from './scripts.js';
async function initAnalytics() {
try {
// Load Commerce events SDK and collector
// only if "analytics" has been added to the config.
const config = getConfigValue('analytics');
if (config && getConsent('commerce-collection')) {
const csHeaders = getConfigValue('headers.cs');
window.adobeDataLayer.push(
{
storefrontInstanceContext: {
baseCurrencyCode: config['base-currency-code'],
environment: config.environment,
environmentId: csHeaders['Magento-Environment-Id'],
storeCode: csHeaders['Magento-Store-Code'],
storefrontTemplate: 'EDS',
storeId: parseInt(config['store-id'], 10),
storeName: config['store-name'],
storeUrl: config['store-url'],
storeViewCode: csHeaders['Magento-Store-View-Code'],
storeViewCurrencyCode: config['base-currency-code'],
storeViewId: parseInt(config['store-view-id'], 10),
storeViewName: config['store-view-name'],
websiteCode: csHeaders['Magento-Website-Code'],
websiteId: parseInt(config['website-id'], 10),
websiteName: config['website-name'],
},
},
{ eventForwardingContext: { commerce: true, aep: false } },
{
shopperContext: {
shopperId: getUserTokenCookie() ? 'logged-in' : 'guest',
},
},
);
// Load events SDK and collector
import('./commerce-events-sdk.js');
import('./commerce-events-collector.js');
}
} catch (error) {
console.warn('Error initializing analytics', error);
}
}
if (document.prerendering) {
document.addEventListener('prerenderingchange', initAnalytics, { once: true });
} else {
initAnalytics();
}
// add delayed functionality here