mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-11-14 06:03:45 +01:00
Add user language segmentation to the home-page-view event (#28910)
* adding server side events language accept information for the events and domain in event segmentation * only sending the first language * adding fixes for tests * adding domain for plans-page-view and paywall-plans-page-view * adding domain for gallery-page-view * adding it for payment-page-view * rename variable * removing language from login-page-view * adding a fallback value * removing domain from test * removing extra comment * adding test host * removing extra console added by mistake * format:fix GitOrigin-RevId: d1a1a30e4635abdc2b93f88de14a1d8937f974c8
This commit is contained in:
@@ -17,9 +17,13 @@ function recordUTMTags() {
|
||||
if (utmValues) {
|
||||
const path = new URL(req.url, Settings.siteUrl).pathname
|
||||
|
||||
const host = req.headers.host
|
||||
const domain = host?.split('.')[0]
|
||||
|
||||
AnalyticsManager.recordEventForSession(req.session, 'page-view', {
|
||||
path,
|
||||
...utmValues,
|
||||
domain,
|
||||
})
|
||||
|
||||
const propertyValue = `${utmValues.utm_source || 'N/A'};${
|
||||
|
||||
@@ -28,8 +28,15 @@ async function index(req, res) {
|
||||
|
||||
async function home(req, res) {
|
||||
if (Features.hasFeature('homepage') && homepageExists) {
|
||||
const acceptLanguage = req.headers['accept-language'] || 'en' // returns in format => en-GB,en-US;q=0.9,en;q=0.8
|
||||
const language = acceptLanguage.split(',')[0].split(';')[0].trim() // filters the first language
|
||||
const host = req.headers.host
|
||||
const domain = host?.split('.')[0]
|
||||
|
||||
AnalyticsManager.recordEventForSession(req.session, 'home-page-view', {
|
||||
page: req.path,
|
||||
language,
|
||||
domain,
|
||||
})
|
||||
|
||||
const hotjarAssignment = await SplitTestHandler.promises.getAssignment(
|
||||
|
||||
@@ -213,7 +213,16 @@ async function userSubscriptionPage(req, res) {
|
||||
isInTrial
|
||||
)
|
||||
|
||||
AnalyticsManager.recordEventForSession(req.session, 'subscription-page-view')
|
||||
const host = req.headers.host
|
||||
const domain = host?.split('.')[0]
|
||||
|
||||
AnalyticsManager.recordEventForSession(
|
||||
req.session,
|
||||
'subscription-page-view',
|
||||
{
|
||||
domain,
|
||||
}
|
||||
)
|
||||
|
||||
const groupPlansDataForDash = formatGroupPlansDataForDash()
|
||||
|
||||
|
||||
@@ -77,6 +77,10 @@ describe('AnalyticsUTMTrackingMiddleware', function () {
|
||||
utm_content: 'foo-bar',
|
||||
utm_term: 'overridden',
|
||||
}
|
||||
|
||||
ctx.req.headers = {
|
||||
host: 'test-domain.overleaf.com',
|
||||
}
|
||||
ctx.middleware(ctx.req, ctx.res, ctx.next)
|
||||
})
|
||||
|
||||
@@ -101,6 +105,7 @@ describe('AnalyticsUTMTrackingMiddleware', function () {
|
||||
utm_campaign: 'Some Campaign',
|
||||
utm_content: 'foo-bar',
|
||||
utm_term: 'overridden',
|
||||
domain: 'test-domain',
|
||||
}
|
||||
)
|
||||
})
|
||||
@@ -124,6 +129,9 @@ describe('AnalyticsUTMTrackingMiddleware', function () {
|
||||
utm_campaign: 'Some Campaign',
|
||||
utm_term: 'foo',
|
||||
}
|
||||
ctx.req.headers = {
|
||||
host: 'test-domain.overleaf.com',
|
||||
}
|
||||
ctx.middleware(ctx.req, ctx.res, ctx.next)
|
||||
})
|
||||
|
||||
@@ -146,6 +154,7 @@ describe('AnalyticsUTMTrackingMiddleware', function () {
|
||||
utm_medium: 'Facebook',
|
||||
utm_campaign: 'Some Campaign',
|
||||
utm_term: 'foo',
|
||||
domain: 'test-domain',
|
||||
}
|
||||
)
|
||||
})
|
||||
@@ -169,6 +178,9 @@ describe('AnalyticsUTMTrackingMiddleware', function () {
|
||||
utm_campaign: 'Some Campaign',
|
||||
other_param: 'some-value',
|
||||
}
|
||||
ctx.req.headers = {
|
||||
host: 'test-domain.overleaf.com',
|
||||
}
|
||||
ctx.middleware(ctx.req, ctx.res, ctx.next)
|
||||
})
|
||||
|
||||
@@ -190,6 +202,7 @@ describe('AnalyticsUTMTrackingMiddleware', function () {
|
||||
path: '/project',
|
||||
utm_medium: 'Facebook',
|
||||
utm_campaign: 'Some Campaign',
|
||||
domain: 'test-domain',
|
||||
}
|
||||
)
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user