From 9d69f01c2b1c8388945abcf34e24a50c085a358e Mon Sep 17 00:00:00 2001 From: Eric Date: Thu, 24 Oct 2024 16:39:32 -0500 Subject: [PATCH] Website: Add website visit reason to page view records. (#23154) Closes: #23107 Changes: - Updated the custom hook to send `adAttributionString` to Fleet website page view records if that value was set in a logged-in user's session <30m before they visit a page. --- website/api/hooks/custom/index.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/website/api/hooks/custom/index.js b/website/api/hooks/custom/index.js index 83c0574189..c6c0b388b8 100644 --- a/website/api/hooks/custom/index.js +++ b/website/api/hooks/custom/index.js @@ -311,6 +311,14 @@ will be disabled and/or hidden in the UI. await salesforceConnection.login(sails.config.custom.salesforceIntegrationUsername, sails.config.custom.salesforceIntegrationPasskey); let today = new Date(); let nowOn = today.toISOString().replace('Z', '+0000'); + let websiteVisitReason; + if(req.session.adAttributionString && this.req.session.visitedSiteFromAdAt) { + let thirtyMinutesAgoAt = Date.now() - (1000 * 60 * 30); + // If this user visited the website from an ad, set the websiteVisitReason to be the adAttributionString stored in their session. + if(req.session.visitedSiteFromAdAt > thirtyMinutesAgoAt) { + websiteVisitReason = this.req.session.adAttributionString; + } + } // Create the new Fleet website page view record. return await sails.helpers.flow.build(async ()=>{ return await salesforceConnection.sobject('fleet_website_page_views__c') @@ -318,6 +326,7 @@ will be disabled and/or hidden in the UI. Contact__c: recordIds.salesforceContactId,// eslint-disable-line camelcase Page_URL__c: `https://fleetdm.com${req.url}`,// eslint-disable-line camelcase Visited_on__c: nowOn,// eslint-disable-line camelcase + Website_visit_reason__c: websiteVisitReason// eslint-disable-line camelcase }); }).intercept((err)=>{ return new Error(`Could not create new Fleet website page view record. Error: ${err}`);