account-upgrade.js 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. import * as eventTracking from '../infrastructure/event-tracking'
  2. function startFreeTrial(source, version, $scope, variant) {
  3. const eventSegmentation = { 'paywall-type': source }
  4. if (variant) {
  5. eventSegmentation.variant = variant
  6. }
  7. eventTracking.send('subscription-funnel', 'upgraded-free-trial', source)
  8. eventTracking.sendMB('paywall-click', eventSegmentation)
  9. const searchParams = new URLSearchParams({
  10. itm_campaign: source,
  11. })
  12. if (version) {
  13. searchParams.set('itm_content', version)
  14. }
  15. if ($scope) {
  16. $scope.startedFreeTrial = true
  17. }
  18. window.open(`/user/subscription/choose-your-plan?${searchParams.toString()}`)
  19. }
  20. function upgradePlan(source, $scope) {
  21. const w = window.open()
  22. const go = function () {
  23. if (typeof ga === 'function') {
  24. ga('send', 'event', 'subscription-funnel', 'upgraded-plan', source)
  25. }
  26. const url = '/user/subscription'
  27. if ($scope) {
  28. $scope.startedFreeTrial = true
  29. }
  30. w.location = url
  31. }
  32. go()
  33. }
  34. function paywallPrompt(source) {
  35. eventTracking.sendMB('paywall-prompt', { 'paywall-type': source })
  36. }
  37. export { startFreeTrial, upgradePlan, paywallPrompt }