From e704afdcca9cc909607fb12d7702e9f6dd374cd7 Mon Sep 17 00:00:00 2001 From: Thomas Date: Thu, 13 Jul 2023 16:22:33 +0200 Subject: [PATCH] Merge pull request #13804 from overleaf/tm-geopricing-inr-banners Implement split test for new INR geo-pricing banners/modal GitOrigin-RevId: 06fbcf70b7ee90b9b365ac96c1fa0373cbe60847 --- .../Features/Project/ProjectListController.js | 34 ++- .../Subscription/SubscriptionController.js | 106 ++++++++-- services/web/app/views/project/list-react.pug | 4 +- .../interstitial-payment.pug | 3 + .../plans-marketing-v2.pug | 3 + .../interstitial-payment.pug | 3 + .../plans-marketing-v2.pug | 3 + .../web/frontend/extracted-translations.json | 4 + .../notifications/ads/inr-banner.tsx | 195 ++++++++++++++---- .../notifications/user-notifications.tsx | 14 +- services/web/locales/en.json | 5 + .../img/subscriptions/inr-discount-modal.png | Bin 0 -> 53484 bytes 12 files changed, 299 insertions(+), 75 deletions(-) create mode 100644 services/web/public/img/subscriptions/inr-discount-modal.png diff --git a/services/web/app/src/Features/Project/ProjectListController.js b/services/web/app/src/Features/Project/ProjectListController.js index ec85e4ac09..c7701ba17d 100644 --- a/services/web/app/src/Features/Project/ProjectListController.js +++ b/services/web/app/src/Features/Project/ProjectListController.js @@ -363,21 +363,24 @@ async function projectListPage(req, res, next) { } } - let showINRBanner = false + let showInrGeoBanner, inrGeoBannerSplitTestName + let inrGeoBannerVariant = 'default' let showLATAMBanner = false let recommendedCurrency if (usersBestSubscription?.type === 'free') { const { currencyCode, countryCode } = await GeoIpLookup.promises.getCurrencyCode(req.ip) + let inrGeoPricingVariant = 'default' try { + // Split test is kept active, but all users geolocated in India can + // now use the INR currency (See #13507) const inrGeoPricingAssignment = await SplitTestHandler.promises.getAssignment( req, res, 'geo-pricing-inr' ) - showINRBanner = - inrGeoPricingAssignment.variant === 'inr' && countryCode === 'IN' + inrGeoPricingVariant = inrGeoPricingAssignment.variant } catch (error) { logger.error( { err: error }, @@ -404,6 +407,27 @@ async function projectListPage(req, res, next) { 'Failed to get geo-pricing-latam split test assignment' ) } + if (countryCode === 'IN') { + inrGeoBannerSplitTestName = + inrGeoPricingVariant === 'inr' + ? 'geo-banners-inr-2' + : 'geo-banners-inr-1' + try { + const geoBannerAssignment = + await SplitTestHandler.promises.getAssignment( + req, + res, + inrGeoBannerSplitTestName + ) + showInrGeoBanner = true + inrGeoBannerVariant = geoBannerAssignment.variant + } catch (error) { + logger.error( + { err: error }, + `Failed to get INR geo banner lookup or assignment (${inrGeoBannerSplitTestName})` + ) + } + } } res.render('project/list-react', { @@ -423,9 +447,11 @@ async function projectListPage(req, res, next) { showGroupsAndEnterpriseBanner, groupsAndEnterpriseBannerVariant, showWritefullPromoBanner, - showINRBanner, showLATAMBanner, recommendedCurrency, + showInrGeoBanner, + inrGeoBannerVariant, + inrGeoBannerSplitTestName, projectDashboardReact: true, // used in navbar welcomePageRedesignVariant: welcomePageRedesignAssignment.variant, groupSubscriptionsPendingEnrollment: diff --git a/services/web/app/src/Features/Subscription/SubscriptionController.js b/services/web/app/src/Features/Subscription/SubscriptionController.js index 71e76d81f8..352162747a 100644 --- a/services/web/app/src/Features/Subscription/SubscriptionController.js +++ b/services/web/app/src/Features/Subscription/SubscriptionController.js @@ -108,7 +108,32 @@ async function plansPage(req, res) { removePersonalPlanAssingment ) - AnalyticsManager.recordEventForSession(req.session, 'plans-page-view', { + let showInrGeoBanner, inrGeoBannerSplitTestName + let inrGeoBannerVariant = 'default' + if (countryCode === 'IN') { + inrGeoBannerSplitTestName = + geoPricingINRTestVariant === 'inr' + ? 'geo-banners-inr-2' + : 'geo-banners-inr-1' + try { + const geoBannerAssignment = await SplitTestHandler.promises.getAssignment( + req, + res, + inrGeoBannerSplitTestName + ) + inrGeoBannerVariant = geoBannerAssignment.variant + if (inrGeoBannerVariant !== 'default') { + showInrGeoBanner = true + } + } catch (error) { + logger.error( + { err: error }, + `Failed to get INR geo banner lookup or assignment (${inrGeoBannerSplitTestName})` + ) + } + } + + const plansPageViewSegmentation = { currency: recommendedCurrency, 'remove-personal-plan-page': removePersonalPlanAssingment?.variant, countryCode, @@ -120,7 +145,16 @@ async function plansPage(req, res) { ) ? 'latam' : 'default', - }) + } + if (inrGeoBannerSplitTestName) { + plansPageViewSegmentation[inrGeoBannerSplitTestName] = inrGeoBannerVariant + } + + AnalyticsManager.recordEventForSession( + req.session, + 'plans-page-view', + plansPageViewSegmentation + ) res.render(`subscriptions/plans-marketing/${directory}/plans-marketing-v2`, { title: 'plans_and_pricing', @@ -137,6 +171,7 @@ async function plansPage(req, res) { groupPlanModalDefaults, initialLocalizedGroupPrice: SubscriptionHelper.generateInitialLocalizedGroupPrice(currency), + showInrGeoBanner, }) } @@ -302,23 +337,52 @@ async function interstitialPaymentPage(req, res) { if (hasSubscription) { res.redirect('/user/subscription?hasSubscription=true') } else { + let showInrGeoBanner, inrGeoBannerSplitTestName + let inrGeoBannerVariant = 'default' + if (countryCode === 'IN') { + inrGeoBannerSplitTestName = + geoPricingINRTestVariant === 'inr' + ? 'geo-banners-inr-2' + : 'geo-banners-inr-1' + try { + const geoBannerAssignment = + await SplitTestHandler.promises.getAssignment( + req, + res, + inrGeoBannerSplitTestName + ) + inrGeoBannerVariant = geoBannerAssignment.variant + if (inrGeoBannerVariant !== 'default') { + showInrGeoBanner = true + } + } catch (error) { + logger.error( + { err: error }, + `Failed to get INR geo banner lookup or assignment (${inrGeoBannerSplitTestName})` + ) + } + } + const paywallPlansPageViewSegmentation = { + currency: recommendedCurrency, + countryCode, + 'geo-pricing-inr-group': geoPricingINRTestVariant, + 'geo-pricing-inr-page': recommendedCurrency === 'INR' ? 'inr' : 'default', + 'geo-pricing-latam-group': geoPricingLATAMTestVariant, + 'geo-pricing-latam-page': ['BRL', 'MXN', 'COP', 'CLP', 'PEN'].includes( + recommendedCurrency + ) + ? 'latam' + : 'default', + 'remove-personal-plan-page': removePersonalPlanAssingment?.variant, + } + if (inrGeoBannerSplitTestName) { + paywallPlansPageViewSegmentation[inrGeoBannerSplitTestName] = + inrGeoBannerVariant + } AnalyticsManager.recordEventForSession( req.session, 'paywall-plans-page-view', - { - currency: recommendedCurrency, - countryCode, - 'geo-pricing-inr-group': geoPricingINRTestVariant, - 'geo-pricing-inr-page': - recommendedCurrency === 'INR' ? 'inr' : 'default', - 'geo-pricing-latam-group': geoPricingLATAMTestVariant, - 'geo-pricing-latam-page': ['BRL', 'MXN', 'COP', 'CLP', 'PEN'].includes( - recommendedCurrency - ) - ? 'latam' - : 'default', - 'remove-personal-plan-page': removePersonalPlanAssingment?.variant, - } + paywallPlansPageViewSegmentation ) res.render( @@ -331,6 +395,7 @@ async function interstitialPaymentPage(req, res) { recommendedCurrency, interstitialPaymentConfig, showSkipLink, + showInrGeoBanner, } ) } @@ -678,10 +743,12 @@ async function _getRecommendedCurrency(req, res) { req.query?.ip || req.ip ) const countryCode = currencyLookup.countryCode - let recommendedCurrency = currencyLookup.currencyCode let assignmentINR, assignmentLATAM + let recommendedCurrency = currencyLookup.currencyCode // for #12703 try { + // Split test is kept active, but all users geolocated in India can + // now use the INR currency (See #13507) assignmentINR = await SplitTestHandler.promises.getAssignment( req, res, @@ -706,11 +773,6 @@ async function _getRecommendedCurrency(req, res) { 'Failed to get assignment for geo-pricing-latam test' ) } - // if the user has been detected as located in India (thus recommended INR as currency) - // but is not part of the geo pricing test, we fall back to the default currency instead - if (recommendedCurrency === 'INR' && assignmentINR?.variant !== 'inr') { - recommendedCurrency = GeoIpLookup.DEFAULT_CURRENCY_CODE - } if ( ['BRL', 'MXN', 'COP', 'CLP', 'PEN'].includes(recommendedCurrency) && assignmentLATAM?.variant !== 'latam' diff --git a/services/web/app/views/project/list-react.pug b/services/web/app/views/project/list-react.pug index 1d3d2d5b7d..c82ed6c124 100644 --- a/services/web/app/views/project/list-react.pug +++ b/services/web/app/views/project/list-react.pug @@ -28,7 +28,9 @@ block append meta meta(name="ol-showGroupsAndEnterpriseBanner" data-type="boolean" content=showGroupsAndEnterpriseBanner) meta(name="ol-showWritefullPromoBanner" data-type="boolean" content=showWritefullPromoBanner) meta(name="ol-groupsAndEnterpriseBannerVariant" data-type="string" content=groupsAndEnterpriseBannerVariant) - meta(name="ol-showINRBanner" data-type="boolean" content=showINRBanner) + meta(name="ol-showInrGeoBanner" data-type="boolean" content=showInrGeoBanner) + meta(name="ol-inrGeoBannerVariant" data-type="string" content=inrGeoBannerVariant) + meta(name="ol-inrGeoBannerSplitTestName" data-type="string" content=inrGeoBannerSplitTestName) meta(name="ol-showLATAMBanner" data-type="boolean" content=showLATAMBanner) meta(name="ol-recommendedCurrency" data-type="string" content=recommendedCurrency) meta(name="ol-welcomePageRedesignVariant" data-type="string" content=welcomePageRedesignVariant) diff --git a/services/web/app/views/subscriptions/plans-marketing/st-personal-off-default/interstitial-payment.pug b/services/web/app/views/subscriptions/plans-marketing/st-personal-off-default/interstitial-payment.pug index 4f34c0340c..d51dc39f49 100644 --- a/services/web/app/views/subscriptions/plans-marketing/st-personal-off-default/interstitial-payment.pug +++ b/services/web/app/views/subscriptions/plans-marketing/st-personal-off-default/interstitial-payment.pug @@ -16,6 +16,9 @@ block content .content-page .plans .container + if showInrGeoBanner + div.alert.alert-success.text-centered !{translate("inr_discount_offer_plans_page_banner", {flag: '🇮🇳'})} + .row .col-md-12 .page-header.centered.plans-header.text-centered.top-page-header diff --git a/services/web/app/views/subscriptions/plans-marketing/st-personal-off-default/plans-marketing-v2.pug b/services/web/app/views/subscriptions/plans-marketing/st-personal-off-default/plans-marketing-v2.pug index 4cc687de3a..2206ed4ab2 100644 --- a/services/web/app/views/subscriptions/plans-marketing/st-personal-off-default/plans-marketing-v2.pug +++ b/services/web/app/views/subscriptions/plans-marketing/st-personal-off-default/plans-marketing-v2.pug @@ -15,6 +15,9 @@ block content .content-page .plans .container(ng-cloak) + if showInrGeoBanner + div.alert.alert-success.text-centered !{translate("inr_discount_offer_plans_page_banner", {flag: '🇮🇳'})} + .row .col-md-12 .page-header.centered.plans-header.text-centered.top-page-header diff --git a/services/web/app/views/subscriptions/plans-marketing/st-personal-off-variant/interstitial-payment.pug b/services/web/app/views/subscriptions/plans-marketing/st-personal-off-variant/interstitial-payment.pug index 4f34c0340c..d51dc39f49 100644 --- a/services/web/app/views/subscriptions/plans-marketing/st-personal-off-variant/interstitial-payment.pug +++ b/services/web/app/views/subscriptions/plans-marketing/st-personal-off-variant/interstitial-payment.pug @@ -16,6 +16,9 @@ block content .content-page .plans .container + if showInrGeoBanner + div.alert.alert-success.text-centered !{translate("inr_discount_offer_plans_page_banner", {flag: '🇮🇳'})} + .row .col-md-12 .page-header.centered.plans-header.text-centered.top-page-header diff --git a/services/web/app/views/subscriptions/plans-marketing/st-personal-off-variant/plans-marketing-v2.pug b/services/web/app/views/subscriptions/plans-marketing/st-personal-off-variant/plans-marketing-v2.pug index 4cc687de3a..2206ed4ab2 100644 --- a/services/web/app/views/subscriptions/plans-marketing/st-personal-off-variant/plans-marketing-v2.pug +++ b/services/web/app/views/subscriptions/plans-marketing/st-personal-off-variant/plans-marketing-v2.pug @@ -15,6 +15,9 @@ block content .content-page .plans .container(ng-cloak) + if showInrGeoBanner + div.alert.alert-success.text-centered !{translate("inr_discount_offer_plans_page_banner", {flag: '🇮🇳'})} + .row .col-md-12 .page-header.centered.plans-header.text-centered.top-page-header diff --git a/services/web/frontend/extracted-translations.json b/services/web/frontend/extracted-translations.json index cd86fb00cb..645144f71f 100644 --- a/services/web/frontend/extracted-translations.json +++ b/services/web/frontend/extracted-translations.json @@ -494,7 +494,10 @@ "include_caption": "", "include_label": "", "increased_compile_timeout": "", + "inr_discount_modal_info": "", + "inr_discount_modal_title": "", "inr_discount_offer": "", + "inr_discount_offer_green_banner": "", "insert_figure": "", "insert_from_another_project": "", "insert_from_project_files": "", @@ -613,6 +616,7 @@ "math_display": "", "math_inline": "", "maximum_files_uploaded_together": "", + "maybe_later": "", "members_management": "", "mendeley_groups_loading_error": "", "mendeley_groups_relink": "", diff --git a/services/web/frontend/js/features/project-list/components/notifications/ads/inr-banner.tsx b/services/web/frontend/js/features/project-list/components/notifications/ads/inr-banner.tsx index 7198ba5b31..ac930cf7d1 100644 --- a/services/web/frontend/js/features/project-list/components/notifications/ads/inr-banner.tsx +++ b/services/web/frontend/js/features/project-list/components/notifications/ads/inr-banner.tsx @@ -1,67 +1,172 @@ -import { useCallback, useEffect, useRef } from 'react' +import { useCallback, useEffect, useRef, useState } from 'react' import { Trans, useTranslation } from 'react-i18next' import usePersistedState from '../../../../../shared/hooks/use-persisted-state' import Notification from '../notification' import * as eventTracking from '../../../../../infrastructure/event-tracking' -import { Button } from 'react-bootstrap' +import { Modal, Button } from 'react-bootstrap' +import AccessibleModal from '../../../../../shared/components/accessible-modal' -export default function INRBanner() { +interface VariantContents { + default: string + 'green-banner': string + modal: string +} + +const contentLookup: VariantContents = { + default: 'blue', + 'green-banner': 'green', + modal: 'modal', +} + +type INRBannerProps = { + variant: keyof VariantContents + splitTestName: string +} + +export default function INRBanner({ variant, splitTestName }: INRBannerProps) { const { t } = useTranslation() - const [dismissedAt, setDismissedAt] = usePersistedState( - `has_dismissed_inr_banner` - ) + const [dismissedUntil, setDismissedUntil] = usePersistedState< + Date | undefined + >(`has_dismissed_inr_banner_until`) const viewEventSent = useRef(false) - useEffect(() => { - if (!dismissedAt) { - return - } - const dismissedAtDate = new Date(dismissedAt) - const recentlyDismissedCutoff = new Date() - recentlyDismissedCutoff.setDate(recentlyDismissedCutoff.getDate() - 30) // 30 days - // once dismissedAt passes the cut-off mark, banner will be shown again - if (dismissedAtDate <= recentlyDismissedCutoff) { - setDismissedAt(undefined) - } - }, [dismissedAt, setDismissedAt]) + // Only used by 'modal' variant + const [showModal, setShowModal] = useState(true) useEffect(() => { - if (!dismissedAt && !viewEventSent.current) { - eventTracking.sendMB('paywall-prompt', { - 'paywall-type': 'inr-banner', + if (dismissedUntil && new Date(dismissedUntil) > new Date()) { + return + } + if (!viewEventSent.current) { + eventTracking.sendMB('promo-prompt', { + location: variant === 'modal' ? 'dashboard-modal' : 'dashboard-banner', + name: splitTestName, + content: contentLookup[variant], }) viewEventSent.current = true } - }, [dismissedAt]) + }, [dismissedUntil, splitTestName, variant]) const handleClick = useCallback(() => { - eventTracking.sendMB('paywall-click', { 'paywall-type': 'inr-banner' }) + eventTracking.sendMB('promo-click', { + location: variant === 'modal' ? 'dashboard-modal' : 'dashboard-banner', + name: splitTestName, + content: contentLookup[variant], + type: 'click', + }) + + setShowModal(false) window.open('/user/subscription/plans') - }, []) + }, [splitTestName, variant]) - if (dismissedAt) { + const bannerDismissed = useCallback(() => { + eventTracking.sendMB('promo-dismiss', { + location: variant === 'modal' ? 'dashboard-modal' : 'dashboard-banner', + name: splitTestName, + content: contentLookup[variant], + type: 'click', + }) + const until = new Date() + until.setDate(until.getDate() + 30) // 30 days + setDismissedUntil(until) + }, [setDismissedUntil, splitTestName, variant]) + + const handleHide = useCallback(() => { + setShowModal(false) + bannerDismissed() + }, [bannerDismissed]) + + const handleMaybeLater = useCallback(() => { + eventTracking.sendMB('promo-click', { + location: variant === 'modal' ? 'dashboard-modal' : 'dashboard-banner', + name: splitTestName, + content: contentLookup[variant], + type: 'pause', + }) + setShowModal(false) + const until = new Date() + until.setDate(until.getDate() + 1) // 1 day + setDismissedUntil(until) + }, [setDismissedUntil, splitTestName, variant]) + + if (dismissedUntil && new Date(dismissedUntil) > new Date()) { return null } - return ( - setDismissedAt(new Date())}> - - ]} // eslint-disable-line react/jsx-key - /> - - - - - - ) + if (variant === 'default') { + return ( + + + ]} // eslint-disable-line react/jsx-key + /> + + + + + + ) + } else if (variant === 'green-banner') { + return ( + + + ,
]} // eslint-disable-line react/jsx-key + values={{ flag: '🇮🇳' }} + /> +
+ + + +
+ ) + } else if (variant === 'modal') { + return ( + + + {t('inr_discount_modal_title')} + + +

+ {t('inr_discount_modal_title')} +

+

+ +

+
+ + + + +
+ ) + } else { + return null + } } diff --git a/services/web/frontend/js/features/project-list/components/notifications/user-notifications.tsx b/services/web/frontend/js/features/project-list/components/notifications/user-notifications.tsx index 64d23ec8fa..41b21ed98d 100644 --- a/services/web/frontend/js/features/project-list/components/notifications/user-notifications.tsx +++ b/services/web/frontend/js/features/project-list/components/notifications/user-notifications.tsx @@ -28,7 +28,12 @@ function UserNotifications() { 'ol-groupSubscriptionsPendingEnrollment', [] ) - const showIRNBanner = getMeta('ol-showINRBanner', false) + const showInrGeoBanner = getMeta('ol-showInrGeoBanner', false) + const inrGeoBannerVariant = getMeta('ol-inrGeoBannerVariant', 'default') + const inrGeoBannerSplitTestName = getMeta( + 'ol-inrGeoBannerSplitTestName', + 'unassigned' + ) const showLATAMBanner = getMeta('ol-showLATAMBanner', false) return ( @@ -48,8 +53,11 @@ function UserNotifications() { {showLATAMBanner ? ( - ) : showIRNBanner ? ( - + ) : showInrGeoBanner ? ( + ) : ( )} diff --git a/services/web/locales/en.json b/services/web/locales/en.json index f86a88f258..ac20f4ecb0 100644 --- a/services/web/locales/en.json +++ b/services/web/locales/en.json @@ -765,7 +765,11 @@ "increased_compile_timeout": "Increased compile timeout", "indvidual_plans": "Individual Plans", "info": "Info", + "inr_discount_modal_info": "Get document history, track changes, additional collaborators, and more at Purchasing Power Parity prices.", + "inr_discount_modal_title": "70% off all Overleaf premium plans for users in India", "inr_discount_offer": "Good news! You can now use Rupees ₹ to pay for an Overleaf subscription, giving you a <0>70% discount on our premium features.", + "inr_discount_offer_green_banner": "__flag__ <0>Big news! You qualify for a <0>70% discount on our premium plans because you’re in India.
Get additional collaborators, document history, track changes, and more.", + "inr_discount_offer_plans_page_banner": "__flag__ Great news! Because you’re in India, you can get any Overleaf premium plan at a 70% discount.", "insert_figure": "Insert figure", "insert_from_another_project": "Insert from another project", "insert_from_project_files": "Insert from project files", @@ -976,6 +980,7 @@ "max_collab_per_project_info": "The number of people you can invite to work on each project. They just need to have an Overleaf account. They can be different people in each project.", "maximum_files_uploaded_together": "Maximum __max__ files uploaded together", "may": "May", + "maybe_later": "Maybe later", "members_management": "Members management", "mendeley": "Mendeley", "mendeley_groups_loading_error": "There was an error loading groups from Mendeley", diff --git a/services/web/public/img/subscriptions/inr-discount-modal.png b/services/web/public/img/subscriptions/inr-discount-modal.png new file mode 100644 index 0000000000000000000000000000000000000000..ead8016058d56a4c1d18e4a2bd281dc0b3370e7b GIT binary patch literal 53484 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