Skip to content

Commit

Permalink
feat: send data layer state to aep
Browse files Browse the repository at this point in the history
  • Loading branch information
vtsaplin committed Jan 31, 2024
1 parent e644f5d commit 02563f6
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 3 deletions.
10 changes: 8 additions & 2 deletions solutions/scripts/analytics/lib-analytics.js
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ function createInlineScript(document, element, innerHTML, type) {
* @param xdmData - the xdm data object
* @returns {Promise<*>}
*/
async function sendAnalyticsEvent(xdmData) {
async function sendAnalyticsEvent(xdmData, data) {
// eslint-disable-next-line no-undef
if (!alloy) {
console.warn('alloy not initialized, cannot send analytics event');
Expand All @@ -121,6 +121,7 @@ async function sendAnalyticsEvent(xdmData) {
return alloy('sendEvent', {
documentUnloading: true,
xdm: xdmData,
data,
});
}

Expand Down Expand Up @@ -170,7 +171,10 @@ export async function analyticsTrackPageViews(document /* , additionalXdmFields
// },
};

return sendAnalyticsEvent(xdmData);
const state = window.adobeDataLayer ? window.adobeDataLayer.getState() : {};
console.debug(`analyticsTrackPageViews complete: ${JSON.stringify(xdmData)}`);

return sendAnalyticsEvent(xdmData, state);
}

/**
Expand Down Expand Up @@ -199,7 +203,9 @@ export async function setupAnalyticsTrackingWithAlloy(document) {
// loads, for e.g. for page views
const pageViewPromise = analyticsTrackPageViews(document); // track page view early

await import('./adobe-client-data-layer.min.js');
await import('./alloy.min.js');

await Promise.all([configurePromise, pageViewPromise]);
}

Expand Down
1 change: 0 additions & 1 deletion solutions/scripts/scripts.js
Original file line number Diff line number Diff line change
Expand Up @@ -509,7 +509,6 @@ async function loadPage() {
await loadEager(document);
await window.hlx.plugins.load('lazy');
await loadLazy(document);
import('./analytics/adobe-client-data-layer.min.js');
const setupAnalytics = setupAnalyticsTrackingWithAlloy(document);
loadDelayed();
await setupAnalytics;
Expand Down

0 comments on commit 02563f6

Please sign in to comment.