CINXE.COM
Online Video Editor by Magisto | Plans and Pricing
<!DOCTYPE html> <!-- __ __ _ _ | \/ | __ _ __ _(_)___| |_ ___ | |\/| |/ _` |/ _` | / __| __/ _ \ | | | | (_| | (_| | \__ \ || (_) | |_| |_|\__,_|\__, |_|___/\__\___/ |___/ --> <!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]--> <!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8" lang="en"> <![endif]--> <!--[if IE 8]> <html class="no-js lt-ie9" lang="en"> <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]--> <head><script type="text/javascript" src="/_static/js/bundle-playback.js?v=HxkREWBo" charset="utf-8"></script> <script type="text/javascript" src="/_static/js/wombat.js?v=txqj7nKC" charset="utf-8"></script> <script>window.RufflePlayer=window.RufflePlayer||{};window.RufflePlayer.config={"autoplay":"on","unmuteOverlay":"hidden"};</script> <script type="text/javascript" src="/_static/js/ruffle/ruffle.js"></script> <script type="text/javascript"> __wm.init("https://web.archive.org/web"); __wm.wombat("https://www.magisto.com/pricing?prev_path=/marketing/cooking-video-maker&via=top_menu","20211217083631","https://web.archive.org/","web","/_static/", "1639730191"); </script> <link rel="stylesheet" type="text/css" href="/_static/css/banner-styles.css?v=S1zqJCYt" /> <link rel="stylesheet" type="text/css" href="/_static/css/iconochive.css?v=3PDvdIFv" /> <!-- End Wayback Rewrite JS Include --> <meta charset="utf-8"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <meta http-equiv="Content-Language" content="en"/> <meta http-equiv="X-UA-Compatible" content="IE=edge"/> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <link rel="canonical" href="https://web.archive.org/web/20211217083631/https://www.magisto.com/pricing"/> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, minimal-ui"> <meta name="HandheldFriendly" content="True"> <meta name="MobileOptimized" content="360"/> <meta name="apple-mobile-web-app-capable" content="yes"> <link rel="shortcut icon" href="https://web.archive.org/web/20211217083631im_/https://d1ekrxlws13em5.cloudfront.net/media/images/favicon.ico" type="image/vnd.microsoft.icon"/> <link rel="icon" href="https://web.archive.org/web/20211217083631im_/https://d1ekrxlws13em5.cloudfront.net/media/images/favicon.ico" type="image/x-icon"/> <link rel="apple-touch-icon" href="https://web.archive.org/web/20211217083631im_/https://d1ekrxlws13em5.cloudfront.net/media/images/magisto_ios_icon_large.jpg"/> <title>Online Video Editor by Magisto | Plans and Pricing</title> <meta name="description" content="Magisto online video editor - select the plan that best matches your video needs - Basic, Premium, Professional or Business - we got you all covered."> <meta name="keywords" content="video marketing, promo video, marketing videos, marketing your business, small business marketing, marketing video, online video marketing, marketing videos, marketing video, promotional videos, product video, online video marketing"> <meta name="apple-itunes-app" content="app-id=486781045, app-argument="> <meta name="google-play-app" content="app-id=com.magisto"> <meta property="fb:app_id" content="192161334139408"/> <meta property="og:title" content="Online Video Editor | Smart Video Maker by Magisto"/> <meta property="og:type" content="article"/> <meta property="og:description" content="Magisto online video editor is a fast & powerful video maker. Turn your photos and video clips into video stories with Magisto movie editor. Start free!"/> <meta property="og:image" content="https://web.archive.org/web/20211217083631im_/https://drrrhyhe9lfip.cloudfront.net/media/images/ogimage150998230369.jpeg"/> <meta property="og:url" content="https://web.archive.org/web/20211217083631/https://www.magisto.com/pricing"/> <meta name="twitter:url" content="https://web.archive.org/web/20211217083631im_/https://www.magisto.com/pricing"> <meta name="twitter:title" content="Online Video Editor | Smart Video Maker by Magisto"> <meta name="twitter:description" content="Magisto online video editor is a fast & powerful video maker. Turn your photos and video clips into video stories with Magisto movie editor. Start free!"> <meta name="twitter:image" content="https://web.archive.org/web/20211217083631im_/https://drrrhyhe9lfip.cloudfront.net/media/images/ogimage150998230369.jpeg"> <!--<link rel="manifest" href="/media/new/js/apis/web-push/chrome/manifest.json">--> <link rel="manifest" href="/web/20211217083631/https://www.magisto.com/media/new/js/apis/web-push/chrome/manifest_proper_android_appinstall.json"> <link href="//web.archive.org/web/20211217083631cs_/https://d1ekrxlws13em5.cloudfront.net/media/cached/css/48f41534bfe4.css" type="text/css" rel="stylesheet" type="text/css"/> <style type="text/css"> .plan_blocks_wrap{ display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; flex-direction: row-reverse; justify-content: center;} .plan_blocks_wrap.only_1{max-width: 320px;} .plan_blocks_wrap.only_2{max-width: 640px;} .plan_blocks_wrap.has_popular {margin-top:30px;} section .section_title{font-size: 36px;} .plan_blocks_wrap .plan_block{max-width:288px; min-width:288px;} .plan_blocks_wrap .plan_content{ position: relative; background: #fff; padding: 30px 20px; } .plan_blocks_wrap .plan_content .istock_banner{position: absolute; right: -69px; bottom: 140px;} .plan_blocks_wrap .plan_content h3 {margin-bottom:24px;} .plan_blocks_wrap .plan_content h2{text-transform: capitalize; } .plan_blocks_wrap .plan_content p.desc{ min-height: 60px; } .plan_blocks_wrap .plan_content .vimeo_desc{ margin-bottom: 0; } .plan_blocks_wrap .plan_content .vimeo_desc span{ font-weight: normal; } .plan_blocks_wrap .plan_content .vimeo_desc img{ padding-bottom: 7px; } .plan_blocks_wrap .plan_content .premium_desc{ margin-bottom: 20px; } .plan_blocks_wrap .plan_content .buy_now_wrap{height:46px; margin-bottom:0px;} .plan_blocks_wrap .plan_block .is_popular,.plan_blocks_wrap .plan_block .is_popular_ph{ background: #48dea7; padding: 5px 20px; color: #fff; height: 30px; font-weight: 900; box-sizing: border-box; font-size:14px; } .plan_blocks_wrap .plan_block .is_popular_ph{background: transparent;} section.pricing_section .price_wrap{font-size:60px; font-weight:900;} section.pricing_section .price_wrap span{font-size:16px; display: inline-block; font-weight: normal;} section.pricing_section .price_wrap span.perc{position: absolute;left: 0;font-size: 24px; top: 12px; display: inline-block; font-size: 20px;} section.pricing_section .price_wrap span.per_month{margin-left: 10px; } section.pricing_section .annual_text{font-size:12px;font-weight: normal;margin-top:6px;} section.pricing_section .price_wrap span.top_cents{top: 12px; display: inline-block; position: absolute; margin-left: 5px; font-size: 20px; font-weight: bold;} .plan_blocks_wrap .plan_block .features_list li{ font-weight: normal; font-size: 15px; padding-top: 5px; padding-bottom: 5px; } .plan_blocks_wrap .plan_block .features_list li span { margin-left: 8px; letter-spacing: -0.2px; font-size: 14px;display: inline-block;width: 90%;vertical-align: top;} .plan_blocks_wrap .plan_block .features_list li i{display:inline-block} .plan_blocks_wrap .plan_block .features_list li b{font-weight: 500;} section p {font-size:16px; line-height:20px;} .features_section .plan_title.selected .btn{background-color: #3ddfa6;} .gray_features_wrap{ background: #f6f6f7; min-height:140px; padding: 36px 0 80px 0;} .gray_features_wrap .features_list{ padding: 0 20px; } .vimeo_features_title{ background: #f2fbff; height: 30px; padding-top: 10px; } .vimeo_features_title span{ color: #00adef; font-family: "Helvetica Neue", Helvetica !important; font-size: 13px; font-weight: bold; font-style: normal; font-stretch: normal; line-height: 1.15; padding: 0 20px; } @media only screen and (max-width: 770px), only screen and (max-height: 600px) and (max-width: 900px) { .gray_features_wrap{ height:auto!important; } } @media only screen and (max-width: 960px){ .plan_blocks_wrap .plan_content .istock_banner{ right: -29px; max-width:50%; bottom: 135px;} } @media only screen and (max-width: 360px){ .plan_blocks_wrap .plan_block .features_list li span{ margin-left: 6px;} } .monthly_yearly span {font-size:18px; font-weight: normal;} .monthly_yearly input[type='checkbox'] { -webkit-appearance: none !important; outline: none!important; width: 0px; height: 0px; content: ''; border:0; border-radius: 0px; -webkit-border-radius: 0px; background:transparent; margin:0; opacity:0;} .monthly_yearly label {display: inline-block; width: 34px; height: 16px; border: 1px solid #00dea5; border-radius: 12px; box-sizing:content-box; background:transparent; position:relative; vertical-align:text-bottom;} .monthly_yearly label:after { content:" "; width:16px; height:16px; border-radius: 50%; box-shadow: 0 0 3px 0 rgba(0, 0, 0, 0.16); background-color: #00dea5; position:absolute; display:inline-block; left:auto; right:0px;} .monthly_yearly input[type='checkbox']:checked + label:after {right:auto; left:0px;} .monthly_yearly img {margin-left:8px;vertical-align:baseline; position:relative; top:3px;} .close_pricing {display:none} .btm_tos { font-size: 12px; font-weight: normal; padding-top: 18px; } .btm_tos:before {content:'* '} .maintitle{margin-bottom:10px;} .maintitle_text{ height: 18px; font-family: "Helvetica Neue", Helvetica !important; font-size: 15px; font-weight: 500; font-style: normal; font-stretch: normal; line-height: 1.2; letter-spacing: -0.15px; } .pricing_section {margin-top:48px; margin-bottom:132px;} /*.plan_blocks_wrap .plan_block { padding-right: 5px; padding-left: 5px;}*/ .plan_blocks_wrap .plan_block:nth-child(2){padding-left: 24px; padding-right: 24px;} .plan_blocks_wrap .plan_content .buy_now_wrap .btn.full_width {line-height: 1.6; font-size: 18px;} .section_content {width:930px;max-width:930px;min-width:930px;padding-left:0px; padding-right:0px;} .btn.popular {background-color:#3ddfa6; color:#fff; box-shadow:none!important;-webkit-box-shadow:none!important} .btn.popular:hover, .btn.popular:active {background-color:#41eaaf!important} .section_notification {margin:48px 0px; margin-bottom:84px;} .section_notification .content_box { background: #f6f6f7; border-left: 6px solid #42ebae; line-height: 1.3; padding:24px;} .section_notification .content_box .title{ font-size: 18px; margin-bottom: 18px; font-weight: 900 } .section_notification .content_box .content{ font-size: 15px; font-weight: normal; } .magisto_quote_rating_wrap {color:#fec92f} @media only screen and (max-width: 770px), only screen and (max-height: 600px) and (max-width: 900px) { .pricing_section {margin-top:36px; margin-bottom:36px;} .section_content {width:100%;max-width:100%;min-width:100%; padding:0px 24px;} .plan_blocks_wrap .plan_block {padding:0px; display: block; width: 100%; max-width:100%;min-width:100%; margin-top:24px;} .plan_blocks_wrap .plan_block:first-of-type {margin-top:0px;} .plan_blocks_wrap .plan_block .is_popular_ph {height:0px;} .plan_blocks_wrap .plan_content p.desc { font-size:18px; margin-bottom:52px;} .section_notification {margin-top:36px;margin-bottom:60px;} .section_notification .section_content {padding:0px;} .section_notification .content_box {padding:16px;} section .section_title span.right {float:none; text-align:right; display:block;} } .features_plan_line{z-index: +999!important;} .features_plan_line .plan_title.pl-xxxs.pr-xxxs{padding-left: 15px; padding-right: 15px;} .features_plan_line .buy_now_wrap .btn.full_width.small_pad{padding:9px;} .features_plan_line{ width: 100%!important; left: 0!important; background: #fff; height: auto!important;} .features_plan_line:not(.sticky_state) .section_content{ padding-left:0; padding-right:0; } .grey_top_placeholder { height: /*65px*/0; background: #ebebef; } .features_section.only_mobile .plan_title {padding: 0% 0; width: 100%; margin: 0; position: relative; text-align: center; height: 150px; -ms-flex-align: center; -webkit-align-items: center; align-items: center; line-height: 1.5; } .features_section.only_mobile .plan_title .rotated_div { -webkit-transform: rotate(180deg); -moz-transform: rotate(180deg); -o-transform: rotate(180deg); -ms-transform: rotate(180deg); transform: rotate(180deg); } .features_section.only_mobile .container{width:100%;height:100%;position:relative;} .features_section.only_mobile .plan_title h3{ font-size: 16.45px; -webkit-transform: rotate(-270deg) translateZ(-89px); -moz-transform: rotate(-270deg) translateZ(-89px); -o-transform: rotate(-270deg) translateZ(-89px); -ms-transform: rotate(-270deg) translateZ(-89px); transform: rotate(-270deg) translateZ(-89px); -webkit-transform-style: preserve-3d;-moz-transform-style: preserve-3d;-o-transform-style: preserve-3d;-ms-transform-style: preserve-3d;transform-style: preserve-3d; -webkit-transform-origin: 0 50%;-moz-transform-origin: 0 50%;-o-transform-origin: 0 50%;-ms-transform-origin: 0 50%;transform-origin: 0 50%; position: absolute; top: 0; left:50%; display: inline-block; padding: 0; } .features_section.only_mobile .feature_line{ font-weight: normal; font-size: 13px; line-height: 1.5; padding: 10px 0;} .features_section .feature_line .feature_cell{ position: relative; display: block; width: 100%; height: 100%;} .features_section .plan_title.selected{ background: #41EBAF;} .features_section .plan_title.selected span{ position: absolute; z-index: 999; top: -35px; left: 0; display: block; width: 100%; color: #fff; font-weight: 800; background: #3cd6a0; font-size: 14px; line-height: 2.5; box-sizing: border-box; } .features_section .plan_title .btn.large{padding:0;font-size: 20px;} .features_section h4.larger{ line-height: 2.5; font-size: 18px; } .features_section h4.turq{ color: #3fdfa5; border-bottom: 2px solid #3fdfa5; } .features_section .features_list li{ font-size: 16px; font-weight: normal; line-height: 2.25; padding: 10px 0; border-bottom:2px solid #ececef; } .features_section.only_mobile .features_list div:first-child li:first-child{ border-top:2px solid #ececef;} .features_section.only_mobile .features_list li{ } .features_section .comment {font-size:12px; font-weight: normal; padding-top: 18px} .features_section .comment:before {content:'*'} span.gen_icon.checkmark{ display: inline-block; vertical-align: middle; background-position: -75px -42px; width: 17px; height: 13px; } .features_section .tooltip_q_m{ display: inline-block; width: 25px;height: 25px; vertical-align: middle; } .features_section .tooltip_q_m:before{ content:''; background: url('/web/20211217083631im_/https://www.magisto.com/media/new/img/question_mark.png') no-repeat top center; width:22px; height:22px; display:block; } .features_section .tooltip_q_m .tooltip_content{ display: none; position: absolute; background: #ebebef; top: 0; left: 40px; width: 220px; top: 50%; height: auto; backface-visibility: hidden; -webkit-font-smoothing: subpixel-antialiased; transform: translateY(-50%) translateZ(0) scale(1.0, 1.0); -moz-transform: translateY(-50%) translateZ(0) scale(1.0, 1.0); -webkit-transform: translateY(-50%) translateZ(0) scale(1.0, 1.0); z-index:+1; } .features_section span.tooltip_content div{ padding: 10px; line-height: 1.4; max-width: 100%; width: 100%; height: 100%; font-size: 13px; font-weight: normal; box-sizing: border-box; color: #0a0c3c; } .features_section .tooltip_q_m .tooltip_content:after, .features_section .tooltip_q_m .tooltip_content:before { right: 100%; top: 50%; border: solid transparent; content: " "; height: 0; width: 0; position: absolute; pointer-events: none; } .features_section .tooltip_q_m .tooltip_content:before { margin-top: -12px; width: 0; height: 0; border-style: solid; border-width: 10px 16px 10px 0; border-color: transparent #ebebef transparent transparent; } .features_section .tooltip_q_m:hover .tooltip_content{ display:block; } .features_section .tooltip_q_m:hover:before{ background-position: bottom center; } .faq_item{flex-grow: 1;flex: 1 0 100%;} .faq_item h3{max-width:85%;} .faq_item p{font-size:16px; line-height: 1.5; max-width:85%;} .features_section .faq_item h4.larger{line-height: 1.3; min-height: 56px;} .faq_list_section{} section.features_section.faq_section.white_bg{ background: #ebebef; padding-bottom:40px;} .compare_plans_link{float:right;} #change_plan_popup {width:682px; } #change_plan_popup .section, #change_plan_popup .section .h1, #change_plan_popup .section .h2 {color: #0a0c3c;} #change_plan_popup a {cursor: pointer; color: #644bff; font-weight: normal;} #change_plan_popup .h {border-bottom:0px;margin-top:60px;font-size:28px;line-height:36px;height:auto;margin-bottom:42px;} #change_plan_popup .p {font-weight: normal;} #change_plan_popup .plan_table {display:table; margin:36px auto 50px; width:100%; border-collapse: collapse;line-height:36px; font-size:14px;} #change_plan_popup .plan_row {display:table-row; margin-bottom:10px;} #change_plan_popup .plan_row:first-child,#change_plan_popup .plan_row:last-child {border-top:solid 1px #0a0c3c;} #change_plan_popup .plan_col {display:table-cell; font-size:16px;} #change_plan_popup .plan_col.l {text-align:left} #change_plan_popup .plan_col.r {text-align:right; font-weight: normal} #change_plan_popup .plan_col.l .ttotal {font-size:16px;} #change_plan_popup .plan_col .curr_txt {margin-left:3px;} #change_plan_popup .plan_table .price .l {height:36px; vertical-align:middle; line-height:16px;} #change_plan_popup .form-group { margin-bottom: 12px; line-height: 1.4;} #change_plan_popup .plan_table .prorate .r {color: #654cff;} #change_plan_popup .plan_table .total {/*border-top:0 none transparent;*/ font-weight:bold;} #change_plan_popup .plan_table .prorate {border-bottom:solid 1px #0a0c3c;} #change_plan_popup .plan_table .total .r {font-weight: normal;position:relative;padding-top:15px;white-space:nowrap} #change_plan_popup .plan_table .total .r .curr {font-size:14px;position: relative;top:-17px;} #change_plan_popup .plan_table .total .r .number {font-size:40px;position:relative;margin-left:-5px; font-weight:bold;} #change_plan_popup .plan_table .total .r .after_point {font-size:16px; font-weight: normal;position:relative;right:0px;top:-17px;margin:0;font-weight:bold;} #change_plan_popup .plan_table .total .r .smallnum {display:none} #change_plan_popup .btns form { text-align: right; padding-right: 0px; line-height: 36px; font-size: 14px;} #change_plan_popup .btn {min-width:200px; font size:16px; font-weight: normal;} #change_plan_popup .consent {width: 100%; text-align:left; margin:50px auto 60px; font-size: 14px;} #change_plan_popup .consent input {display:inline-block; } #change_plan_popup .consent input[type="checkbox"] {max-width:20px; } #change_plan_popup .consent label {max-width:85%;} #change_plan_popup .consent > div:first-child {margin-bottom:20px;} #change_plan_popup .consent > div.consent_error {color:red;position:relative;top:20px;height:16px;margin-bottom:-16px;clear:both;} #change_plan_popup .plan_renewal {margin-bottom:20px;font-size:14px;line-height:20px;} #change_plan_popup .secure {font-size:14px;line-height:36px;} #change_plan_popup .success {margin:50px auto 60px;} #change_plan_popup .success .success_title {margin-top:50px;font-weight: normal;font-size:16px;} #change_plan_popup .success .success_msg {margin:30px 0 50px;font-size:18px; line-height:24px;font-weight:bold} #change_plan_popup .success .btn {padding:10px 50px; min-width:200px;} #change_plan_popup ul.success_bullets {text-align:left;width: 400px; margin: -20px auto 50px;padding:0} #change_plan_popup ul.success_bullets li {margin-bottom:15px;} #change_plan_popup ul.success_bullets li .i{width:17px;height:17px;top:4px;background:url('/web/20211217083631im_/https://www.magisto.com/media/new/img/gray_v2.png') no-repeat center center; position:relative;display:inline-block;float:left;} #change_plan_popup ul.success_bullets li span {padding-left:25px;display:block;} #change_plan_popup .pad {min-height:199px;} #change_plan_popup .mobile_x {display:none} #change_plan_popup .mbl_success .btn {width:250px;margin-bottom:20px;} @media only screen and (max-width: 360px) { #change_plan_popup .btns form{font-size: 13px;} #change_plan_popup .consent label{font-size: 14px;} } @media only screen and (max-width: 570px) { #change_plan_popup .form span.txt_line.nowrap{margin-top: -40px} #change_plan_popup .plan_table .price .l,#change_plan_popup .plan_table .price .r{padding:10px 0} #change_plan_popup ul.success_bullets {width:100%} } @media only screen and (max-height: 770px) { #change_plan_popup{top: 50%!important; left:50%!important;transform: translate(-50%, -50%)!important;} } div.notification_bar .section_content{ width: 100%; max-width: 100%;} </style> <script src="https://web.archive.org/web/20211217083631js_/https://polyfill.io/v3/polyfill.min.js?version=3.52.1&features=es2015%2Ces2016%2Ces2017%2Ces2018%2Ces2019"></script> <script> var globals = { app : 'magisto', is_debug : false, is_live : true, is_authenticated : false, is_mobile : false, is_iphone : false, is_ipad : false, is_android : false, is_desktop : true, static_url : 'https://web.archive.org/web/20211217083631/https://d1ekrxlws13em5.cloudfront.net/media/', sightera_server : 'www.magisto.com', protocol : 'https', has_https_support : true, prot_and_server : 'https://web.archive.org/web/20211217083631/https://www.magisto.com', user_name : null, is_business : false, is_tryout : false, can_remove_watermark: false, opt_in_trial : false, opt_in_expire_days : false, optin_upsell_id : 'optin-business-upsell-popup', trial_period : false, blocking_opt_in_trial: false, user_plan : '', has_stock : false, has_getty_marketplace: false, can_tweak : false, can_ad : false, can_publish : false, can_custompage : false, publish_branded : false, can_embed : false, can_brand_video : false, send_analytics : false, got_cookies_consent : false, ab_tests : {}, CRM: { track: function(event_name, extra_data) {} }, can_connect_to_vimeo: false, connected_to_vimeo: false, vimeo_account_eligibility: 'None', vimeo_user_email: '', vimeo_auto_share: false, vimeo_share_privacies: JSON.parse('[]'), vimeo_token_invalid: false, vimeo_connect_state: 'None', v6_support: true, }; globals.ab_tests.web_pro_tier = false; globals.ab_tests.web_plus_tier = false; globals.ab_tests.web_upsell_image_text = false; globals.ab_tests.web_pro_upsell_popup = false; globals.prot_and_server = 'https://web.archive.org/web/20211217083631/https://www.magisto.com'; var fb_ad_id = null; var ad_account_id = null; var campaign_ids = null; globals.fb_ad_id = sessionStorage.getItem('fb_ad_id') || fb_ad_id; if(!!globals.fb_ad_id){ globals.ad_account_id = sessionStorage.getItem('ad_account_id') || ad_account_id; globals.campaign_ids = sessionStorage.getItem('campaign_ids') || campaign_ids; sessionStorage.setItem('fb_ad_id', globals.fb_ad_id); sessionStorage.setItem('ad_account_id', globals.ad_account_id); sessionStorage.setItem('campaign_ids', globals.campaign_ids); sessionStorage.setItem('embed_on', globals.outerPlatform); } var _is_mobile = globals.is_mobile, _is_ipad = globals.is_ipad, _is_debug = globals.is_debug, _has_https_support = globals.has_https_support, _protocol = globals.protocol, _prot_and_server = globals.prot_and_server, _sightera_server = globals.sightera_server, _is_authenticated = globals.is_authenticated, _is_channel_admin = false, _is_ie = false; _google_api_key = 'AIzaSyBFf96QRIGzc9SH-IwrQTNc5CO8mr_SyPc'; _google_client_id = '774247004952-e9enabia9n1d5m3o6hc8qp84v2ocjav1.apps.googleusercontent.com'; _google_scope = 'profile email'; _facebook_app_id = '192161334139408'; _facebook_scope = 'email,user_about_me'; var global_debug_queue = []; var global_debug_call = function() {}; </script> <script> var globals = globals || {}; globals.extra_ng_dependencies = globals.extra_ng_dependencies || []; globals.extra_ng_dependencies.push('sticky'); globals.buy_mode = 'buy'; globals.has_deferred = true; globals.plan_types = 'premium+professional+marketers'; globals.default_duration = 'yearly'; globals.with_vimeo = true; window.addEventListener("beforeunload", function (event) { if (window.opener && window.opener.location && window.opener.up) { try { window.opener.up.upgrade_popup_closed(); } catch(err) {} } }); globals.sales_popup = { type: 'PRICING', title: 'Contact us for a demo', description: 'Learn how to make more videos more effectively.<br/>Fill out this form and our Customer Success Team will contact you.', full: true }; globals.pricing_info = { ab_test: 'new_design', pricing_later_test: true, buy_mode: 'buy', products:[ { name: "premium", sub_title: "", desc: "Create video stories perfect for sharing with family & friends", displayed_price: { before_point: "4", after_point: "99", }, product_id: '3258415', product:{ product_id: '3258415', }, is_popular: false, is_business: false, is_annual: true, is_current: false, is_enabled: true, is_deferred:false, plan_type: "premium", features: [ {class: "", text: "Make videos up to 10 min. long"}, {class: "", text: "Full access to Magisto's editor"}, {class: "", text: "Premium editing styles"}, {class: "", text: "Unlimited downloads"}, ], detailed_features:JSON.parse('{"edit": {"basic": true, "advanced": "V", "text": "V", "stock": ""}, "distribution": {"download": true, "sharing": true, "embedding": "", "email_marketing": "", "email_receipient_tracking": "", "branded_page": "", "download_to_device": "V", "social_sharing": "V"}, "insights": {"views": "", "engagement": "", "by_platform": "", "audience": ""}, "limits": {"duration": "10 min"}, "create": {"quality": "HD", "smart_editor": "V", "layout": "V", "designed_text_animation": "V", "tech_support": "Standard priority"}, "content": {"style": "V", "music": "V"}}'), monthly_pricing: '', vimeo_plan_type:'', vimeo_features: [ ], }, { name: "professional", sub_title: "", desc: "Easily create powerful videos with advanced editing & professional styles", displayed_price: { before_point: "9", after_point: "99", original_price: "9.99", }, product_id: '3729270', product:{ product_id: '3729270', }, is_popular: true, is_business: true, is_annual: true, is_current: false, is_enabled: true, is_deferred:true, plan_type: "professional", features: [ {class: "", text: "<b>Everything in Premium</b>"}, {class: "", text: "<b>Includes 3+ million full-HD iStock video clips and photos</b>"}, {class: "", text: "<b>Advanced editing features</b>"}, {class: "", text: "Make videos up to 10 min. long"}, {class: "", text: "Professional editing styles"}, {class: "", text: "HD Downloads"}, {class: "", text: "Customize brand colors & fonts"}, {class: "", text: "Add your own logo and text"}, {class: "", text: "Commercially licensed music*"}, ], detailed_features:JSON.parse('{"edit": {"basic": true, "advanced": "V", "text": "V", "stock": "V"}, "distribution": {"download": true, "sharing": true, "embedding": "V", "email_marketing": "V", "email_receipient_tracking": "V", "branded_page": "", "download_to_device": "V", "social_sharing": "V", "embed_player": "V", "fb_page_sharing": "V"}, "insights": {"views": "", "engagement": "", "by_platform": "", "audience": ""}, "limits": {"duration": "10 min"}, "create": {"quality": "HD", "smart_editor": "V", "layout": "V", "designed_text_animation": "V", "com_music": "V", "stock_footage": "V", "tech_support": "High priority"}, "advanced": {"preset_scene": "V", "preset_colors": "V", "preset_fonts": "V", "logo": "V"}, "content": {"style": "V", "templates": "V", "music": "V"}, "vimeo": {"subscription": "Vimeo Pro"}}'), monthly_pricing: '20', vimeo_plan_type:'pro', vimeo_features: [ {class: "", text: "Cloud storage (up to 1 TB/year)"}, {class: "", text: "Embeddable player and playlists"}, {class: "", text: "Customizable video sites"}, {class: "", text: "Social sharing with analytics"}, {class: "", text: "Password protected secure links"}, {class: "", text: "Time-coded notes in the player"}, ], }, { name: "business", sub_title: "", desc: "Branded engaging videos,聽perfect for businesses, marketing pros & agencies", displayed_price: { before_point: "34", after_point: "99", }, product_id: '3419010', product:{ product_id: '3419010', }, is_popular: false, is_business: true, is_annual: true, is_current: false, is_enabled: true, is_deferred:true, plan_type: "marketers", features: [ {class: "", text: "<b>Everything in Professional</b>"}, {class: "", text: "<b>Includes 3+ million full-HD pro stock video clips and 25 million photos</b>"}, {class: "", text: "Make videos up to 10 min. long"}, {class: "", text: "HD downloads"}, {class: "", text: "Customize brand colors & fonts"}, {class: "", text: "Easily export to Facebook Ads Manager"}, {class: "", text: "Email marketing tools"}, {class: "", text: "Embed videos on any website"}, {class: "", text: "Video analytics"}, {class: "", text: "Priority customer support"}, ], detailed_features:JSON.parse('{"edit": {"basic": true, "advanced": "V", "text": "V", "stock": "V"}, "distribution": {"download": true, "sharing": true, "embedding": "V", "email_marketing": "V", "email_receipient_tracking": "V", "branded_page": "V", "download_to_device": "V", "social_sharing": "V", "embed_player": "V", "email_tools": "V", "fb_page_sharing": "V", "fb_ad_manager": "V", "third_parties": "V"}, "insights": {"views": "V", "engagement": "V", "by_platform": "V", "audience": "V"}, "limits": {"duration": "10 min"}, "create": {"quality": "HD", "smart_editor": "V", "layout": "V", "designed_text_animation": "V", "com_music": "V", "stock_footage": "V", "tech_support": "VIP"}, "advanced": {"preset_scene": "V", "preset_colors": "V", "preset_fonts": "V", "logo": "V"}, "content": {"style": "V", "templates": "V", "music": "V"}, "vimeo": {"subscription": "Vimeo Business"}}'), monthly_pricing: '50', vimeo_plan_type:'business', vimeo_features: [ {class: "", text: "Everything in Pro"}, {class: "", text: "Cloud storage (5 TB total)"}, {class: "", text: "Custom calls-to-action in the player"}, {class: "", text: "Marketing tools and integrations"}, {class: "", text: "Google Analytics sync"}, ], }, { name: "premium", sub_title: "", desc: "Create video stories perfect for sharing with family & friends", displayed_price: { before_point: "9", after_point: "99", }, product_id: '3258409', product:{ product_id: '3258409', }, is_popular: false, is_business: false, is_annual: false, is_current: false, is_enabled: true, is_deferred:false, plan_type: "premium", features: [ {class: "", text: "Make videos up to 10 min. long"}, {class: "", text: "Full access to Magisto's editor"}, {class: "", text: "Premium editing styles"}, {class: "", text: "Unlimited downloads"}, ], detailed_features:JSON.parse('{"edit": {"basic": true, "advanced": "V", "text": "V", "stock": ""}, "distribution": {"download": true, "sharing": true, "embedding": "", "email_marketing": "", "email_receipient_tracking": "", "branded_page": "", "download_to_device": "V", "social_sharing": "V"}, "insights": {"views": "", "engagement": "", "by_platform": "", "audience": ""}, "limits": {"duration": "10 min"}, "create": {"quality": "HD", "smart_editor": "V", "layout": "V", "designed_text_animation": "V", "tech_support": "Standard priority"}, "content": {"style": "V", "music": "V"}}'), monthly_pricing: '', vimeo_plan_type:'', vimeo_features: [ ], }, { name: "professional", sub_title: "", desc: "Easily create powerful videos with advanced editing & professional styles", displayed_price: { before_point: "19", after_point: "99", original_price: "19.99", }, product_id: '3729268', product:{ product_id: '3729268', }, is_popular: true, is_business: true, is_annual: false, is_current: false, is_enabled: true, is_deferred:true, plan_type: "professional", features: [ {class: "", text: "<b>Everything in Premium</b>"}, {class: "", text: "<b>Includes 3+ million full-HD iStock video clips and photos</b>"}, {class: "", text: "<b>Advanced editing features</b>"}, {class: "", text: "Make videos up to 10 min. long"}, {class: "", text: "Professional editing styles"}, {class: "", text: "HD Downloads"}, {class: "", text: "Customize brand colors & fonts"}, {class: "", text: "Add your own logo and text"}, {class: "", text: "Commercially licensed music*"}, ], detailed_features:JSON.parse('{"edit": {"basic": true, "advanced": "V", "text": "V", "stock": "V"}, "distribution": {"download": true, "sharing": true, "embedding": "V", "email_marketing": "V", "email_receipient_tracking": "V", "branded_page": "", "download_to_device": "V", "social_sharing": "V", "embed_player": "V", "fb_page_sharing": "V"}, "insights": {"views": "", "engagement": "", "by_platform": "", "audience": ""}, "limits": {"duration": "10 min"}, "create": {"quality": "HD", "smart_editor": "V", "layout": "V", "designed_text_animation": "V", "com_music": "V", "stock_footage": "V", "tech_support": "High priority"}, "advanced": {"preset_scene": "V", "preset_colors": "V", "preset_fonts": "V", "logo": "V"}, "content": {"style": "V", "templates": "V", "music": "V"}, "vimeo": {"subscription": "Vimeo Pro"}}'), monthly_pricing: '20', vimeo_plan_type:'pro', vimeo_features: [ {class: "", text: "Cloud storage (up to 1 TB/year)"}, {class: "", text: "Embeddable player and playlists"}, {class: "", text: "Customizable video sites"}, {class: "", text: "Social sharing with analytics"}, {class: "", text: "Password protected secure links"}, {class: "", text: "Time-coded notes in the player"}, ], }, { name: "business", sub_title: "", desc: "Branded engaging videos,聽perfect for businesses, marketing pros & agencies", displayed_price: { before_point: "69", after_point: "99", }, product_id: '3419006', product:{ product_id: '3419006', }, is_popular: false, is_business: true, is_annual: false, is_current: false, is_enabled: true, is_deferred:true, plan_type: "marketers", features: [ {class: "", text: "<b>Everything in Professional</b>"}, {class: "", text: "<b>Includes 3+ million full-HD pro stock video clips and 25 million photos</b>"}, {class: "", text: "Make videos up to 10 min. long"}, {class: "", text: "HD downloads"}, {class: "", text: "Customize brand colors & fonts"}, {class: "", text: "Easily export to Facebook Ads Manager"}, {class: "", text: "Email marketing tools"}, {class: "", text: "Embed videos on any website"}, {class: "", text: "Video analytics"}, {class: "", text: "Priority customer support"}, ], detailed_features:JSON.parse('{"edit": {"basic": true, "advanced": "V", "text": "V", "stock": "V"}, "distribution": {"download": true, "sharing": true, "embedding": "V", "email_marketing": "V", "email_receipient_tracking": "V", "branded_page": "V", "download_to_device": "V", "social_sharing": "V", "embed_player": "V", "email_tools": "V", "fb_page_sharing": "V", "fb_ad_manager": "V", "third_parties": "V"}, "insights": {"views": "V", "engagement": "V", "by_platform": "V", "audience": "V"}, "limits": {"duration": "10 min"}, "create": {"quality": "HD", "smart_editor": "V", "layout": "V", "designed_text_animation": "V", "com_music": "V", "stock_footage": "V", "tech_support": "VIP"}, "advanced": {"preset_scene": "V", "preset_colors": "V", "preset_fonts": "V", "logo": "V"}, "content": {"style": "V", "templates": "V", "music": "V"}, "vimeo": {"subscription": "Vimeo Business"}}'), monthly_pricing: '50', vimeo_plan_type:'business', vimeo_features: [ {class: "", text: "Everything in Pro"}, {class: "", text: "Cloud storage (5 TB total)"}, {class: "", text: "Custom calls-to-action in the player"}, {class: "", text: "Marketing tools and integrations"}, {class: "", text: "Google Analytics sync"}, ], }, ] } </script> <script type="text/javascript" src="//web.archive.org/web/20211217083631js_/https://d1ekrxlws13em5.cloudfront.net/media/cached/js/ada8965565d6.js"></script> <link rel="preload" as="font" href="/web/20211217083631/https://www.magisto.com/media/new/components/flow-player/7.2.6/skin/icons/magisto_player.ttf?ns2aoq" crossorigin="anonymous"/> <script type="text/javascript" src="//web.archive.org/web/20211217083631js_/https://d1ekrxlws13em5.cloudfront.net/media/cached/js/bcfc64113f7b.js"></script> <!-- Google Tag Manager --> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://web.archive.org/web/20211217083631/https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-T4P8MR3'); </script> <!-- End Google Tag Manager --> </head> <body ng-cloak class="magisto_app gray_bg no_resize no_sticky_header" ng-app="magisto"> <a id="page_top" name="page_top" href="javascript:void(0)"></a> <div id="fb-root"></div> <!--[if lt IE 8]> <p class="browserupgrade">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</p> <![endif]--> <header id="main_nav" class="mgsto_n_ws "> <div class="mobile_overflow" onclick="hideHamburgerMenu()"></div> <div class="top_nav_placeholder "></div> <nav class="topnav original animate"> <div class="all_wrap "> <div class="hamburger_wrap"> <a id="hamburger_icon" onclick="toggleHamburgerMenu()" class="icon animate" href="javascript:void(0);"><span></span><span></span><span></span><span></span></a> </div> <div class="magisto_logo "> <a href="/web/20211217083631/https://www.magisto.com/" class="animate" onclick="track_tableau_event('press','header','logo','magisto');"> <img src="/web/20211217083631im_/https://www.magisto.com/media/new/img/logo_magisto.png" srcset="/web/20211217083631im_/https://www.magisto.com/media/new/img/logo_magisto_d@2x.png 2x, /web/20211217083631im_/https://www.magisto.com/media/new/img/logo_magisto.png 1x"/> <img class="vimeo_magisto_logo hidden_logo" src="https://web.archive.org/web/20211217083631im_/https://d1ekrxlws13em5.cloudfront.net/media/new/img/logo_magisto_by_vimeo.png" srcset="https://web.archive.org/web/20211217083631im_/https://d1ekrxlws13em5.cloudfront.net/media/new/img/logo_magisto_by_vimeo@2x.png 2x, https://web.archive.org/web/20211217083631im_/https://d1ekrxlws13em5.cloudfront.net/media/new/img/logo_magisto_by_vimeo.png 1x"/> </a> </div> <ul class="top_menu hidden_top_menu"> <li class="first_line only_mobile"> <a href="/web/20211217083631/https://www.magisto.com/connect?business&signup&next=%2Fbusiness%2Fpurchase%3Fvia%3Dget_started_main_cta%26prev_path%3D%2Fpricing&via=get_started_main_cta&prev_path=/pricing" onclick="track_tableau_event('press','header','open create flow','get started'); button_link_track(event,'get_started_main_cta','/pricing', '/connect')"><button id="create_btn" class="btn turq btn_create_movie small">Get started</button></a> </li> <li class="nav_features "> <a href="/web/20211217083631/https://www.magisto.com/templates?prev_path=/pricing&via=top_menu" onclick="track_tableau_event('press','header','templates','templates'); track_event('Website Header','Templates','');"> Templates</a></li> <li class="nav_business dropdown_container " onmouseleave="hideDropdownMenu();"> <a id="business_navitem" href="/web/20211217083631/https://www.magisto.com/business-video?prev_path=/pricing&via=top_menu" onclick="track_tableau_event('press','header','business','business'); track_event('Website Header','Business','');" onmouseenter="showDropdownMenu(this);"> What you can do <span class="nav_dropdown_icon" onclick="showHideDropdownMenuMobileMenu(this);"></span> </a> <div class="dropdown_box dropdown_box_scroll"> <ul> <li><a href="/web/20211217083631/https://www.magisto.com/video-maker?prev_path=/pricing&via=top_menu" onclick="track_tableau_event('press','header','consumer','personal'); track_event('Website Header','Personal','');"><div>Video Maker</div></a></li> <li><a href="/web/20211217083631/https://www.magisto.com/real-estate-videos?via=business_top_menu&prev_path=/pricing" onclick="track_event('User Menu','Real Estate','');"><div>Real Estate</div></a></li> <li><a href="/web/20211217083631/https://www.magisto.com/fitness-video?via=business_top_menu&prev_path=/pricing" onclick="track_event('User Menu','Fitness','');"><div>Fitness</div></a></li> <li><a href="/web/20211217083631/https://www.magisto.com/marketing/cooking-video-maker?via=business_top_menu&prev_path=/pricing" onclick="track_event('User Menu','cooking video maker','');"><div>Cooking</div></a></li> <li><a href="/web/20211217083631/https://www.magisto.com/photography?via=business_top_menu&prev_path=/pricing" onclick="track_event('User Menu','Photographers','');"><div>Photographers</div></a></li> <li><a href="/web/20211217083631/https://www.magisto.com/marketing/youtube-video-maker?via=business_top_menu&prev_path=/pricing" onclick="track_event('User Menu','youtube video maker','');"><div>YouTube Ads</div></a></li> <li><a href="/web/20211217083631/https://www.magisto.com/marketing/video-ads-maker?via=business_top_menu&prev_path=/pricing" onclick="track_event('User Menu','video ads','');"><div>Video Ads</div></a></li> <li><a href="/web/20211217083631/https://www.magisto.com/marketing/promo-video-maker?via=business_top_menu&prev_path=/pricing" onclick="track_event('User Menu','promo video maker','');"><div>Promo</div></a></li> <li><a href="/web/20211217083631/https://www.magisto.com/marketing/facebook-video-ads-maker?via=business_top_menu&prev_path=/pricing" onclick="track_event('User Menu','facebook video ads maker','');"><div>Facebook Ads</div></a></li> <li><a href="/web/20211217083631/https://www.magisto.com/marketing/instagram-video-maker?via=business_top_menu&prev_path=/pricing" onclick="track_event('User Menu','Instagram video maker','');"><div>Instagram</div></a></li> <li><a href="/web/20211217083631/https://www.magisto.com/marketing/marketing-video-maker?via=business_top_menu&prev_path=/pricing" onclick="track_event('User Menu','marketing video maker','');"><div>Marketing</div></a></li> <li><a href="/web/20211217083631/https://www.magisto.com/marketing/social-media-video-maker?via=business_top_menu&prev_path=/pricing" onclick="track_event('User Menu','social media video maker','');"><div>Social Media</div></a></li> <li><a href="/web/20211217083631/https://www.magisto.com/marketing/video-slideshow-maker?via=business_top_menu&prev_path=/pricing" onclick="track_event('User Menu','video slideshow maker','');"><div>Video Slideshow</div></a></li> <li><a href="/web/20211217083631/https://www.magisto.com/marketing/wedding-video-maker?via=business_top_menu&prev_path=/pricing" onclick="track_event('User Menu','wedding video maker','');"><div>Wedding</div></a></li> <li><a href="/web/20211217083631/https://www.magisto.com/marketing/birthday-video-maker?via=business_top_menu&prev_path=/pricing" onclick="track_event('User Menu','birthday video maker','');"><div>Birthday</div></a></li> </ul> </div> </li> <li> <a href="//web.archive.org/web/20211217083631/https://www.magisto.com/blog/?prev_path=/pricing&via=header" target="_blank" onclick="track_tableau_event('press','header','consumer','blog');"> Blog</a></li> <!--li class=""> <a href="/features?prev_path=/pricing" onclick="track_event('Website Header','Industries','');"> Industries</a></li--> <li class="nav_solutions "> <a href="/web/20211217083631/https://www.magisto.com/promotional-video?prev_path=/pricing&via=top_menu" onclick="track_tableau_event('press','header','solutions','solutions'); track_event('Website Header','Solutions','');"> Solutions</a></li> <li class="nav_explore "> <a href="/web/20211217083631/https://www.magisto.com/explore?prev_path=/pricing&via=top_menu" onclick="track_tableau_event('press','header','inspiration','explore'); track_event('Website Header','Explore','');"> Explore</a></li> <li class="nav_pricing active "> <a href="/web/20211217083631/https://www.magisto.com/pricing?prev_path=/pricing&via=top_menu" onclick="track_tableau_event('press','header','pricing','pricing'); track_event('Website Header','Upgrade','');"> Pricing</a></li> <li class="only_mobile"> <a href="/web/20211217083631/https://www.magisto.com/connect?login&next=/pricing&via=mobile_tm_login&prev_path=/pricing" onclick="button_track(event, {evnt: 'press_button', type: 'mobile_tm_login' , destination_path: '/connect'});hideHamburgerMenu();"> Login </a> </li> <div class="clear"></div> </ul> <div class="user_box"> <div class="side_wrap login only_big"> <a href="/web/20211217083631/https://www.magisto.com/connect?login&next=/&via=tm_login&prev_path=/pricing" onclick="track_tableau_event('press','header','open sign in popup','sign in'); "> <button class="btn trans dark">Sign In</button> </a> </div> <div class="side_wrap create"> <a href="/web/20211217083631/https://www.magisto.com/connect?business&signup&next=%2Fbusiness%2Fpurchase%3Fvia%3Dget_started_main_cta%26prev_path%3D%2Fpricing&via=get_started_main_cta&prev_path=/pricing" onclick="track_tableau_event('press','header','open create flow','get started'); button_link_track(event,'get_started_main_cta','/pricing', '/connect')"><button id="create_btn" class="btn turq btn_create_movie ">Get started</button></a> </div> </div> </div> </nav> </header> <script>$("body").addClass('has-cookies-consent-bar')</script> <div class="notification_bar mgsto_n_ws cookies_consent"> <script> var addCookiesConsent = function(){ if(!!globals.got_cookies_consent) return; var cookie_name = 'cookies_consent'; var next = window.location.href; var now = new Date(); var time = now.getTime(); time += 3600 * 1000 * 24 * 365 * 3; now.setTime(time); set_cookie(cookie_name,1, now.toUTCString() ); globals.got_cookies_consent = true; cookies_bar_close(); try { flush_page_events(); } catch(err){} } var cookies_bar_close = function() { //$('.notification_bar').slideUp(); $('.notification_bar.cookies_consent').removeClass('open'); $('.notification_bar.cookies_consent').hide(); $('body').removeClass('has-cookies-consent-bar') }; </script> <div class="section_content notification_content pt-xxs pb-xxs"> <div class="relative"> <div class="cookies_consent_action text-center dark_text" onclick="$('.cookies_consent_section').addClass('open'); $(this).hide();$('body').removeClass('has-cookies-consent-bar')"> This site uses cookies <a href="javascript.void(0);" onclick="event.preventDefault();$('.cookies_consent_section').addClass('open'); $(this).hide();$('body').removeClass('has-cookies-consent-bar')">Learn more</a> </div> <div class="cookies_consent_section"> <div class=" text-left no-m dark_text smaller_text "> We use cookies on this website. To find out more about cookies used on this website and your choices <a href="/web/20211217083631/https://www.magisto.com/cookies" target="_blank">Go here</a>. <span class="inline-block mr-sm"></span> </div> <a class="cookies_accept only_big " href="javascript:void(0)" onclick="addCookiesConsent()"> <button class="btn trans light pl-xxxs pr-xxxs medium">Accept</button> </a> <div class="only_mobile text-right mt-xxxs"> <a class="cookies_accept text-right" href="javascript:void(0)" onclick="addCookiesConsent()"> <button class="btn trans light pl-xxxs pr-xxxs medium">Accept</button> </a> </div> </div> </div> </div> </div> <div class="main_content_wrap_box " ng-controller="pricingController"> <div id="magisto_body" class=""> <!-- MAIN PRICING DISPLAY --> <section class=" static_size pricing_section ng-cloak"> <div class="section_content"> <!-- LEGACY NOTIFICATION DISPLAY --> <section class="section_notification" ng-cloak ng-if="section_notification"> <div class="section_content"> <div class="content_box"> <div> <div class="title">[[section_notification.title]]</div> <div class="content" ng-bind-html="section_notification.description">[[section_notification.description]]</div> </div> </div> </div> </section> <h1 class="maintitle section_title"> Select the right plan for you <span class="light-purple pointer smaller-text right" ng-click="scrollTo('plans_compare',10)" ng-if="!show_later_button">Compare plans</span> <a ng-click="track_tableau_event();openCreatePopup();" ng-if="show_later_button"> <span class="light-purple pointer smaller-text right">Later</span> </a> <span class="clear"></span> </h1> <ul class="monthly_yearly radio_wrap mt-sm mb-xxs smaller-text" ng-cloak> <span>Monthly</span> <input class="toggle" ng-model="pricing_form.plan_type" ng-true-value="'monthly'" ng-false-value="'yearly'" class="m-xsdisplay-inline" type="checkbox" value="yearly" checked="false" id="monthly_yearly"><label for="monthly_yearly"></label> <span>Yearly</span> <img src="https://web.archive.org/web/20211217083631im_/https://d1ekrxlws13em5.cloudfront.net/media/new/img/save50.png" srcset="https://web.archive.org/web/20211217083631im_/https://d1ekrxlws13em5.cloudfront.net/media/new/img/save50@2x.png 2x, https://web.archive.org/web/20211217083631im_/https://d1ekrxlws13em5.cloudfront.net/media/new/img/save50.png 1x"/> <li class="clear"></li> </ul> <div class="plan_blocks_wrap flex_container only_[[plans.length]]" ng-class="{has_popular:hasPopularProduct}" ng-cloak> <div class="plan_block flexi_block mt-xxxs" ng-repeat="p in plans | reverse track by ($index+'_'+pricing_form.plan_type+'_1')"> <div class="is_popular text-center" ng-if="!!p.is_popular && (!isBlackFridayID(p.product_id))">Best value</div> <!--div class=" text-center" ng-if="p.is_current">Current plan</div--> <div class="is_popular_ph text-center" ng-if="!p.is_popular && !!hasPopularProduct"></div> <div class="plan_content ng-cloak"> <h3 class="bold">[[p.name]]</h3> <p class="mt-xxs mb-xxs desc" ng-bind-html="p.desc"></p> <div class="mt-xxxs price_wrap pl-xxxs relative"><span class="perc">$</span>[[p.displayed_price.before_point]]<span class="top_cents" ng-if="p.displayed_price.after_point">[[p.displayed_price.after_point]]</span><span class="per_month"> / month</span></div> <div class=" mb-sm annual_text " ng-if="p.is_annual">with annual plan</div> <div class="istock_banner" ng-if="!!p.detailed_features.edit.stock"> <img src="/web/20211217083631im_/https://www.magisto.com/media/new/img/banners/istock_banner.svg" width="170"/> </div> <!----> <div class="mt-sm mb-sm buy_now_wrap"> <!----> <div ng-if="p.is_current" class="button button-transparent currentplan" onclick="return false;"> <button ng-disabled="p.is_current" class="btn full_width small_pad white">Current plan</button> </div> <!----> <div ng-if="p.is_enabled" ng-click="click_buy($event, p.product_id, p.plan_type, (p.is_business?true:false), (p.is_deferred?true:false))" data-pdeferred="[[p.is_deferred]]" data-pbusiness="[[p.is_business]]" data-ptype="[[p.plan_type]]" data-cid="[[p.product_id]]"> <!----> <div ng-if="p.is_enabled && !p.is_current && buy_mode !== 'buy'"> <button class="btn full_width small_pad" ng-class="{'popular':!!p.is_popular, 'turq': p.is_popular||p.is_highlighted, 'white': !p.is_popular&&!p.is_highlighted }" ng-if="buy_mode == 'change_plan'">Change plan</button> <button class="btn full_width small_pad" ng-class="{'popular':!!p.is_popular, 'turq': p.is_popular||p.is_highlighted, 'white': !p.is_popular&&!p.is_highlighted }" ng-if="buy_mode == 'upgrade'">Upgrade now</button> </div> <!----> <div ng-if="p.is_enabled && !p.is_current && buy_mode !== 'upgrade' && buy_mode !== 'change_plan'"> <!----> <button class="btn full_width small_pad" ng-class="{'popular':!!p.is_popular, 'turq': p.is_popular||p.is_highlighted, 'white': !p.is_popular&&!p.is_highlighted }" ng-if="p.is_deferred">Start free trial</button> <!----> <button class="btn full_width small_pad" ng-class="{'popular':!!p.is_popular, 'turq': p.is_popular||p.is_highlighted, 'white': !p.is_popular&&!p.is_highlighted }" ng-if="!p.is_deferred">Buy now</button> </div> </div> </div> <!----> <div class="mt-xxs mb-xxs vimeo_desc" ng-if="p.name == 'professional'"> <p>Includes a <b>Vimeo Pro</b> plan</p> <span>for free ($[[p.monthly_pricing]] monthly value)</span> </div> <div class="mt-xxs mb-xxs vimeo_desc" ng-if="p.name == 'business'"> <p>Includes a <b>Vimeo Business</b> plan</p> <span>for free ($[[p.monthly_pricing]] monthly value)</span> </div> <div class="mt-xxs mb-xxs desc premium_desc" ng-if="p.name == 'premium' || p.name == 'plus'"><br/></div> </div> <div class="gray_features_wrap"> <ul class="features_list"> <li class="relative" ng-repeat="feature in p.features|limitTo:30"> <i class="gen_icon checkmark small inline-block"></i> <span ng-bind-html="feature.text"></span> </li> </ul> <br/> <div class="vimeo_features_title" ng-if="p.vimeo_plan_type == 'pro' "><span>Vimeo Pro includes</span></div> <div class="vimeo_features_title" ng-if="p.vimeo_plan_type == 'business' "><span>Vimeo Business includes</span></div> <br/> <ul class="features_list"> <li class="relative" ng-repeat="feature in p.vimeo_features"> <i class="gen_icon checkmark small inline-block"></i> <span ng-bind-html="feature.text"></span> </li> </ul> </div> <div class="btm_tos" ng-if="$index==plans.length-1">Subject to our <a href="/web/20211217083631/https://www.magisto.com/tos" target="_blank">Terms of Service</a></div> </div> </div> </div> </section> <magisto-quote quote="Magisto video editor & maker can help you create a video in just a few minutes." author="PC Magazine" quote-style="purple" stars="5" bottom-padding="pb-xl"></magisto-quote> <!----> <a name="plans_compare" id="plans_compare"></a> <!----> <div> <!-- --> <section class="static_size features_section white_bg relative only_big top_index animate sticky_element" ng-cloak sticky style="width:auto; z-index:999; " sticky-width="100%" stick-limit="true" unsticky-class="container--unsticky" offset="0" sticky-class="sticky_state" bottom-class="cantGoAnyFurther" media-query="min-width: 960px" stick-limit="true" body-class="something_sticky"> <div class="grey_top_placeholder" ng-if="!!hasPopularProduct"></div> <div class="section_content relative"> <div class="features_plan_line"> <div class="row flex_container white_bg section_content "> <div class="flexi_block"> <h2 class="mb-xxxs pt-sm ">What do you get with your subscription?</h2> </div> <div class="flexi_block flex_container flex_2 "> <div class="flexi_block plan_title pl-xxxs pr-xxxs text-center pt-sm relative" ng-repeat="i in getBlankColumns() track by $index"></div> <div class="flexi_block plan_title pl-xxxs pr-xxxs text-center pt-sm relative" ng-repeat="p in plans track by ($index+'_'+pricing_form.plan_type+'_2')" ng-class="{'selected': !!p.is_popular}"> <span ng-if="!!p.is_popular">Most popular</span> <h3 class="text-center bold">[[p.name]]</h3> <div class="mt-sm buy_now_wrap mb-xxxs"> <div ng-if="p.is_current" class="button button-transparent currentplan" onclick="return false;"> <button ng-disabled="p.is_current" class="btn full_width small_pad" ng-class="{'turq': !!p.is_popular, 'trans dark': !p.is_popular }"> Current plan </button> </div> <div ng-if="p.is_enabled" class="button" ng-click="click_buy($event, p.product_id, p.plan_type, (p.is_business?true:false), (p.is_deferred?true:false))" data-pdeferred="[[p.is_deferred]]" data-pbusiness="[[p.is_business]]" data-ptype="[[p.plan_type]]" data-cid="[[p.product_id]]"> <div ng-if="p.is_enabled && !p.is_current && buy_mode !== 'buy'"> <button class="btn full_width white small_pad" ng-if="buy_mode == 'change_plan'">Change plan</button> <button class="btn full_width white small_pad" ng-if="buy_mode == 'upgrade'">Upgrade now</button> </div> <div ng-if="p.is_enabled && !p.is_current && buy_mode !== 'upgrade' && buy_mode !== 'change_plan'"> <button class="btn full_width white small_pad" ng-if="p.is_deferred">Start trial</button> <button class="btn full_width trans dark small_pad" ng-if="!p.is_deferred">Buy now</button> </div> </div> </div> </div> </div> </div> </div> </div> </section> <!-- --> <section class="static_size pb-lg features_section white_bg relative only_big" ng-cloak> <div class="section_content relative " id="features_wrap"> <div class="" ng-repeat="(line_key,featureLine) in featuresList track by $index"> <div class="row" ng-class="{'mt-md': $index > 0,'pt-md': $index == 0}"> <h4 class="larger turq"> [[featureLine.title]] <div class="tooltip_q_m relative" ng-if="featureLine.description"> <span class="tooltip_content relative"><div ng-bind-html="featureLine.description"></div></span> </div> </h4> </div> <ul class="features_list"> <li class="feature_line" ng-repeat="(feature_key,feature) in featureLine.lines track by $index"> <div class="row flex_container"> <div class="flexi_block"> [[feature.title]] <div class="tooltip_q_m relative" ng-if="feature.description"> <span class="tooltip_content relative"><div ng-bind-html="feature.description"></div></span> </div> </div> <div class="flexi_block flex_container flex_2"> <div class="flexi_block text-center" ng-repeat="i in getBlankColumns() track by $index"></div> <div class="flexi_block text-center " ng-repeat="p in plans track by ($index+'_'+pricing_form.plan_type+'_3')" ng-init="product_feature_line = p.detailed_features[line_key]"> <div class="feature_cell" ng-init="product_feature = product_feature_line[feature_key]"> <span ng-if="!product_feature || product_feature==false">-</span> <span class="gen_icon checkmark" ng-if="!!product_feature && (product_feature=='V' || product_feature=='true' || product_feature==true)"></span> <span ng-if="!!product_feature && product_feature!=='V' && product_feature!==true && product_feature!=='true'">[[product_feature]]</span> </div> </div> </div> </div> </li> </ul> <div class="comment" ng-if="featureLine.comment"> <span ng-bind-html="featureLine.comment"></span> </div> </div> </div> </section> </div> <!----> <div> <div class="relative section_content only_mobile"> <h2 class="mb-md mt-xxxs">What do you get with your subscription?</h2> </div> <!-- --> <section class="static_size features_section white_bg top_index relative only_mobile animate sticky_element" ng-cloak sticky sticky-width="100%" offset="0" sticky-class="sticky_state" bottom-class="cantGoAnyFurther" body-class="something_sticky" media-query="max-width: 960px" stick-limit="true"> <div class="section_content " id="connect_wrap"> <div class="features_plan_line "> <div class="row flex_container white_bg section_content "> <div class="flexi_block"></div> <div class="flexi_block flex_container flex_2"> <div class="flexi_block plan_title text-center pt-sm relative" ng-repeat="i in getBlankColumns() track by $index"></div> <div class="flexi_block plan_title flex_container pl-xxs pr-xxs text-center pt-sm relative" ng-repeat="p in plans track by ($index+'_'+pricing_form.plan_type+'_5')" ng-class="{'selected': !!p.is_popular}"> <div class="container"><div class="rotated_div container"> <h3 class="text-left pl-xxs bold">[[p.name]]</h3> </div></div> </div> </div> </div> </div> </div> </section> <!-- --> <section class="static_size pb-lg features_section white_bg relative only_mobile" ng-cloak> <div class="section_content" id="connect_wrap"> <ul class="features_list"> <div class="" ng-repeat="(line_key,featureLine) in featuresList track by $index" ng-class="{'first_item':$index==0}" ng-if="!!featureLine.on_mobile"> <li class="feature_line" ng-repeat="(feature_key,feature) in featureLine.lines track by $index" ng-if="!!feature.on_mobile"> <div class="row flex_container"> <div class="flexi_block">[[feature.title]]</div> <div class="flexi_block flex_container flex_2"> <div class="flexi_block text-center" ng-repeat="i in getBlankColumns() track by $index"></div> <div class="flexi_block text-center" ng-repeat="p in plans track by ($index+'_'+pricing_form.plan_type+'_6')" ng-init="product_feature_line = p.detailed_features[line_key]"> <div class="feature_cell" ng-init="product_feature = product_feature_line[feature_key]"> <span ng-if="!product_feature || product_feature==false">-</span> <span class="gen_icon checkmark" ng-if="!!product_feature && (product_feature=='V' || product_feature=='true' || product_feature==true)"></span> <span ng-if="!!product_feature && product_feature!=='V' && product_feature!==true && product_feature!=='true'">[[product_feature]]</span> </div> </div> </div> </div> </li> </div> <span ng-repeat="(line_key,featureLine) in featuresList track by $index" ng-if="!!featureLine.on_mobile"> <div class="comment" ng-if="featureLine.comment"> <span ng-bind-html="featureLine.comment"></span> </div> </span> </ul> </div> </section> </div> <!----> <!----> <section class="static_size pb-xl pt-lg features_section faq_section white_bg relative " ng-cloak> <div class="section_content" id="connect_wrap"> <div class="row flex_container"> <div class="flexi_block"> <h2 class="section_title mb-lg ">Frequently Asked Questions</h2> </div> </div> <div class="row flex_container"> <div class=" faq_item mb-md" ng-repeat="faq in faq_list track by $index" ng-class="{'only_big':(!faq.on_mobile || faq.on_mobile==false)}"> <h3 class="mb-xxxs bold"><b>[[faq.title]]</b></h3> <p class="" ng-bind-html="faq.content"></p> </div> </div> </div> </section> <!----> <!-- CHANGE PLAN POPUP --> <script type="text/ng-template" id="#change_plan_popup"> <div id="change_plan_popup" class="general_popup" data-block="[[popup.block]]"> <div ng-hide="plan_info.block" class="mobile_x popup_close"></div> <div class="section" ng-hide="plan_info.success && plan_info.is_deffered"> <div class="h1 bold">[[plan_info.main_title||"Change your plan"]]</div> <div class="h2 mt-xxs" ng-if="plan_info.sub_title && !plan_info.success" ng-bind-html="plan_info.sub_title">[[plan_info.sub_title]]</div> <div class="h2 mt-xxs" ng-hide="plan_info.sub_title || plan_info.success || plan_info.is_crossgrade">You are changing <span ng-if="plan_info.plan_from"> from the [[plan_info.plan_from|plan_name_replace|capitalize]]</span> to [[plan_info.plan_to|plan_name_replace|capitalize]] plan.</div> <div class="h2 mt-xxs" ng-hide="plan_info.sub_title || plan_info.success || !plan_info.is_crossgrade"> <span ng-if="plan_info.crossgrade_info">You are changing your [[plan_info.plan_to|plan_name_replace|capitalize]] plan from [[plan_info.crossgrade_info.from]] to [[plan_info.crossgrade_info.to]] billing.</span> <span ng-if="!plan_info.crossgrade_info">You are changing your [[plan_info.plan_to|plan_name_replace|capitalize]] plan billing.</span> </div> <div class="body"> <div class="p mt-xxs" ng-if="plan_info.sub_text" ng-bind-html="plan_info.sub_text">[[plan_info.sub_text]]</div> <div class="loading_wrapper " ng-show="plan_info.loading"> <div class="dontclose" ng-show="plan_info.loading!='init'">Please do not leave this window or close this tab.</div> <div class="loading icon mb-lg mt-lg"></div> </div> <div class="form_wrapper" ng-hide="plan_info.loading" > <div class="global_error" ng-show="plan_info.error"> <div class="error_title" >[[plan_info.error.title?plan_info.error.title: "We were unable to change your plan"]]</div> <div class="error_msg" ng-bind-html="plan_info.error.msg">[[plan_info.error.msg]]</div> </div> <div class="success" ng-show="plan_info.success"> <div ng-hide="plan_info.is_downgrade||plan_info.is_crossgrade"> <div class=" text-center"> <div class="success_msg" ng-show="plan_info.success_bullets">Discover our [[plan_info.plan_to|plan_name_replace|capitalize]] features:</div> <ul class="success_bullets" ng-show="plan_info.success_bullets"> <li ng-repeat="success_bullet in plan_info.success_bullets"><div class="i"></div><span>[[success_bullet]]<span></li> </ul> </div> </div> </div> <div class="form" ng-hide="plan_info.error||plan_info.success" > <!--<div class="h3">Your purchase</div>--> <div class="plan_table" > <div class="price plan_row"> <div class="l plan_col">[[plan_info.plan_to|plan_name_replace|capitalize]] <span ng-if="(plan_info.charge_now||plan_info.is_crossgrade) && plan_info.description">- [[plan_info.description]]</span></div> <div class="r plan_col">[[plan_info.currency_symbol]][[plan_info.price]]<span ng-show="plan_info.currency_txt" class="curr_txt">[[plan_info.currency_txt]]</span></div> </div> <div class="prorate plan_row" ng-if="plan_info.prorate"> <div class="l plan_col">Prorated discount</div> <div class="r plan_col">[[plan_info.currency_symbol]][[plan_info.prorate]]<span ng-show="plan_info.currency_txt" class="curr_txt">[[plan_info.currency_txt]]</span></div> </div> <div class="total plan_row"> <div class="l plan_col"> <span class="ttotal">Total</span><br class="only_mobile" /> <span ng-if="plan_info.charge_now"> (billed today)</span> <span class="only_big nowrap" ng-if="plan_info.renew_date&&!plan_info.charge_now"> (not billed until [[plan_info.renew_date]])</span> <span class="only_big nowrap" ng-if="!plan_info.renew_date&&!plan_info.charge_now"> (billed on your next cycle)</span> </div> <div class="r plan_col"> <span class="bignum number">[[plan_info.currency_symbol]][[plan_info.total_before_point]]</span> <span class="bignum after_point" ng-if="plan_info.total_after_point">[[plan_info.total_after_point]]</span> <span class="bignum" ng-show="plan_info.currency_txt">[[plan_info.currency_txt]]</span> <span class="smallnum">[[plan_info.currency_symbol]][[plan_info.total]]</span><span ng-show="plan_info.currency_txt" class="smallnum curr_txt">[[plan_info.currency_txt]]</span> </div> </div> </div> <span class="txt_line only_mobile nowrap" ng-if="plan_info.renew_date&&!plan_info.charge_now"> (not billed until [[plan_info.renew_date]])</span> <span class="txt_line only_mobile nowrap" ng-if="!plan_info.renew_date&&!plan_info.charge_now"> (billed on your next cycle)</span> <div class="consent"> <div class="form-group inline"> <input type="checkbox" id="store_card" ng-model="plan_info.consent_card"/> <label for="store_card">Use my credit card ending with ***[[plan_info.card_end]] (<a href="" ng-click="click_change_cc()">change card</a>)<br />and securely store it for future orders.</label> </div> <div class="form-group inline"> <input type="checkbox" id="terms" ng-model="plan_info.consent_terms"/> <label for="terms">I agree to the <a href="/tos" target="_blank">terms and conditions</a>.</label> </div> <div class="consent_error" ng-show="plan_info.consent_error">[[plan_info.consent_error]]</div> </div> </div> </div> </div> <div class="btns" ng-show="plan_info.success" > <div ng-hide="plan_info.is_downgrade||plan_info.is_crossgrade"> <button class="btn turq" ng-click="success_continue()">Get started</button> </div> <div ng-show="plan_info.is_downgrade||plan_info.is_crossgrade"> <button class="btn turq" ng-click="success_continue()">OK</button> </div> </div> <div class="btns" ng-hide="plan_info.loading || plan_info.success"> <div class="" ng-hide="plan_info.error"> <form ng-submit="do_change_plan()"> <input type="hidden" id="csrfmiddlewaretoken" name="csrfmiddlewaretoken" value="shjwi1KxZAuFOd2GE53ZuWEhI1ZnoCAm" /> All transactions are secure and encrypted <button type="submit" class="btn turq" ng-click="" style="margin-left:30px;">Change plan</button> </form> </div> <div class="" ng-show="plan_info.error"> <button class="btn turq" ng-if="plan_info.error.retry" ng-click="plan_info.error.retry()">Retry</button> <button class="btn turq popup_close" ng-if="!plan_info.error.retry">OK</button> </div> </div> </div> </div> </script> <!-- ONE TIME PURCHASE POPUP --> <script type="text/ng-template" id="#one_time_purchase_popup" data-block="[[popup.block]]"> <div id="one_time_purchase_popup" class="general_popup"> <div class="section" ng-hide="one_time_purchase_info.success"> <div class="h1 bold">[[one_time_purchase_info.main_title]]</div> <div class="body"> <div class="p mt-xxs" ng-if="one_time_purchase_info.sub_text" ng-bind-html="one_time_purchase_info.sub_text">[[one_time_purchase_info.sub_text]]</div> <div class="loading_wrapper " ng-show="one_time_purchase_info.loading"> <div class="dontclose" ng-show="one_time_purchase_info.loading">Please do not leave this window or close this tab.</div> <div class="loading icon mb-lg mt-lg"></div> </div> <div class="form_wrapper" ng-hide="one_time_purchase_info.loading" > <div class="global_error" ng-show="one_time_purchase_info.error"> <div class="error_title" >[[one_time_purchase_info.error.title]]</div> <div class="error_msg" ng-bind-html="one_time_purchase_info.error.msg">[[one_time_purchase_info.error.msg]]</div> </div> </div> </div> </div> </div> </script> <change-plan-popup></change-plan-popup> <sales-contact-us></sales-contact-us> <one-time-purchase-popup></one-time-purchase-popup> <credits-added-popup></credits-added-popup> </div> </div> <footer class="main-footer mgsto_n_ws"> <div class=" pt-sm pb-xl full_width"> <div class="section_content"> <div class="footer-sections menus sm-big "> <div class="flex big_menu"> <div class="footer-menu-section"> <h4>Get Started</h4> <ul> <li><a href="javascript:common.createVideo()" onclick="track_event('footer','create','')">Create</a></li> <li><a href="/web/20211217083631/https://www.magisto.com/templates?prev_path=/pricing&via=footer" onclick="track_event('footer','templates','')">Templates</a></li> <li><a href="/web/20211217083631/https://www.magisto.com/explore?prev_path=/pricing&via=footer" onclick="track_event('footer','explore','')">Explore</a></li> <li><a href="https://web.archive.org/web/20211217083631/http://itunes.apple.com/us/app/magisto/id486781045?ls=1&mt=8" target="_blank">iPhone</a></li> <li><a href="https://web.archive.org/web/20211217083631/https://play.google.com/store/apps/details?id=com.magisto" target="_blank">Android</a></li> <li><a href="//web.archive.org/web/20211217083631/https://help.magisto.com/hc/en-us?prev_path=/pricing&via=footer" onclick="track_event('footer','help','')">Help Center</a></li> <li><a href="/web/20211217083631/https://www.magisto.com/support?prev_path=/pricing&via=footer" onclick="track_event('footer','support','');">Contact Support</a></li> </ul> </div> <div class="footer-menu-section"> <h4>Connect</h4> <ul> <li><a href="//web.archive.org/web/20211217083631/https://www.magisto.com/blog/?prev_path=/pricing&via=footer" target="_blank" class="bl"><span>Blog</span></a></li> <li><a href="//web.archive.org/web/20211217083631/https://www.facebook.com/Magisto" target="_blank" class="fb"><span>Facebook</span></a></li> <li><a href="//web.archive.org/web/20211217083631/https://www.instagram.com/magistoapp/" target="_blank" class="inst"><span>Instagram</span></a></li> <li><a href="//web.archive.org/web/20211217083631/https://twitter.com/magisto" target="_blank" class="tw"><span>Twitter</span></a></li> <li><a href="//web.archive.org/web/20211217083631/https://www.youtube.com/user/magisto" target="_blank" class="yt"><span>YouTube</span></a></li> <li><a href="//web.archive.org/web/20211217083631/https://www.linkedin.com/company/magisto" target="_blank" class="li"><span>LinkedIn</span></a></li> </ul> </div> <div class="footer-menu-section"> <h4>Company</h4> <ul> <li><a href="/web/20211217083631/https://www.magisto.com/about?prev_path=/pricing&via=footer" onclick="track_event('footer','about','')">About</a></li> <li><a href="/web/20211217083631/https://www.magisto.com/how-it-works?prev_path=/pricing&via=footer" onclick="track_event('footer','how-it-works','')">How it works</a></li> <li><a href="/web/20211217083631/https://www.magisto.com/jobs?prev_path=/pricing&via=footer" onclick="track_event('footer','about','')">Careers at Vimeo</a></li> </ul> </div> <div class="footer-menu-section bigger"> <h4>Products</h4> <ul> <li><a href="/web/20211217083631/https://www.magisto.com/video-maker?prev_path=/pricing&via=footer" onclick="track_event('footer','video-maker','')">Online Video Maker</a></li> <li><a href="/web/20211217083631/https://www.magisto.com/fitness-video?prev_path=/pricing&via=footer">Fitness Video Maker</a></li> <li><a href="/web/20211217083631/https://www.magisto.com/marketing/birthday-video-maker?via=footer&prev_path=/pricing">Birthday Video Maker</a></li> <li><a href="/web/20211217083631/https://www.magisto.com/marketing/wedding-video-maker?via=footer&prev_path=/pricing">Wedding Video Maker</a></li> <li><a href="/web/20211217083631/https://www.magisto.com/marketing/cooking-video-maker?via=footer&prev_path=/pricing">Cooking Video Maker</a></li> <li><a href="/web/20211217083631/https://www.magisto.com/marketing/instagram-video-maker?via=footer&prev_path=/pricing">Instagram Video Maker</a></li> <li><a href="/web/20211217083631/https://www.magisto.com/marketing/video-slideshow-maker?via=footer&prev_path=/pricing">Slideshow Video Maker</a></li> <li><a href="/web/20211217083631/https://www.magisto.com/marketing/social-media-video-maker?via=footer&prev_path=/pricing">Social Video Maker</a></li> <li><a href="/web/20211217083631/https://www.magisto.com/marketing/promo-video-maker?via=footer&prev_path=/pricing">Promo Video Maker</a></li> <li><a href="https://web.archive.org/web/20211217083631/https://play.google.com/store/apps/details?id=com.magisto&referrer=utm_source%3DMagistoWebsite%26utm_medium%3DFooterLink" onclick="track_tableau_event('click_on_get_app','footer_link','link','android_video_editor', 'android');">Android Video Editor</a></li> <li><a href="https://web.archive.org/web/20211217083631/https://apps.apple.com/app/id486781045" onclick="track_tableau_event('click_on_get_app','footer_link','link','video_maker_for_iphone', 'iphone');">Video Maker for iPhone</a></li> <li><a href="https://web.archive.org/web/20211217083631/https://apps.shopify.com/vimeo_product_video_maker?surface_detail=magisto&surface_inter_position=1&surface_intra_position=1&surface_type=WebSiteFooterLink">Video Maker for Shopify</a></li> <li><a href="https://web.archive.org/web/20211217083631/https://vimeo.com/create">Vimeo Create</a></li> </ul> </div> <div class="footer-menu-section blank"></div> </div> </div> <div class="footer-sections branding sm-big"> <div id="footer_terms" class="footer-menu-section"> <div class="sm-hide"> <a href="/web/20211217083631/https://www.magisto.com/" class="logo"> <img src="/web/20211217083631im_/https://www.magisto.com/media/new/img/logo_magisto_f.png" srcset="/web/20211217083631im_/https://www.magisto.com/media/new/img/logo_magisto_f@2x.png 2x, /web/20211217083631im_/https://www.magisto.com/media/new/img/logo_magisto_f.png 1x"/> </a> </div> <ul class=""> <li class="copy pt-xs">庐 2021 Vimeo.com, Inc.</li> <li class="sm-hide"><a href="/web/20211217083631/https://www.magisto.com/privacy?prev_path=/pricing&via=footer" onclick="track_event('footer','privacy','')">Privacy</a></li> <li class="sm-hide"><a href="/web/20211217083631/https://www.magisto.com/privacy/california?prev_path=/pricing&via=footer" onclick="track_event('footer','privacy-california','')">CA Privacy</a></li> <li class="sm-hide"><a href="/web/20211217083631/https://www.magisto.com/tos?prev_path=/pricing&via=footer" onclick="track_event('footer','terms','')">Terms of use</a></li> <li class="mt-xs"><a href="https://web.archive.org/web/20211217083631/https://www.facebook.com/business/solutions-explorer/creative_platform/2059245347642508/Magisto" target="_blank"><img src="/web/20211217083631im_/https://www.magisto.com/media/new/img/badges/fb_logo.png" srcset="/web/20211217083631im_/https://www.magisto.com/media/new/img/badges/fb_logo@2x.png 2x, /web/20211217083631im_/https://www.magisto.com/media/new/img/badges/fb_logo.png 1x"/></a></li> <li class="mt-xxs"><a href="https://web.archive.org/web/20211217083631/https://servicesdirectory.withyoutube.com/directory/magisto" target="_blank"><img src="/web/20211217083631im_/https://www.magisto.com/media/new/img/badges/youtube_logo_new.png"/></a></li> <li class="mt-xxs"><a href="https://web.archive.org/web/20211217083631/https://blog.magisto.com/blog/2018/12/12/magisto-named-a-cool-vendor-in-artificial-intelligence-for-small-and-midsize-businesses-by-gartner/" target="_blank"><img style="width: 80px;object-fit: scale-down;" src="/web/20211217083631im_/https://www.magisto.com/media//new/img/banners/hp/gartner_cool_vendor_2018.png"/></a></li> </ul> </div> </div> <div class="clear"></div> </div> <!--div class="clear"></div--> </div> </footer> <connect-form-popup></connect-form-popup> <change-user-info-popup></change-user-info-popup> <script type="text/javascript">var app=angular.module('magisto');app.factory('connectService',['$http',function($http){return{password_strength_error_msg:'Your password must be at least 8 characters long and contain 4 or more unique characters',is_password_strength_enough:function(password){var u={};if(password.length<8) return false;for(var i=0;i<password.length;i++){u[password.charAt(i)]=1;} if(Object.keys(u).length<4) return false;return true;},login:function(email,password,extra_params,is_reconnect){var url=globals.prot_and_server+'/api/auth',params={username:email,password:password};if(!extra_params)extra_params={};for(var x in extra_params) params[x]=extra_params[x];params['device_id']=common.get_device_id();return $http.post(url,params).then(function(res){if(res.data.status&&res.data.status=='OK'){return{success:true};} else{return{success:false,error:(res.data.error||'Internal error')};}},function(res){var _err='Invalid email / password';if(is_reconnect) _err='Incorrect password';if(res.data&&res.data.errcode&&res.data.errcode==1110){_err='Request limit reached';}else{if(navigator&&!navigator.onLine){_err='You appear to be offline - Please check your internet connection and try again.' globals.alooma.track('warning_signup_new',globals.alooma.get_utm_data({type:'login_new',is_business:extra_params['business'],error:_err}));}} return{success:false,error:_err};});},signup:function(params,newsletter,extra_params){var url=globals.prot_and_server+'/api/account/create',params={full_name:params.name,email:params.email,password1:params.password,tos:params.tos,privacy:params.privacy,advanced_password_check:1};if(!extra_params)extra_params={};for(var x in extra_params) params[x]=extra_params[x];if(newsletter) params['newsl']='on';params['device_id']=common.get_device_id();return $http.post(url,params).then(function(res){if(res.data.status&&res.data.status=='OK'){return{success:true};}else{return{success:false,error:(res.data.error||'Internal error')};}},function(res){var err_str='Internal error';if(res.data&&res.data.errors){for(var key in res.data.errors) err_str=res.data.errors[key];if(err_str.toLowerCase()=='user already exists'){if(extra_params['business']) err_str='A Magisto user is already associated with this email, please use a different email to create an account';else err_str='A Magisto user is already associated with this email, please use a different email to create an account';globals.alooma.track('warning_signup_new',globals.alooma.get_utm_data({type:'signup_new',is_business:extra_params['business'],error:err_str}));}}else{if(navigator&&!navigator.onLine){err_str='You appear to be offline - Please check your internet connection and try again.' globals.alooma.track('warning_signup_new',globals.alooma.get_utm_data({type:'signup_new',is_business:extra_params['business'],error:err_str}));}} return{success:false,error:err_str};});},auth_facebook:function(fb_access_token,fb_uid,extra_params){var url=globals.prot_and_server+'/api/auth',params={method:'FB',fb_access_token:fb_access_token,fb_uid:fb_uid};if(!extra_params)extra_params={};for(var x in extra_params) params[x]=extra_params[x];params['device_id']=common.get_device_id();return $http.post(url,params).then(function(res){if(res.data.status&&res.data.status=='OK'){return{success:true,new_user:res.data.new_user};} else{return{success:false,error:(res.data.error||'Internal error')};}},function(res){var err='Internal error';var response={success:false};if(res&&res.data&&res.data.errors){if(res.data.errors.errcode&&res.data.errors.errcode==2023){err='A Magisto user with the same account already exists';}else if(res.data.errors.errcode&&res.data.errors.errcode==2100){err='Please approve terms of service.';response.no_terms=true;}else if(res.data.errors.general){err=res.data.errors.general;}} response.error=err;return response;});},auth_gplus:function(auth_result,email,extra_params){var url=globals.prot_and_server+'/api/auth',params={method:'GOOGLE',id_token:auth_result.id_token,google_user:email,google_access_token:auth_result.access_token,id_token:auth_result.id_token,expires:auth_result.expires_in};if(!extra_params)extra_params={};for(var x in extra_params) params[x]=extra_params[x];params['device_id']=common.get_device_id();return $http.post(url,params).then(function(res){if(res.data.status&&res.data.status=='OK'){return{success:true,new_user:res.data.new_user};} else{return{success:false,error:(res.data.error||'Internal error')};}},function(res){var err='Internal error';var response={success:false};if(res&&res.data&&res.data.errors){if(res.data.errors.errcode&&res.data.errors.errcode==2023){err='A Magisto user with the same account already exists';}else if(res.data.errors.errcode&&res.data.errors.errcode==2100){err='Please approve terms of service.';response.no_terms=true;response.email=params.google_user;}else if(res.data.errors.general){err=res.data.errors.general;}} response.error=err;return response;});},auth_apple:function(auth_result,extra_params){var url=globals.prot_and_server+'/api/auth';var params;if(auth_result.refresh_token){params={method:'APPLE',client:'WEB',refresh_token:auth_result.refresh_token};} else{params={method:'APPLE',client:'WEB',apple_identity_token:auth_result.id_token,auth_code:auth_result.code,settings:'1'};} if(!extra_params)extra_params={};for(var x in extra_params) params[x]=extra_params[x];params['device_id']=common.get_device_id();return $http.post(url,params).then(function(res){if(res.data.status&&res.data.status=='OK'){return{success:true,new_user:res.data.new_user,refresh_token:res.data.refresh_token};} else{return{success:false,error:(res.data.error||'Internal error')};}},function(res){var err='Internal error';var response={success:false};if(res&&res.data&&res.data.errors){if(res.data.errors.errcode&&res.data.errors.errcode==2023){err='A Magisto user with the same account already exists';}else if(res.data.errors.errcode&&res.data.errors.errcode==2100){err='Please approve terms of service.';response.no_terms=true;}else if(res.data.errors.general){err=res.data.errors.general;}} response.error=err;return response;});},forgot:function(email,extra_params){var url=globals.prot_and_server+'/api/reset/request',params={email:email,detailed:1};if(!extra_params)extra_params={};for(var x in extra_params) params[x]=extra_params[x];return $http.post(url,params).then(function(res){if(res.data.status&&res.data.status=='OK'){return{success:true};} else{return{success:false,error:(res.data.error||'Internal error')};}},function(res){var _err=(res&&res.data&&res.data.error?res.data.error:null)||'Internal error';if(res.data.errcode&&res.data.errcode==1110) _err='Request limit reached';return{success:false,error:_err};});},reset:function(token,password,extra_params){var url=globals.prot_and_server+'/reset/'+token,params={new_password1:password,new_password2:password,json:1,advanced_password_check:1};if(!extra_params)extra_params={};for(var x in extra_params) params[x]=extra_params[x];return $http.post(url,params).then(function(res){if(res.data.status&&res.data.status=='OK'){return{success:true};} else{return{success:false,error:(res.data.error||'Internal error')};}},function(res){var _err=(res&&res.data&&res.data.error?res.data.error:null)||'Internal error';if(res.data.errcode&&res.data.errcode==1110) _err='Request limit reached';return{success:false,error:_err};});},is_premium:function(){var url=globals.prot_and_server+'/api/premium/check_packageinfo';return $http.post(url).then(function(res){if(res.data.status&&res.data.status=='OK'){var ret={success:true,is_premium:false};if(res.data.active_package) ret.is_premium=true;return ret;} else{return{success:false,error:(res.data.error||'Internal error')};}},function(res){return{success:false,error:(res.data.error||'Internal error')};});},get_business_buynow_url:function(){var url=globals.prot_and_server+'/api/business/buynow';return $http.get(url).then(function(res){if(res.data.status&&res.data.status=='OK'){return{success:true,buynow_url:res.data.buynow_url||null,};} else{return{success:false,error:(res.data.error||'Internal error')};}},function(res){return{success:false,error:(res.data.error||'Internal error')};});},get_special_buynow_url:function(promo_label){var url=globals.prot_and_server+'/api/business/special/buynow';if(promo_label) url+='?promo_label='+promo_label;return $http.get(url).then(function(res){if(res.data.status&&res.data.status=='OK'){return{success:true,buynow_url:res.data.buynow_url};}else{return{success:false,error:(res.data.error||'Internal error')};}},function(res){return{success:false,error:(res.data.error||'Internal error')};});},update_user_details:function(user_data){if(!user_data)return;var url=globals.prot_and_server+'/api/account/change_details';var d={};d.email=user_data.email;d.first_name=user_data.first_name;d.last_name=user_data.last_name;d.full_name=user_data.full_name;if(user_data.fb_access_token){d.fb_token=user_data.fb_access_token;} if(localStorage.getItem('apple_refresh_token')){d.refresh_token=localStorage.getItem('apple_refresh_token');} return $http.post(url,d).then(function(res){if(res.data.status&&res.data.status=='OK'){return{success:true,data:res.data};}else{if(!!res.data&&!!res.data.errors){var errorsArray=Object.keys(res.data.errors).map(function(k){return res.data.errors[k]});return{success:false,errors:errorsArray};} return{success:false,error:((!!res&&res.data&&res.data.error)?res.data.error:'There is a problem with one or more of your details. please try again')};}},function(res){if(!!res.data&&!!res.data.errors){var errorsArray=Object.keys(res.data.errors).map(function(k){return res.data.errors[k]});return{success:false,errors:errorsArray};} return{success:false,error:((!!res&&res.data&&res.data.error)?res.data.error:'There is a problem with one or more of your details. please try again')};});}};}]);app.controller('ConnectPageController',['$scope','$timeout','$rootScope','connectService','$http',function($scope,$timeout,$rootScope,connectService,$http){if(globals.ConnectPageControllerInit===true){return} globals.ConnectPageControllerInit=true;$scope.resetScope=function(){$scope.state=globals.connect_state||'login';$scope.form_size=globals.form_size||null;$scope.hide_left_side=globals.hide_left_side||false;$scope.login_state='login';$scope.is_business=globals.business||false;$scope.is_authenticated=globals.is_authenticated||false;$scope.signup_form={step:1,loading:false,primary_use:false,name:'',email:'',confirm_email:'',password:'',newsletter:true,error:null,email_error:false,password_error:false,name_error:false,confirm_email_error:false,primary_use_error:false,consents:{tos:false,privacy:false}};$scope.login_form={email:'',password:'',error:null,email_error:false,password_error:false};$scope.reconnect={type:'email',email:'',password:'',error:null,password_error:false};$scope.forgot_form={email:'',error:null,email_error:false};$scope.reset_form={password:'',confirm_password:'',error:null,password_error:false,confirm_password_error:false};$scope.social_aprove_details={full_name:false,email:false};$scope.submitting=false;$scope.allocate_opt_in=null;} $scope.resetScope();$scope.$watch('login_form.email',function(val){$scope.login_form.email_error=(!common.validate_email(val));});$scope.$watch('login_form.password',function(val){$scope.login_form.password_error=!(val&&val.length>0);});$scope.$watch('signup_form.name',function(val){$scope.signup_form.name_error=(!common.validate_name(val));});$scope.$watch('signup_form.email',function(val){$scope.signup_form.email_error=(!common.validate_email(val));if($scope.signup_form.confirm_email&&$scope.signup_form.confirm_email!=val){$scope.signup_form.confirm_email_error=true;}else{$scope.signup_form.confirm_email_error=false;}});$scope.$watch('signup_form.confirm_email',function(val){$scope.signup_form.confirm_email_error=(!common.validate_email(val));if($scope.signup_form.email&&$scope.signup_form.email!=val) $scope.signup_form.confirm_email_error=true;});$scope.$watch('signup_form.password',function(val){$scope.signup_form.password_error=!(val&&val.length>0);});$scope.$watch('login_form.password',function(val){$scope.login_form.password_error=!(val&&val.length>0);});$scope.$watch('reconnect.password',function(val){$scope.reconnect.password_error=!(val&&val.length>0);});$scope.$watch('forgot_form.email',function(val){$scope.forgot_form.email_error=(!common.validate_email(val));});$scope.$watch('reset_form.password',function(val){$scope.reset_form.password_error=!(val&&val.length>0);});$scope.$watch('reset_form.confirm_password',function(val){$scope.reset_form.confirm_password_error=!(val&&val.length>0);if($scope.reset_form.confirm_password&&$scope.reset_form.confirm_password!=val) $scope.reset_form.confirm_password_error=true;});$scope.init=function(){if($scope.state=='forgot'||$scope.state=='reset'||$scope.state=='reset_done'||$scope.state=='reset_error'||$scope.state=='reset_email') return;var allocate_opt_in=getQueryParamFromURL('allocoptin',window.location.search);if(allocate_opt_in) $scope.allocate_opt_in=allocate_opt_in;var social_log=getQueryParamFromURL('social_login',window.location.search) if(!!social_log){if(social_log=='gp')$scope.auth_gplus();if(social_log=='fb')$scope.auth_facebook();if(social_log=='apple')$scope.auth_apple();} try{var data=read_cookie('cnct_data');if(data){var data_arr=decodeURIComponent(data).split(':');var t=data_arr[0].toLowerCase();var em=decodeURIComponent(data_arr[1]);var name=decodeURIComponent(data_arr[2]).trim();if(name&&((t=='email'&&em)||t=='fb'||t=='google'||t=='apple')){$scope.reconnect.type=t;$scope.reconnect.name=name;$scope.change_state('reconnect');$timeout(function(){$scope.reconnect.email=em;$scope.reconnect.name=name;$scope.reconnect.type=t;});}}}catch(err){};var currentLocation=window.location;if(currentLocation.pathname=='/connect'){setTimeout(function(){globals.alooma.track('show_connect',globals.alooma.get_utm_data({type:$scope.state,is_business:$scope.is_business}));});}} $rootScope.$on('reset_connect_form',function(e,d){if(!!d)$scope.resetScope();});$rootScope.$on('connect_change_state',function(e,state){if(!!state)$scope.change_state(state);});$scope.$on('change_page_state',function(e,data){if(!!data&&data!==$scope.state) $scope.change_state(data);});$scope.temp_next=false;$scope.change_state=function(state){$timeout(function(){$scope.resetScope();if(state!=='signup'&&globals.connect_next&&globals.connect_next.indexOf("business/purchase")!==-1){$scope.temp_next=globals.connect_next;globals.connect_next='/';} if(state=="signup"&&!!$scope.temp_next)globals.connect_next=$scope.temp_next;if(state=='login'||state=='reconnect') $scope.login_state=state;if(state=='forgot'){try{var email=$('input[name=username]')[0].value;$scope.forgot_form.email=email;}catch(err){};} $scope.state=state;if((state=='login'||state=='signup')&&$scope.temp_next.length){globals.alooma.track('push_'+state,globals.alooma.get_utm_data());} $rootScope.$broadcast('change_page_state',state);});};$scope.change_to_login_state=function(){$scope.state=$scope.login_state;if(globals.connect_next&&globals.connect_next.indexOf("business/purchase")!==-1){globals.connect_next='/';}};$scope.redirectUser=function(){if($scope.signup_form) $scope.signup_form.loading=true;if(!!$scope.go_next){window.location=$scope.go_next;}else{window.location=globals.connect_next||'/';}} $scope.onconnect=function(type,new_user){var complete_connect=function(){try{var flow_type=$scope.is_business?'BUSINESS FLOW':'REGULAR FLOW';var primary_use=(!!$scope.signup_form.primary_use?($scope.signup_form.primary_use=='business'?'/businessuse':'/personaluse'):'/');if(!!$scope.signup_form.primary_use&&$scope.is_business){flow_type=$scope.signup_form.primary_use=='business'?'BUSINESS FLOW BUSINESS USE':'BUSINESS FLOW PERSONAL USE';}else if(!!$scope.signup_form.primary_use&&!$scope.is_business){flow_type=$scope.signup_form.primary_use=='business'?'REGULAR FLOW BUSINESS USE':'REGULAR FLOW PERSONAL USE';} var connect_data={type:new_user?'signup':'login',channel:type,is_business:!!$scope.is_business};$.extend(connect_data,globals.alooma.pop_tracking_data('connect_done')||{});var virtualpage='/virtual/login/done/'+(new_user?'new-user/':'existing-user/')+($scope.is_business?'business/':'consumer/')+(type=='facebook'?'fb':type)+primary_use;pixel_tracking([['ga_page',virtualpage],['bing',virtualpage],['alooma_queue','connect_done',connect_data]]);if(new_user&&type=='facebook'){pixel_tracking(['fb','CompleteRegistration',{content_name:flow_type,status:type}])}}catch(err){console.log(err)};var next='/';if(!new_user&&(globals.via_element=='get_started_main_cta'||globals.via_element=='tm_login'||globals.via_element=='mobile_tm_login')){next='/';}else{next=globals.connect_next||'/';if(next[0]!='/') next='/';} if(new_user&&type=='facebook'&&globals.after_signup){next=globals.after_signup.replaceAll("&","&") next+="&"+location.search.substring(1);} if(new_user&&type=='apple'&&globals.after_signup){next=globals.after_signup.replaceAll("&","&") next+="&"+location.search.substring(1);} if(new_user){if(globals.ab_tests.web_pro_upsell_popup&&!globals.is_mobile){next='/create-wizard?via=first_upsell_popup';} else{next+=(next.indexOf('?')>=0?'&':'?')+'signup=1';}} device_action('register');var query_params=(next.indexOf('?')>=0?'&':'?');try{if(getQueryParam('utm_source'))query_params+='&utm_source='+getQueryParam('utm_source') if(getQueryParam('utm_campaign'))query_params+='&utm_campaign='+getQueryParam('utm_campaign') if(getQueryParam('fb_ad_id'))query_params+='&fb_ad_id='+getQueryParam('fb_ad_id') if(getQueryParam('ad_id'))query_params+='&ad_id='+getQueryParam('ad_id')}catch(err){console.log(err)} try{if($scope.allocate_opt_in){sessionStorage.removeItem('is_optin_flow');}}catch(err){console.log(err)} if(window.publish){$http.get(globals.prot_and_server+'/api/account/settings',{}).then(function(res){if(res.data.status&&res.data.status=='OK'){globals.connect_user_data={is_new_user:new_user,login_type:type,user_data:res.data};if(angular.element("#magisto-connect-form").length){angular.element("#magisto-connect-form").scope().close_popup();} headerReloader();return;}else{return;}},function(res){return;});} else if(new_user&&type=='facebook'){FB.api('/me',{locale:'en_US',fields:'name, email'},function(response){window.location.href=next+query_params||'/video/mine';});}else{$timeout(function(){if(!!$scope.form_size&&$scope.form_size=="minimal"){window.top.location.href=next+query_params;}else{window.location.href=next+query_params;}},400);}} if(type=='facebook'||type=='google'||type=='apple'){if(!!new_user&&!!$scope.signup_form.social_connect){var u={};var strip_name={first_name:$scope.signup_form.name,last_name:'',full_name:$scope.signup_form.name};if(!!$scope.signup_form.name){var s_name=strip_name.full_name.split(' ');if(s_name.length==2){strip_name.first_name=s_name[0];strip_name.last_name=s_name[1];}else if(s_name.length>=3){strip_name.first_name=s_name[0]+' '+s_name[1];strip_name.last_name=s_name[2];}} if(!!$scope.signup_form.name&&!!$scope.signup_form.email){u=strip_name;u.email=$scope.signup_form.email;} if($scope.fb_access_token){u.fb_access_token=$scope.fb_access_token;} if(localStorage.getItem('apple_refresh_token')){u.refresh_token=localStorage.getItem('apple_refresh_token');} if(u.email){connectService.update_user_details(u).then(function(res){if(!!res.success){globals.alooma.track('connect_done',globals.alooma.get_utm_data({type:'signup',channel:type,is_business:!!$scope.is_business}));if(type=='facebook'){pixel_tracking(['fb','CompleteRegistration',{content_name:$scope.is_business?'BUSINESS FLOW':'REGULAR FLOW',status:type}]);} $scope.redirectUser();}else{$scope.login_form.error=res.error||'An error occurred';if(!!res.errors&&res.errors.length){$scope.signup_form.error=res.errors.join('<br />');return;}else if(!!res.data&&res.data.error){$scope.signup_form.error=res.data.error;return;}else if(!!res.error){$scope.signup_form.error=res.error;return;}}});}else{complete_connect();}}else{complete_connect();}}else{complete_connect();}};$scope.get_extra=function(){var extra={store_cnct:1};if($scope.signup_form.primary_use) extra['user_type']=$scope.signup_form.primary_use;if($scope.is_business) extra['business']=true;if($scope.signup_form.consents.tos) extra['tos']=$scope.signup_form.consents.tos;if($scope.signup_form.consents.privacy) extra['privacy']=$scope.signup_form.consents.privacy;if($scope.allocate_opt_in){extra['allocate_opt_in']=$scope.allocate_opt_in;} return extra;};$scope.submit_reconnect=function(){if($scope.submitting) return;$scope.reconnect.error=null;var err=[];if(!$scope.reconnect.password||!$scope.reconnect.password.length) err.push('Please enter a valid password');if(err.length){$scope.reconnect.error=err.join('<br/>');}else{$scope.submitting=true;connectService.login($scope.reconnect.email,$scope.reconnect.password,$scope.get_extra(),true).then(function(res){if(res.success){$scope.onconnect('email',false);$timeout(function(){$scope.submitting=false},1000);}else{$scope.submitting=false $scope.reconnect.error=res.error||'An error occurred';globals.alooma.track('connect_fail',{type:'reconnect',channel:'email',error_type:'invalid_user_or_credentials',is_business:$scope.is_business});}});globals.alooma.track('connect_try',{type:'reconnect',channel:'email',is_business:$scope.is_business});}};$scope.submit_login=function(){if($scope.submitting) return;$scope.login_form.error=null;var err=[];var mail_err=[];var pass_err=[];if(!$scope.login_form.email||!$scope.login_form.email.length) mail_err.push('Please enter a valid Email address');else if(!common.validate_email($scope.login_form.email)) mail_err.push('The Email address you entered is invalid');if(!$scope.login_form.password||!$scope.login_form.password.length) pass_err.push('Please enter a valid password');$scope.login_form.errors={};if(!!mail_err&&mail_err.length)$scope.login_form.errors.email=mail_err.join('<br/>')||null;if(!!pass_err&&pass_err.length)$scope.login_form.errors.password=pass_err.join('<br/>')||null if((!pass_err||pass_err.length==0)&&(!mail_err||mail_err.length==0)){$scope.submitting=true;connectService.login($scope.login_form.email,$scope.login_form.password,$scope.get_extra(),false).then(function(res){if(res.success){$scope.onconnect('email',false);$timeout(function(){$scope.submitting=false},1000);} else{$scope.submitting=false $scope.login_form.error=res.error||'An error occurred';globals.alooma.track('connect_fail',{type:'login',channel:'email',error_type:'invalid_user_or_credentials',is_business:$scope.is_business});}});globals.alooma.track('connect_try',{type:'login',channel:'email',is_business:$scope.is_business});}};$scope.signup_new=function(skip_confirm){if($scope.submitting) return;$scope.signup_form.error=null;$scope.signup_form.errors={};var mail_err=[],name_err=[],pass_err=[] if(!$scope.signup_form.name||!$scope.signup_form.name.length||!common.validate_name($scope.signup_form.name)){name_err.push('Please enter your full name');globals.alooma.track('warning_signup_new',globals.alooma.get_utm_data({type:'signup_new',field:'Full_name',error:'Please enter your full name'}));} if(!$scope.signup_form.email||!$scope.signup_form.email.length){mail_err.push('Please enter your email address');globals.alooma.track('warning_signup_new',globals.alooma.get_utm_data({type:'signup_new',field:'Email',error:'Please enter your email address'}));} else if(!common.validate_email($scope.signup_form.email)){mail_err.push('The email address entered is invalid');globals.alooma.track('warning_signup_new',globals.alooma.get_utm_data({type:'signup_new',field:'Email',error:'The email address entered is invalid'}));} if(!$scope.signup_form.password||!$scope.signup_form.password.length){pass_err.push('Please enter a password');} else if(!connectService.is_password_strength_enough($scope.signup_form.password)){pass_err.push(connectService.password_strength_error_msg);} if(name_err.length)$scope.signup_form.errors.name=name_err.join('<br/>');if(mail_err.length)$scope.signup_form.errors.mail=mail_err.join('<br/>');if(pass_err.length)$scope.signup_form.errors.password=pass_err.join('<br/>');if(name_err.length||mail_err.length||pass_err.length){return} $scope.submit_signup_new();} $scope.submit_signup_new=function(skip_confirm){if($scope.submitting) return;$scope.signup_form.tos_consent=true;$scope.signup_form.privacy_consent=true;var err=[];var name_err=[];var mail_err=[];var pass_err=[];$scope.signup_form.error=null;$scope.signup_form.errors={};var mail_err=[],name_err=[],pass_err=[] if(!$scope.signup_form.name||!$scope.signup_form.name.length||!common.validate_name($scope.signup_form.name)){name_err.push('Please enter your full name');globals.alooma.track('warning_signup_new',globals.alooma.get_utm_data({type:'signup_new',field:'Full_name',error:'Please enter your full name'}));} if(!$scope.signup_form.email||!$scope.signup_form.email.length){mail_err.push('Please enter your email address');globals.alooma.track('warning_signup_new',globals.alooma.get_utm_data({type:'signup_new',field:'Email',error:'Please enter your email address'}));} else if(!common.validate_email($scope.signup_form.email)){mail_err.push('The email address entered is invalid');globals.alooma.track('warning_signup_new',globals.alooma.get_utm_data({type:'signup_new',field:'Email',error:'The email address entered is invalid'}));} if(!$scope.signup_form.social_connect){if(!$scope.signup_form.password||!$scope.signup_form.password.length){pass_err.push('Please enter a password');} else if(!connectService.is_password_strength_enough($scope.signup_form.password)){pass_err.push(connectService.password_strength_error_msg);}} if(name_err.length)$scope.signup_form.errors.name=name_err.join('<br/>');if(mail_err.length)$scope.signup_form.errors.mail=mail_err.join('<br/>');if(pass_err.length)$scope.signup_form.errors.password=pass_err.join('<br/>');if(name_err.length||mail_err.length||pass_err.length||err.length){if(err.length){$scope.signup_form.error=err.join('<br/>');}}else{$timeout(function(){$scope.signup_form.consents={tos:1,privacy:1};}).then(function(){if(!!$scope.signup_form.social_connect){if($scope.signup_form.social_connect=='fb'){$scope.auth_facebook();}else if($scope.signup_form.social_connect=='google'){$scope.auth_gplus();}else if($scope.signup_form.social_connect=='apple'){$scope.auth_apple();}}else{var params={name:$scope.signup_form.name,email:$scope.signup_form.email,password:$scope.signup_form.password,tos:$scope.signup_form.consents.tos,privacy:$scope.signup_form.consents.privacy,};$scope.submitting=true;connectService.signup(params,$scope.signup_form.newsletter,$scope.get_extra()).then(function(res){if(res.success){$scope.onconnect('email',true);$timeout(function(){$scope.submitting=false},1000);} else{$scope.submitting=false;$scope.signup_form.error=res.error||'An error occurred';var errtype='other';if((res.error.indexOf('user is already')!=-1)||(res.error.indexOf('is already in use')!=-1)){errtype='existing_user';mail_err.push('Email is already in use.');$scope.signup_form.errors.mail='Email is already in use.'} if((res.error.indexOf('Enter a valid email address.')!=-1)){$scope.signup_form.errors.mail='Enter a valid email address.' mail_err.push('Enter a valid email address.');} globals.alooma.track('connect_fail',{type:'signup',channel:'email',error_type:errtype});return;}});globals.alooma.track('connect_try',{type:'signup',channel:'email',is_business:$scope.is_business});}})}} $scope.auth_facebook=function(n,count){var retries=(count+1)||1;if($scope.submitting) return;if(!window.FB){if(retries>=5&&window.location.pathname!=='/connect'){window.location='/connect?social_login=fb&'+($scope.state);return;} $timeout(function(){$scope.auth_facebook(n,retries)},300);return;}else{$scope.signup_form.errors={};FB.login(function(res){if(res.authResponse&&res.authResponse.accessToken&&res.authResponse.userID){var temp_res=res;$timeout(function(){$scope.submitting=true;$scope.fb_access_token=res.authResponse.accessToken;});connectService.auth_facebook(res.authResponse.accessToken,res.authResponse.userID,$scope.get_extra()).then(function(res){if(res.success){$scope.onconnect('facebook',!!res.new_user);$timeout(function(){$scope.submitting=false},1000);}else{if(!!res.no_terms){FB.api('/me',{locale:'en_US',fields:'name, email'},function(response){$timeout(function(){$scope.submitting=false;$scope.login_form.error=false;$scope.signup_form.step=2;$scope.state='signup';$scope.signup_form.social_email=$scope.signup_form.email=response.email;$scope.signup_form.social_name=$scope.signup_form.name=response.name;$scope.signup_form.social_connect='fb';});});}else{$timeout(function(){$scope.submitting=false;$scope.login_form.error=$scope.signup_form.error=res.error||'An error occurred';var errtype='other';if(res.error.indexOf('already exists')!=-1) errtype='existing_user';globals.alooma.track('connect_fail',{type:$scope.state,channel:'facebook',error_type:errtype,is_business:$scope.is_business});});}}});} else{$timeout(function(){$scope.submitting=false;});}},{scope:'email'});} globals.alooma.track('connect_try',{type:$scope.state,channel:'facebook',is_business:$scope.is_business});};$scope.auth_gplus=function(n,count){var retries=(count+1)||1;if($scope.submitting) return;if(!g_manager.initialized){if(retries>=5&&window.location.pathname!=='/connect'){window.location='/connect?social_login=gp&'+($scope.state);return;} $timeout(function(){$scope.auth_gplus(n,retries)},300);return;}else{$scope.signup_form.errors={};g_manager.handleAuthClick().then(function(res){var basic_profile=res.user.getBasicProfile();var user_email=basic_profile.getEmail();if(!$scope.signup_form.email||(user_email.toLowerCase()===$scope.signup_form.email.toLowerCase())){gplus_do_login(res.auth_result,user_email);}else{$timeout(function(){$scope.signup_form.step=1;$scope.signup_form.error="Please signup and confirm with the same Google account"})}},function(error){});} globals.alooma.track('connect_try',{type:$scope.state,channel:'google',is_business:$scope.is_business});};var gplus_do_login=function(auth_result,email){$timeout(function(){$scope.submitting=true});connectService.auth_gplus(auth_result,email,$scope.get_extra()).then(function(res){if(res.success){$scope.onconnect('google',!!res.new_user);$timeout(function(){$scope.submitting=false},1000);}else{if(!!res.no_terms){$timeout(function(){$scope.submitting=false;$scope.login_form.error=false;$scope.signup_form.step=2;$scope.state='signup';$scope.signup_form.social_connect='google';$scope.signup_form.social_email=$scope.signup_form.email=res.email;});}else{$timeout(function(){$scope.submitting=false;$scope.login_form.error=$scope.signup_form.error=res.error||'An error occurred';});var errtype='other';if(res.error.indexOf('already exists')!=-1) errtype='existing_user';globals.alooma.track('connect_fail',{type:$scope.state,channel:'google',error_type:errtype,is_business:$scope.is_business});}}});};$scope.auth_apple=function(n,count){var complete_auth=function(data){connectService.auth_apple(data,$scope.get_extra()).then(function(res){if(res.success){if(res.refresh_token){localStorage.setItem("apple_refresh_token",res.refresh_token);localStorage.removeItem("apple_auth_code");localStorage.removeItem("apple_identity_token");} $scope.onconnect('apple',!!res.new_user);$timeout(function(){$scope.submitting=false},1000);}else{if(!!res.no_terms){$timeout(function(){$scope.submitting=false;$scope.login_form.error=false;$scope.signup_form.step=2;$scope.state='signup';$scope.signup_form.social_connect='apple';if(res.email){$scope.signup_form.social_email=$scope.signup_form.email=res.email;} if(res.name){$scope.signup_form.social_name=$scope.signup_form.name=res.name;}});}else{if(res.error=='Internal error'){localStorage.removeItem("apple_refresh_token");localStorage.removeItem("apple_auth_code");localStorage.removeItem("apple_identity_token");$scope.auth_apple();} $timeout(function(){$scope.submitting=false;$scope.login_form.error=$scope.signup_form.error=res.error||'An error occurred';});var errtype='other';if(res.error.indexOf('already exists')!=-1) errtype='existing_user';globals.alooma.track('connect_fail',{type:$scope.state,channel:'apple',error_type:errtype,is_business:$scope.is_business});}}});} var apple_signin=function(){AppleID.auth.init({clientId:'com.magisto.applesignin',scope:'name email',redirectURI:location.href,state:$scope.state,usePopup:true});AppleID.auth.signIn();if(document.addEventListener){document.addEventListener('AppleIDSignInOnSuccess',function(data){localStorage.setItem("apple_auth_code",data.detail.authorization.code);localStorage.setItem("apple_identity_token",data.detail.authorization.id_token);complete_auth(data.detail.authorization);});document.addEventListener('AppleIDSignInOnFailure',function(error){localStorage.removeItem("apple_refresh_token");localStorage.removeItem("apple_auth_code");localStorage.removeItem("apple_identity_token");$timeout(function(){$scope.submitting=false;if(error){$scope.login_form.error=$scope.signup_form.error=error||'An error occurred';}});});}else if(document.attachEvent){document.attachEvent('AppleIDSignInOnSuccess',function(data){localStorage.setItem("apple_auth_code",data.detail.authorization.code);localStorage.setItem("apple_identity_token",data.detail.authorization.id_token);complete_auth(data.detail.authorization);});document.attachEvent('AppleIDSignInOnFailure',function(error){localStorage.removeItem("apple_refresh_token");localStorage.removeItem("apple_auth_code");localStorage.removeItem("apple_identity_token");$timeout(function(){$scope.submitting=false;if(error){$scope.login_form.error=$scope.signup_form.error=error||'An error occurred';}});});}} var retries=(count+1)||1;if($scope.submitting) return;if((window.location.pathname!=='/connect'||location.search!=='?social_login=apple&'+($scope.state))&&(!localStorage.getItem('apple_refresh_token')&&!localStorage.getItem('apple_identity_token'))){window.location='/connect?social_login=apple&'+($scope.state);return;}else{if(!localStorage.getItem('apple_auth_code')&&!localStorage.getItem('apple_refresh_token')){if(document.getElementById('apple_script')){apple_signin();} else{var script=document.createElement('script');script.type='text/javascript';script.id='apple_script';script.onload=function(){apple_signin();} script.src='https://web.archive.org/web/20211217083631/https://appleid.cdn-apple.com/appleauth/static/jsapi/appleid/1/en_US/appleid.auth.js';var s=document.getElementsByTagName('script')[0];s.parentNode.insertBefore(script,s);}} else{var params;if(localStorage.getItem('apple_refresh_token')){params={refresh_token:localStorage.getItem('apple_refresh_token')};} else{params={id_token:localStorage.getItem('apple_identity_token'),code:localStorage.getItem('apple_auth_code')};} complete_auth(params);}} globals.alooma.track('connect_try',{type:$scope.state,channel:'apple',is_business:$scope.is_business});};$scope.submit_forgot=function(){if($scope.submitting) return;$scope.forgot_form.error=null;var err=[];if(!$scope.forgot_form.email||!$scope.forgot_form.email.length) err.push('Please enter a valid Email address');else if(!common.validate_email($scope.forgot_form.email)) err.push('The Email address you entered is invalid');if(err.length){$scope.forgot_form.error=err.join('<br/>');} else{$scope.submitting=true;connectService.forgot($scope.forgot_form.email,$scope.get_extra()).then(function(res){if(res.success){$timeout(function(){$scope.submitting=false;$scope.change_state('forgot_done');},1000);} else{$scope.submitting=false $scope.forgot_form.error=res.error||'An error occurred';}});}};$scope.submit_forgot_done=function(){$scope.change_to_login_state();};$scope.submit_reset=function(){if($scope.submitting) return;$scope.reset_form.error=null;var err=[];if(!$scope.reset_form.password||!$scope.reset_form.password.length){err.push('Please enter a password');}else if(!connectService.is_password_strength_enough($scope.reset_form.password)){err.push(connectService.password_strength_error_msg);}else if(!$scope.reset_form.confirm_password||$scope.reset_form.confirm_password!=$scope.reset_form.password){err.push('The two passwords don\'t match.');} if(err.length){$scope.reset_form.error=err.join('<br/>');}else{$scope.submitting=true;var token=window.location.pathname.replace(/\/?chant\//,'').replace(/\/?reset\//,'');connectService.reset(token,$scope.reset_form.password,$scope.get_extra()).then(function(res){if(res.success){$timeout(function(){$scope.submitting=false;$scope.change_state('reset_done');},1000);} else{$scope.submitting=false $scope.reset_form.error=res.error||'An error occurred';}});}};$scope.goto_connect_page=function(state){state=state||'login';if(state=='forgot') window.location.href=(globals.app=="chant"?'/chant':'')+'/reset/request';else window.location.href=(globals.app=="chant"?'/chant':'')+'/connect?'+state;};$scope.goto_my_videos=function(){window.location.href='/video/mine';};$scope.goto_connect_page_in_parent=function(state){state=state||'login';if(state=='forgot') window.top.location.href=(globals.app=="chant"?'/chant':'')+'/reset/request';else window.top.location.href=(globals.app=="chant"?'/chant':'')+'/connect?'+state+((globals.next||globals.after_signup)?'&next='+(globals.next||globals.after_signup):'');} $(document).on('keypress',function(e){if(e.keyCode=='13'){if($scope.state=='login'&&(angular.element('#connect_form_popup.displayed').length||location.pathname=='/connect')) $timeout(function(){$scope.submit_login()});else if($scope.state=='signup'&&$scope.signup_form.step===2) $timeout(function(){if((window.innerWidth<960)||(/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent))){$scope.submit_signup_new(false)}else{$scope.submit_signup_new(true)}});else if($scope.state=='signup'&&$scope.signup_form.step!==2&&(angular.element('#connect_form_popup.displayed').length||location.pathname=='/connect')){$timeout(function(){$scope.submit_signup_new(skip_confirm);});} else if($scope.state=='reconnect') $timeout(function(){$scope.submit_reconnect()});else if($scope.state=='forgot') $timeout(function(){$scope.submit_forgot()});else if($scope.state=='forgot_done') $timeout(function(){$scope.submit_forgot_done()});else if($scope.state=='reset') $timeout(function(){$scope.submit_reset()});else if($scope.state=='reset_done') $timeout(function(){$scope.goto_connect_page()});else if($scope.state=='reset_error') $timeout(function(){$scope.goto_connect_page('forgot')});}});$scope.init();}]);app.directive('changeUserInfoPopup',['$sce',function($sce){return{restrict:'E',transclude:true,templateUrl:$sce.trustAsResourceUrl('/media/templates/connect/connect_form.html?7064c0f1e3##change_user_info_popup'),};}]);app.directive('connectFormPopup',['$sce',function($sce){return{restrict:'E',transclude:true,templateUrl:$sce.trustAsResourceUrl('/media/templates/connect/connect_form.html?7064c0f1e3##connect_form_popup'),};}]);app.directive('connectForm',['$sce',function($sce){return{restrict:'E',transclude:true,controller:'ConnectPageController',templateUrl:$sce.trustAsResourceUrl('/media/templates/connect/connect_form.html?7064c0f1e3##connect_form_element'),link:function(scope,el,attrs){if(!!globals.outerPlatform){scope.embed_on=globals.outerPlatform;}}};}]);app.directive('minimalConnectForm',['$sce',function($sce){return{restrict:'E',transclude:true,controller:'ConnectPageController',templateUrl:$sce.trustAsResourceUrl('/media/templates/connect/connect_form.html?7064c0f1e3##minimal_connect_form_element'),link:function(scope,el,attrs){if(!!globals.outerPlatform){scope.embed_on=globals.outerPlatform;} if(!!common&&!!common.get_url_param){scope.form_btn_text=common.get_url_param('btnText')||'Create free account';scope.form_btn2_text=common.get_url_param('btn2Text')||'Start';}}};}]);app.directive('formElement',['$sce',function($sce){return{restrict:'E',transclude:true,replace:true,scope:{formId:'@',formClass:'@',formError:'=',},templateUrl:$sce.trustAsResourceUrl('/media/templates/connect/form_element.html##form_element_container'),link:function(scope,el,attrs){}}}]);app.directive('formStep',['$sce',function($sce){return{restrict:'E',transclude:true,replace:true,template:'<div class="form_step"><ng-transclude></ng-transclude></div>',link:function(scope,el,attrs){}}}]);app.directive('formHead',['$sce',function($sce){return{scope:{formTitle:'@',formSubtitle:'@',formError:'=',},restrict:'E',transclude:true,replace:true,templateUrl:$sce.trustAsResourceUrl('/media/templates/connect/form_element.html##form_element_head'),link:function(scope,el,attrs){scope.is_embed=scope.$parent.embed_on;}}}]);app.directive('formFoot',[function(){return{restrict:'E',transclude:true,replace:true,template:'<div class="form_foot"><ng-transclude></ng-transclude></div>',link:function(scope,el,attrs){}}}]);app.directive('formBody',[function(){return{restrict:'E',transclude:true,replace:true,template:'<div class="form_body"><ng-transclude></ng-transclude></div>',link:function(scope,el,attrs){}}}]);app.directive('consentsBox',['$sce',function($sce){return{restrict:'E',templateUrl:$sce.trustAsResourceUrl('/media/templates/connect/form_element.html##consent_box_container'),link:function(scope,el,attrs){}}}]);</script> <div id="magisto_popup_overlay"><div class="close popup_close"></div></div> <message-popup></message-popup> <script> var globals = globals || {}; //debugger; globals.show_page_params = globals.show_page_params || {}; globals.alooma = { uid: '' , /* fv : { events: {play_marketing_video_press:1,press_free_trial:1,play_marketing_video_complete:1,hp_business_button_click:1,show_purchase_screen:1, press_purchase: function(d) {return 'press_purchase:'+ ( isBusinessPlan(d.type) ? 'business' : 'other');}, connect_try: function(d) {return 'connect_try:'+ (d.is_business ? 'business:' : '') + d.channel;}}, pages: {'/business-videos':1,'/video-marketing':1,'/marketing-videos':1,'/real-estate-videos':1,'/video/mine':1,'/business/purchase':1,'/account/settings':1,'/album/mine':1,'/account/upgrade':1,'/explore':1}, calc_events: { play_marketing_video_press: true, show_purchase_screen: true, show_landing_page: function(d) { return d.campaign == 'hp_business_button'}}, version: '1.0', working: false, get_event: function(event_name, data) { if (event_name == 'show_page') { var p = document.location.pathname; return this.pages[p] ? ('show_page:'+p) : null; } else { var ret = this.events[event_name] || null; return (typeof(ret) == 'function') ? ret(data) : (ret ? event_name : null); } }, do_calc: function(event_name, event_data) { var ret = this.calc_events[event_name] || false; if (ret) return (typeof(ret) == 'function') ? ret(event_data) : ret; if (event_name == 'show_page') { var dc = localStorage.getItem('do_calc_fv'); if (dc) { localStorage.removeItem('do_calc_fv'); return dc == 'yy' ? 'force' : true; } } return false; }, mark_for_calc: function(force) { try { localStorage.setItem('do_calc_fv', force ? 'yy' : 'y'); } catch(err) {} }, reset: function() { try { localStorage.setItem('fv', null); console.log('FV: reset'); } catch(err) {} }, store: function(event_name, data, d) { try { if (this.working) return; var key = this.get_event(event_name, data); if (key) { var fv; try { fv = JSON.parse(localStorage.getItem('fv')) || {}; } catch(err){ fv = {} } if (!(fv.v && fv.v == this.version)) fv = {} var ts = Math.round(d.getTime() / 1000); fv.vtid = data.device_id; //TODO: if changed ? fv.v = this.version; if (!fv.data) fv.data = {} fv.data[key] = ts; console.log('FV: store ' + key + ' = ' + ts); var sfv = JSON.stringify(fv); localStorage.setItem('fv', sfv); } } catch(err){ console.log('[FV] error storing ' + event_name + 'in tracking fv: ' + err); } try{ var dc = this.do_calc(event_name, data) if (dc) this.calc(event_name, (dc==='force')); } catch(err){ } }, calc: function(label, force) { try{ setTimeout(function(){globals.alooma.fv._calc(label, force)}); } catch(err){} }, _calc: function(label, force) { if (this.working) return; var fv = JSON.parse(localStorage.getItem('fv')) || {}; var d = new Date(); var n = Math.round(d.getTime() / 1000); var CALC_TIME_DIFF = 7; // in minutes var FIRE_TIME_DIFF = 25; // in hours // need at least 1 client side item in FV if (!fv.data || Object.keys(fv.data).length == 0) return; // calced lately already if (!force && fv.calc_ts && fv.calc_ts > (n-60*CALC_TIME_DIFF)) return; // TODO: if all events already fired in the last X hours // if (fired_ts && fv.fired_ts > (n-3600*FIRE_TIME_DIFF)) // return; this.working = true; console.log('FV: calc ' + JSON.stringify(fv)); var me = this; $.post(globals.prot_and_server + '/api/proxy_kpi', {vtid: fv.vtid, version: fv.v, fv: JSON.stringify(fv.data), now:n, label:label||''}, function(data){ try { if (data.status && data.status == 'OK' && data.events) { if (!fv.fired) fv.fired={}; //console.log('FV: resp ' + JSON.stringify(data)); for (var i=0; i<data.events.length; i++) { if (!fv.fired[data.events[i].name] || fv.fired[data.events[i].name] < n-3600*FIRE_TIME_DIFF) { console.log('FV: firing ' + data.events[i].name); globals.fb_pixel.track_custom(data.events[i].name); //globals.alooma.track('send_facebook_pixel', {type:data.events[i].name}); fv.fired[data.events[i].name] = n; } else { console.log('FV: already fired ' + data.events[i].name + ' ' + (n-fv.fired[data.events[i].name]) + ' sec ago'); } } fv.fired_ts = n; } fv.calc_ts = n; localStorage.setItem('fv', JSON.stringify(fv)); } catch(err){} me.working = false; }).fail(function(data) { try { try{ if (data && data.responseText) { var resp = JSON.parse(data.responseText); if (resp && resp.errcode == 2040) fv.data={} } } catch(err){} fv.calc_ts = n; localStorage.setItem('fv', JSON.stringify(fv)); } catch(err){} me.working = false; }); } }, */ _prepare: function(extra_data, d) { var date_str = ( d.getFullYear() + "-" + ("00" + (d.getMonth() + 1)).slice(-2) + "-" + ("00" + d.getDate()).slice(-2) ), ts_str = ( d.getFullYear() + "-" + ("00" + (d.getMonth() + 1)).slice(-2) + "-" + ("00" + d.getDate()).slice(-2) + " " + ("00" + d.getHours()).slice(-2) + ":" + ("00" + d.getMinutes()).slice(-2) + ":" + ("00" + d.getSeconds()).slice(-2) ); var device_id_arr = common.get_device_id_arr(); var web_origin = 'web'; if (globals.app && globals.app == 'chant') { web_origin = 'chant_web'; } if (globals.app && globals.app == 'shopify') { web_origin = 'shopify_web'; } var data = { log_type: 'web', origin: web_origin, client_date: date_str, client_timestamp: ts_str, device_id: device_id_arr[0], debug_mode: false, plan_type: "" || "free", has_opt_out_trial: false, has_opt_in_trial: false, path: document.location.pathname }; if (device_id_arr[1]) data.is_first = true; if (globals.alooma.uid) data.user_id = parseInt(globals.alooma.uid); if (extra_data) Object.assign(data, extra_data); return data; }, _track: function(event_name, data, cb, d) { if (typeof cb != 'function') cb = function(){}; if(event_name == 'press_button' && data.prev_path){ delete data.prev_path; } else if(event_name == 'show_page' && !!data && !!data.prev_path){ data.prev_path = stripVarsFromString(data.prev_path); } else if(event_name == 'show_page' && !data.prev_path){ if(window.location.host.indexOf('magisto.com') !== -1){ var prev_path = document.referrer.replace(/^[^:]+:\/\/[^/]+/, '').replace(/#.*/, '') data.prev_path = stripVarsFromString(prev_path); } } //setTimeout(function(){try {globals.alooma.fv.store(event_name, data, d); } catch (err) {}}); //console.log('IM HERE'); // fb_segment_tracking try { var e_type = null; if (event_name == 'connect_done') { e_type = data.type == 'signup' ? 'signup' : 'login'; } else if (event_name == 'show_page' && data.is_first) { e_type = 'firstPageView'; } else if (event_name == 'show_landing_page' && data.is_first_time_business) { e_type = 'firstBusinessPageView'; } else if (event_name == 'createmovie') { e_type = 'createmovie'; } else if (event_name == 'show_purchase_screen') { e_type = 'pricingpage'; } if (e_type) pixel_tracking(['fb_custom', 'segment', Object.assign({type: e_type}, globals.alooma.get_device_id_user_segments(12))]); } catch(err) {}; }, track: function(event_name, extra_data, cb) { try { if(!!extra_data && !extra_data["prev_path"]){ var origin = (document.location && document.location.origin ? document.location.origin : window.origin); var prev_path = document.referrer.replace(origin,''); if(!!prev_path){ extra_data["prev_path"] = prev_path; } } var d = new Date(), data = globals.alooma._prepare(extra_data, d); globals.alooma._track(event_name, data, cb, d); /*if(!!globals.is_debug) */ console.log('[al] ' + event_name + ': ' + JSON.stringify(data)); if (cb) setTimeout(cb, 400); // silent fallback } catch(err){ console.log('alooma error: ' + err); if (cb) cb(); } }, queue: function(event_name, extra_data) { try { var data = globals.alooma._prepare(extra_data, new Date()), q = []; try { q = JSON.parse(localStorage.getItem('al_queue')) || []; } catch(err){} q.push({event:event_name, data:data}) localStorage.setItem('al_queue' , JSON.stringify(q)); } catch(err){} }, track_queue: function() { try { var q = JSON.parse(localStorage.getItem('al_queue')) || null; if (q) { var d = new Date(); for (var i=0; i< q.length; i++) { try { globals.alooma._track(q[i].event, q[i].data, null, d); console.log('[al] ' + q[i].event + ': ' + JSON.stringify(q[i].data)); } catch(err){} } localStorage.removeItem('al_queue'); } } catch(err){ console.log('Error processing alooma queue: ' + err); } }, store_tracking_data: function(key, data) { try { localStorage.setItem(key, JSON.stringify(data)); } catch(err){} }, pop_tracking_data: function(key) { var data = null; try { var data = JSON.parse(localStorage.getItem(key)) || null; if (data !== null) localStorage.removeItem(key); } catch(err){} return data; }, get_device_id: function() { return common.get_device_id(); }, _tonum: function(str) { var hash = 0, i, chr; str = str + ''; if (str.length === 0) return hash; for (i = 0; i < str.length; i++) { chr = str.charCodeAt(i); hash = ((hash << 5) - hash) + chr; hash |= 0; // Convert to 32bit integer } hash = hash >>> 0; return hash; }, get_device_id_user_segments: function(num_segments) { ret = { device_segment: 1 + globals.alooma._tonum(common.get_device_id()) % num_segments}; if (globals.alooma.uid) ret.user_segment = 1 + globals.alooma._tonum(globals.alooma.uid) % num_segments; return ret }, popups_track: function(event_name, extra_params) { var ev; if (event_name == 'show') ev = 'show_popup'; else if (event_name == 'press') ev = 'press_popup'; else return; globals.alooma.track(ev, extra_params); }, get_internal_linking_params: function(via) { return 'via='+encodeURIComponent(via)+'&prev_path='+window.location.pathname; }, get_utm_data: function(params) { var params = params || {}; if (common.get_url_param('utm_campaign')) params.utm_campaign = common.get_url_param('utm_campaign'); if (common.get_url_param('utm_term')) params.utm_term = common.get_url_param('utm_term'); if (common.get_url_param('utm_content')) params.utm_content = common.get_url_param('utm_content'); if (common.get_url_param('utm_medium')) params.utm_medium = common.get_url_param('utm_medium'); if (common.get_url_param('utm_source')) params.utm_source = common.get_url_param('utm_source'); if (common.get_url_param('adgroup')) params.adgroup = common.get_url_param('adgroup'); if (common.get_url_param('matchtype')) params.matchtype = common.get_url_param('matchtype'); if (common.get_url_param('distribution')) params.distribution = common.get_url_param('distribution'); if (common.get_url_param('placement')) params.placement = common.get_url_param('placement'); if (common.get_url_param('partner')) params.partner = common.get_url_param('partner'); if (common.get_url_param('via')) params.via = common.get_url_param('via'); if (common.get_url_param('prev_path')) params.prev_path = common.get_url_param('prev_path'); if (common.get_url_param('campaign_id')) params.campaign_id = common.get_url_param('campaign_id'); if (common.get_url_param('adgroup_id')) params.adgroup_id = common.get_url_param('adgroup_id'); if (common.get_url_param('keyword_id')) params.keyword_id = common.get_url_param('keyword_id'); if (common.get_url_param('ad_id')) params.ad_id = common.get_url_param('ad_id'); if (common.get_url_param('fb_ad_id')) params.ad_id = common.get_url_param('fb_ad_id'); if (common.get_url_param('page_type')) params.type = common.get_url_param('page_type'); if (common.get_url_param('gclid')) params.gclid = common.get_url_param('gclid'); if (common.is_optin_flow()) params.with_optin = true; return params; } }; (function(){ setTimeout(function(){ globals.alooma.track_queue(); try{ globals.alooma.track('show_page',globals.alooma.get_utm_data(globals.show_page_params)); } catch(err){ console.log('Error auto-tracking pageview with alooma: ' + err); } }); })(); </script> <script> function set_fb_tracking(){ !function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod? n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n; n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0; t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window, document,'script','//web.archive.org/web/20211217083631/https://connect.facebook.net/en_US/fbevents.js'); fbq('init', '578629842302451'); fbq('track', "PageView"); } function set_bing_tracking(){ (function(w,d,t,r,u){var f,n,i;w[u]=w[u]||[],f=function(){var o={ti:"33000079"};o.q=w[u],w[u]=new UET(o),w[u].push("pageLoad")},n=d.createElement(t),n.src=r,n.async=1,n.onload=n.onreadystatechange=function(){var s=this.readyState;s&&s!=="loaded"&&s!=="complete"||(f(),n.onload=n.onreadystatechange=null)},i=d.getElementsByTagName(t)[0],i.parentNode.insertBefore(n,i)})(window,document,"script","//web.archive.org/web/20211217083631/https://bat.bing.com/bat.js","uetq"); }; function set_ga_tracking(){ (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//web.archive.org/web/20211217083631/https://www.google-analytics.com/analytics.js','ga'); ga('set', 'anonymizeIp', true); ga('create', 'UA-21702090-1', 'auto'); console.log('INIT GA:UA-21702090-1'); // custom dimensions ga('set', 'dimension3', globals.is_authenticated ? 'logged-in' : 'logged-out'); if (globals.is_business) ga('set', 'dimension4', globals.opt_in_trial ? 'business-trial' : 'business-subscriber'); ga('send', 'pageview'); }; </script> <script type="text/javascript">function init_external_tracking(flush_events){if(typeof set_ga_tracking!=='undefined') set_ga_tracking();if(typeof set_fb_tracking!=='undefined') set_fb_tracking();if(typeof set_bing_tracking!=='undefined') set_bing_tracking();if(flush_events){pixel_tracking([]);}} function flush_page_events(){pixel_tracking([]);} init_external_tracking(false);globals.fb_pixel={_alooma:function(event_name,data){try{var a_data={} if(data) Object.assign(a_data,data);if('type'in a_data) a_data.type2=event_name;else a_data.type=event_name;globals.alooma.track('send_facebook_pixel',a_data);}catch(err){}},set_user_props:function(props,cb){try{FB.getLoginStatus(function(response){if(response&&response.authResponse){FB.AppEvents.setUserID(response.authResponse.userID);FB.AppEvents.updateUserProperties(props) console.log('[fb] [DEBUG] set_user_props: '+JSON.stringify(props));}});}catch(err){console.log('fb tracking error: '+err);}},track:function(event_name,extra_data,cb){if(typeof cb!='function') cb=function(){};try{var data={};if(extra_data) Object.assign(data,extra_data);if(typeof fbq!=='undefined'){fbq('track',event_name,data);console.log('[fb] '+event_name+': '+JSON.stringify(data));}else{console.log('[fb] [DEBUG] '+event_name+': '+JSON.stringify(data));} setTimeout(cb,800);globals.fb_pixel._alooma(event_name,data)}catch(err){console.log('fb tracking error: '+err);cb();}},track_custom:function(event_name,extra_data,cb){if(typeof cb!='function') cb=function(){};try{var data={};if(extra_data) Object.assign(data,extra_data);if(typeof fbq!=='undefined'){fbq('trackCustom',event_name,data);console.log('[fbc] '+event_name+': '+JSON.stringify(data));}else{console.log('[fbc] [DEBUG] '+event_name+': '+JSON.stringify(data));} setTimeout(cb,800);globals.fb_pixel._alooma(event_name,data)}catch(err){console.log('fb custom tracking error: '+err);cb();}},_track_once:function(event_name,extra_data,is_custom,cache_key){try{var c_id='fbpxl_'+(!!cache_key?cache_key:event_name);var last_time=localStorage.getItem(c_id);var d=new Date();var n=Math.round(d.getTime()/1000);var FIRE_TIME_DIFF=3600*24*30;if(last_time){last_time=parseInt(last_time);if(last_time&&last_time>n-FIRE_TIME_DIFF) return;if(last_time==1) return;} localStorage.setItem(c_id,n);if(is_custom) globals.fb_pixel.track_custom(event_name,extra_data);else globals.fb_pixel.track(event_name,extra_data);}catch(err){console.log('fb track_once error: '+err);}},track_once:function(event_name,extra_data,cache_key){globals.fb_pixel._track_once(event_name,extra_data,false,cache_key);},track_custom_once:function(event_name,extra_data,cache_key){globals.fb_pixel._track_once(event_name,extra_data,true,cache_key);}};globals.bing={event:function(label){try{if(window.uetq){window.uetq.push({'ec':'category','ea':'action','el':label});console.log('[bing] '+label);}else{console.log('[bing] [DEBUG] '+label);}}catch(err){console.log('bing error: '+err);}}};globals.ga={event:function(category,action,label,value,cb){try{if(typeof ga!=='undefined'){ga('send','event',category,action,label,(value||0),{'nonInteraction':1});console.log('[GA] E:'+category+' | '+action+' | '+label);}else{console.log('[GA] [DEBUG] E:'+category+' | '+action+' | '+label);}}catch(err){console.log('g.a ev error: '+err);} if(cb&&typeof cb=='function'){setTimeout(cb,800);}},pageview:function(page,cb){try{if(typeof ga!=='undefined'){ga('send','pageview',page);console.log('[GA] P:'+page);}else{console.log('[GA] [DEBUG] P:'+page);}}catch(err){console.log('g.a pv error: '+err)} if(cb&&typeof cb=='function'){setTimeout(cb,800);}},set:function(metric,data,cb){try{if(typeof ga!=='undefined'){ga('set',metric,data);console.log('[GA] S:'+metric,data);}else{console.log('[GA] [DEBUG] P:'+metric,data);}}catch(err){console.log('g.a pv error: '+err)} if(cb&&typeof cb=='function'){setTimeout(cb,800);}}};</script> <!-- Global site tag (gtag.js) - Google Ads: 754306960 --> <!-- /* ----------------- */ /* Google Site Tag */ /* ----------------- */ --> <script async src="https://web.archive.org/web/20211217083631js_/https://www.googletagmanager.com/gtag/js?id=AW-754306960"></script> <script> try{ window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'AW-754306960'); } catch(err) {} </script> <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://web.archive.org/web/20211217083631if_/https://www.googletagmanager.com/ns.html?id=GTM-T4P8MR3" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <!-- CrazyEgg code --> <script type="text/javascript" src="//web.archive.org/web/20211217083631js_/https://script.crazyegg.com/pages/scripts/0014/1514.js" async="async"></script> <script type="text/javascript" src="//web.archive.org/web/20211217083631js_/https://d1ekrxlws13em5.cloudfront.net/media/cached/js/552123290aac.js"></script> <script type="application/ld+json"> { "@context": "https://web.archive.org/web/20211217083631/http://schema.org", "@type": "Product", "description": "Create video stories perfect for sharing with family & friends", "name": "Premium", "offers": { "@type": "Offer", "availability": "https://web.archive.org/web/20211217083631/http://schema.org/InStock", "price": "4.99", "priceCurrency": "USD", "url": "https://web.archive.org/web/20211217083631/https://www.magisto.com/pricing" }, "image": "https://web.archive.org/web/20211217083631/https://www.magisto.com/media/new/img/logo_magisto.png", "brand": "Magisto" } </script> <script type="application/ld+json"> { "@context": "https://web.archive.org/web/20211217083631/http://schema.org", "@type": "Product", "description": "Easily create powerful videos with advanced editing & professional styles", "name": "Professional", "offers": { "@type": "Offer", "availability": "https://web.archive.org/web/20211217083631/http://schema.org/InStock", "price": "9.99", "priceCurrency": "USD", "url": "https://web.archive.org/web/20211217083631/https://www.magisto.com/pricing" }, "image": "https://web.archive.org/web/20211217083631/https://www.magisto.com/media/new/img/logo_magisto.png", "brand": "Magisto" } </script> <script type="application/ld+json"> { "@context": "https://web.archive.org/web/20211217083631/http://schema.org", "@type": "Product", "description": "Branded engaging videos, perfect for businesses, marketing pros & agencies", "name": "Business", "offers": { "@type": "Offer", "availability": "https://web.archive.org/web/20211217083631/http://schema.org/InStock", "price": "34.99", "priceCurrency": "USD", "url": "https://web.archive.org/web/20211217083631/https://www.magisto.com/pricing" }, "image": "https://web.archive.org/web/20211217083631/https://www.magisto.com/media/new/img/logo_magisto.png", "brand": "Magisto" } </script> <script> var al_ev_data = { type: globals.plan_types, is_opt_out_trial: globals.has_deferred, is_switch_plan:globals.buy_mode=='change_plan', embedded_by: '' } setTimeout(function(){ if ($('#monthly_yearly').length > 0) al_ev_data.duration_toggle_value = $('#monthly_yearly:checked').length > 0 ? 'monthly' : 'yearly'; else al_ev_data.duration_toggle_value = 'none'; globals.alooma.track('show_purchase_screen', globals.alooma.get_utm_data(al_ev_data)) },10); </script> <script> </script> <script> common.lazy_load_popup('create-split-popup'); </script> </body> </html> <!-- FILE ARCHIVED ON 08:36:31 Dec 17, 2021 AND RETRIEVED FROM THE INTERNET ARCHIVE ON 20:08:46 Dec 04, 2024. JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE. ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C. SECTION 108(a)(3)). --> <!-- playback timings (ms): captures_list: 0.976 exclusion.robots: 0.06 exclusion.robots.policy: 0.044 esindex: 0.017 cdx.remote: 9.939 LoadShardBlock: 117.816 (3) PetaboxLoader3.datanode: 76.54 (4) PetaboxLoader3.resolve: 153.149 (2) load_resource: 150.678 -->