account-upgrade.ts 935 B

123456789101112131415161718192021222324252627282930313233343536
  1. import * as eventTracking from '../infrastructure/event-tracking'
  2. export function startFreeTrial(
  3. source: string,
  4. variant?: string,
  5. segmentation?: eventTracking.Segmentation
  6. ) {
  7. const eventSegmentation: Record<string, string> = {
  8. 'paywall-type': source,
  9. ...segmentation,
  10. }
  11. if (variant) {
  12. eventSegmentation.variant = variant
  13. }
  14. eventTracking.send('subscription-funnel', 'upgraded-free-trial', source)
  15. eventTracking.sendMB('paywall-click', eventSegmentation)
  16. const searchParams = new URLSearchParams({
  17. itm_campaign: source,
  18. })
  19. window.open(`/user/subscription/choose-your-plan?${searchParams.toString()}`)
  20. }
  21. export function upgradePlan(source: string) {
  22. const openedWindow = window.open()
  23. if (typeof window.ga === 'function') {
  24. window.ga('send', 'event', 'subscription-funnel', 'upgraded-plan', source)
  25. }
  26. if (openedWindow) {
  27. openedWindow.location = '/user/subscription'
  28. }
  29. }