<!DOCTYPE html>
<html  ng-app="vpModule" ng-controller="VPController">
<head>
   <meta charset="utf-8"/>
   <meta name="viewport" content="width=1200">
   <meta name="msvalidate.01" content="AF86D6C94D0294C6DCFF4C02777B9787" />
   
   <link rel="stylesheet" href="/st/css/main.css">
   <link rel="stylesheet" href="/st/css/common.css">
   
   <link rel="stylesheet" href="https://vjs.zencdn.net/4.5/video-js.css">
   
   <script  src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
   <script  src="/st/js/o/easing.js"></script>
   
   <link rel="apple-touch-icon" sizes="57x57" href="/st/fav/apple-touch-icon-57x57.png">
   <link rel="apple-touch-icon" sizes="114x114" href="/st/fav/apple-touch-icon-114x114.png">
   <link rel="apple-touch-icon" sizes="72x72" href="/st/fav/apple-touch-icon-72x72.png">
   <link rel="apple-touch-icon" sizes="144x144" href="/st/fav/apple-touch-icon-144x144.png">
   <link rel="apple-touch-icon" sizes="60x60" href="/st/fav/apple-touch-icon-60x60.png">
   <link rel="apple-touch-icon" sizes="120x120" href="/st/fav/apple-touch-icon-120x120.png">
   <link rel="apple-touch-icon" sizes="76x76" href="/st/fav/apple-touch-icon-76x76.png">
   <link rel="apple-touch-icon" sizes="152x152" href="/st/fav/apple-touch-icon-152x152.png">
   <meta name="apple-mobile-web-app-title" content="Videopixie">
   <link rel="icon" type="image/png" href="/st/fav/favicon-196x196.png" sizes="196x196">
   <link rel="icon" type="image/png" href="/st/fav/favicon-160x160.png" sizes="160x160">
   <link rel="icon" type="image/png" href="/st/fav/favicon-96x96.png" sizes="96x96">
   <link rel="icon" type="image/png" href="/st/fav/favicon-16x16.png" sizes="16x16">
   <link rel="icon" type="image/png" href="/st/fav/favicon-32x32.png" sizes="32x32">
   <meta name="msapplication-TileColor" content="#ffffff">
   <meta name="msapplication-TileImage" content="/st/fav/mstile-144x144.png">
   <meta name="application-name" content="Videopixie">
   
   
   
   <title>Best Explainer Videos of 2015</title>
   <meta name="description" content="2015 was a great year for explainer videos. Here is a selection of our favorite explainer videos, along with expert analyses from our creative director Libby Cooper, to help you obtain equally stellar results on your next project.">
   <link href='//fonts.googleapis.com/css?family=Open+Sans' rel='stylesheet' type='text/css'>
   <link href='//fonts.googleapis.com/css?family=Montserrat:400,700' rel='stylesheet' type='text/css'>
   <link rel="stylesheet" type="text/css" href="/st/css/content.css">
   <meta property="fb:app_id" content="257876044244230" /> 
   <style>
      h1 {font-size:40px;}

.img-wrap-16-9{
   position: relative;
   width: 100%;
   padding-bottom: 56.25%;
   background-color: #F6F7F8;
   margin-bottom:15px;
   cursor:pointer;
}

.img-wrap-16-9>img{
   width: 100%;
   position: absolute;
}

.img-wrap-16-9>img.arrow{
   width: 50px;
   left:45%;
   top:45%;
}
   </style>
   
   <!-- Twitter Card data -->
   <meta name="twitter:card" content="summary_large_image">
   <meta name="twitter:site" content="@videopixie">
   <meta name="twitter:title" content="Best Explainer Videos of 2015">
   <meta name="twitter:description" content="2015 was a great year for explainer videos. Here is a selection of our favorite explainer videos, along with expert analyses from our creative director Libby Cooper, to help you obtain equally stellar results on your next project.">
   <meta name="twitter:creator" content="@videopixie">
   <meta name="twitter:image:src" content="https://s3.amazonaws.com/our.s3.videopixie.com/landing/best-explainer-videos-2015-640-360.jpg">

   <!-- Open Graph data -->
   <meta property="og:title" content="Best Explainer Videos of 2015" />
   <meta property="og:type" content="article" />
   <meta property="og:url" content="https://www.videopixie.com/best-explainer-videos-of-2015" />
   <meta property="og:image" content="https://s3.amazonaws.com/our.s3.videopixie.com/landing/best-explainer-videos-2015-640-360.jpg" />
   <meta property="og:description" content="2015 was a great year for explainer videos. Here is a selection of our favorite explainer videos, along with expert analyses from our creative director Libby Cooper, to help you obtain equally stellar results on your next project." /> 
   <meta property="og:site_name" content="Videopixie" />
   <meta property="fb:admins" content="594398981" />   


      
   <link href='//fonts.googleapis.com/css?family=Montserrat:700' rel='stylesheet' type='text/css'>
   <link href='//fonts.googleapis.com/css?family=Open+Sans:400,600,700' rel='stylesheet' type='text/css'>
   
   <script  src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.5/angular.min.js"></script>
   <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.5/angular-animate.min.js"></script>
   
   <script>
      window.SES={};
      SES.is_dev_enviro = false;
      SES.coupon_unavailable = false;

      var vpModule = angular.module('vpModule', ['ngAnimate',]);
       
   </script>
   
  
   
   <script src="/st/build/vjs.4.5.min.js"></script>
   
   <!--
      <script type="text/javascript" src="/st/build/vjs-extra.concat.js"></script>
   -->
   <script  src="/st/build/vjs-extra.min.js"></script>
   
   <script  src="/st/js/o/common.js"></script>
   <script  src="/st/js/c/VPController.js"></script>
   <script  src="/st/js/c/DirectivesCommon.js"></script>
   <script  src="/st/js/c/MediaModalController.js"></script>
   <script  src="/st/js/c/EditorProfileController.js"></script>
   <script>
      
   var log = VPL('HomePageController');
      
   
   vpModule.controller('HomePageController', ['$scope', 'comm', '$http', 
      function($scope, comm, $http){
      
         $scope.mediaClick = function(id, evt, _options, size){
         
            log.d('mediaClick', _options);

            var content = $(evt.currentTarget).children('.about').eq(0).html()
            var options = _options || {}
            
            comm.broadcast(VP.SHOW_MEDIA,{
               mode: (content ? VP.SIDEBAR_MODES.HTML_MODE : VP.SIDEBAR_MODES.ASSET_MODE),
               htmlSidebarContent: content,
               mediaData: {
                  bucket: options.bucket || "our.s3.videopixie.com/examples/",
                  provider: options.provider || "",
                  provider_id: id,
                  file_extension: 'mp4', 
                  hasWebm: true,
                  overlays: options.overlays || null,
                  format: options.format || null
               },
               size: size
            });
         };
         
         $scope.homepageVideo = function(id,evt){
         
            $scope.mediaClick(id, evt, {
               bucket: 'our.s3.videopixie.com/video/',
               format: '704p'
            },
            {
               width: 1024,
               height: 576,
               media_width: 1024,
               media_height: 576
            });
         }
         
         
         $scope.$watch('MediaModal',function(isPlaying){
         
            window.isPlayingVideo = !!isPlaying;
         });
         
         
         $scope.registerNew = function(){
         
            var path = '/register/new';
            
            if (!$scope.registerNewEmailAddress || $scope.registerNewEmailAddress.length < 3){
               return;
            }
            
            var data = {
               email_address: $scope.registerNewEmailAddress,
               type_context: SES.type_context || ''
            };
            
            $scope.registerNewPending = true;
            $scope.registerNewErrorMsg = null;
           
            $http.post(path, data).then(
               function registerNewSuccess(response){
                  log.d('SUCCESS', path);
                  $scope.registerNewComplete = true;
                  $scope.registerNewPending = false;
               },
               function registerNewError(response){
                  log.d('ERROR', path, response);
                  $scope.registerNewErrorMsg = response.data.error.human;
                  $scope.registerNewPending = false;
               }
            );
            
         
         }

         
         
      }]);
      
      
      
      $(document).ready(function(){
         $('.click-proxy').click(function(evt){
         
            var id = $(evt.currentTarget).attr('click-proxy');
            //console.log('click-proxy', id);
            $('#'+id).triggerHandler('click');
            
         });
         
         (function(d, s, id) {
           var js, fjs = d.getElementsByTagName(s)[0];
           if (d.getElementById(id)) return;
           js = d.createElement(s); js.id = id;
           js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId=257876044244230";
           fjs.parentNode.insertBefore(js, fjs);
         }(document, 'script', 'facebook-jssdk'));
      
      });

   </script>

   
   <!-- start Mixpanel -->
   <script type="text/javascript">
    (function(c,a){window.mixpanel=a;var b,d,h,e;b=c.createElement("script");
    b.type="text/javascript";b.async=!0;b.src=("https:"===c.location.protocol?"https:":"http:")+
    '//cdn.mxpnl.com/libs/mixpanel-2.2.min.js';d=c.getElementsByTagName("script")[0];
    d.parentNode.insertBefore(b,d);a._i=[];a.init=function(b,c,f){function d(a,b){
    var c=b.split(".");2==c.length&&(a=a[c[0]],b=c[1]);a[b]=function(){a.push([b].concat(
    Array.prototype.slice.call(arguments,0)))}}var g=a;"undefined"!==typeof f?g=a[f]=[]:
    f="mixpanel";g.people=g.people||[];h=['disable','track','track_pageview','track_links',
    'track_forms','register','register_once','unregister','identify','alias','name_tag',
    'set_config','people.set','people.increment','people.track_charge','people.append'];
    for(e=0;e<h.length;e++)d(g,h[e]);a._i.push([b,c,f])};a.__SV=1.2;})(document,window.mixpanel||[]);
    mixpanel.init("5f3d14b1f63c57b8546c6c7f095ae4b2");
   </script>
   <!-- end Mixpanel -->
   
   
   <script type="text/javascript" src="/st/js/v/ses_mixpanel.js"></script>
   
   <!--[if lt IE 7.]>
      <script defer type="text/javascript" src="st/pngfix.js"></script>
   <![endif]-->
   
   <script>
      (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','//www.google-analytics.com/analytics.js','ga');

      ga('create', 'UA-42918769-1', 'videopixie.com');
      ga('require', 'displayfeatures');
      ga('send', 'pageview');
      
      var referrerCookieName = 'vpFirstReferrer';
      if (!readCookie(referrerCookieName)){
         var ref = document.referrer || 'empty';
         createCookie(referrerCookieName , ref ,365*2);
      }
   </script>
  
   
    
   
  
</head>
<body class="VP"  ng-controller="HomePageController">
   
   <div id="header">
      <a href="/"><img id="logo" src="/st/images/logo_text_and_pixie.png" alt="Videopixie"></a>
      <a id="phone" href="tel:1 800 510 6570">1 (800) 510-6570</a>
      
      
      
         
         <a href="/sign-in"><div class="button blue">Sign in</div></a>
         
         
      
      
      
      <a class="right-link" href="/pricing">Pricing</a>
      <a class="right-link" href="/video-school">Video School</a>
      <a class="right-link browse-link browse-link-first" href="/videographers">Videographers</a>
      <span class="link-spacer">|</span>
      <a class="right-link browse-link" href="/video-animators">Animators</a>
      <span class="link-spacer">|</span>
      <a class="right-link browse-link" href="/video-editors">Browse:&nbsp; Video editors</a>
      
   </div>
   
   
   

<div id="fb-root"></div>

<div class="hero" style="background-image: url('https://s3.amazonaws.com/our.s3.videopixie.com/landing/school-tables.jpg')">
   
   <div class="header_top_bar">
      <div class="blog_title">
         <a href="/video-school">Video School</a>
      </div>
   </div>

</div>
   
<div class="content_container">
  
   <div class="fixed_width">
      <div class="left_column">
         
         <div id="main_content_column">
            
            <h1>Best Explainer Videos of 2015</h1>
            <div class="author_container">
               By Libby Cooper
            </div>
            <div class="date_container">
               January 7, 2016
            </div>
           
            
            
            <div class="content">
               <p>Hi everyone, Libby here at Videopixie HQ about to review our favorite explainer videos of 2015!</p>
<p>Creating an engaging explainer video can be challenging, but it’s really important for your product. Explainer videos are great for pitches, fundraising, customer acquisition, and selling your product.</p>
<div class="img-wrap-16-9" ng-click="mediaClick('hng7BhwwRdQ',
                        $event,{
                           provider:'youtube',
                           bucket: '', 
                           format:''
                        },{
                           media_width:1024,
                           media_height:576,
                           width:1024,
                           height:576
                        })">
           <img src='https://s3.amazonaws.com/our.s3.videopixie.com/landing/best-explainer-videos-2015-640-360.jpg' alt="best explainer videos of 2015">
           <img  class="arrow" src="/st/images/white-arrow.png">
</div>
<p>Today we will be reviewing 6 videos, counting down to our favorite. I think it’ll be your favorite too!</p>

<h2>#6 - Tea consent explainer video</h2>
<p>Starting off our list at number 6, we have Tea Consent by <a href="http://www.blueseatstudios.com/" target="_vp_bss">Blue Seat Studio</a>. Tea Consent is our favorite Simple Explainer. This hilarious metaphor on a very important subject was executed very simply.</p>
<div class="img-wrap-16-9" ng-click="mediaClick('fGoWLWS4-kU',
                        $event,{
                           provider:'youtube',
                           bucket: '', 
                           format:''
                        },{
                           media_width:1024,
                           media_height:576,
                           width:1024,
                           height:576
                        })">
           <img src='https://s3.amazonaws.com/our.s3.videopixie.com/landing/tea_consent_640_360_3.jpg'>
           <img class="arrow" src="/st/images/white-arrow.png">
</div>



<p>Unlike many animations out there, the stick man drawings with very little animation supports the voice over, not the other way around.</p>
<p>By crafting a really strong script, the rest of the explainer video does not need to be high end. Even the voice over recording itself does not need to be too fancy</p> 
If your topic is compelling to a large audience, this inexpensive route of storytelling with the enhancement of images will cost $800.  

<h2>#5 - Tasty how-to video</h2>
<p>Coming in hot at number 5 is a recipe video from <a href="https://www.facebook.com/buzzfeedtasty" target="_vp_ty">Tasty</a>, a social media cooking page. This Apple Spice Cake is our favorite example of a Live Action with no Voice Over.</p>
<div class="img-wrap-16-9" ng-click="mediaClick('5Lahp4GsI64',
                        $event,{
                           provider:'youtube',
                           bucket: '', 
                           format:''
                        },{
                           media_width:718,
                           media_height:718,
                           width:718,
                           height:718
                        })">
           <img src='https://s3.amazonaws.com/our.s3.videopixie.com/landing/tasty_640_360.jpg'>
           <img class="arrow" src="/st/images/white-arrow.png">
</div>

<p>This video could not be simpler. At 15 seconds long, Tasty uses their recognizable style of a hand putting together the recipe and the “magic of filmmaking” to elude to time passing.</p>
<p>This is great for explaining hands-on tasks to an audience that really doesn’t have a long attention span. Ideal for sharing on Facebook.</p>
<p>A one man band style producer can direct, film, and edit a video like this for $1000. OR if you film it yourself, an editor will cut the footage for $200.</p> 


<h2>#4 - CleanMyMac pre-roll ad</h2>
<p>Now at number 4 we have BYOB Lumberjack Party by <a href="http://www.motionauthors.com/" target="_vp_ma">Motion Authors</a>. This pre-roll ad from CleanMyMac is the perfect example of an Animated Explainer with no Voice Over.</p>
<div class="img-wrap-16-9" ng-click="mediaClick('114864018',
                        $event,{
                           provider:'vimeo',
                           bucket: '', 
                           format:''
                        },{
                           media_width:1024,
                           media_height:576,
                           width:1024,
                           height:576
                        })">
           <img src='https://s3.amazonaws.com/our.s3.videopixie.com/landing/clean_my_mac_640_360.jpg'>
           <img class="arrow" src="/st/images/white-arrow.png">
</div>

<p>Cute, funny, with likeable characters, this 2D animation takes a concept that is relatable and turns it into a fun little narrative.  
When working without voice over, it can be nice to turn to audio effects and music to really set the mood.</p>
<p>For a 2D animation like this with a custom sound board, you would need to hire a talented creative team including a graphic designer, a motion graphics artist, and an audio engineer for a total of $5000.</p>


<h2>#3 - Stampsy animated explainer</h2>
<p>At number three on our list, we have Stampsy by <a href="http://twistedpoly.com/" target = "_vp_tp">TwistedPoly & Co</a> with its incredible, mind blowing graphics show off the best 3D Animation in an explainer we’ve seen this year.</p>
<div class="img-wrap-16-9" ng-click="mediaClick('121003295',
                        $event,{
                           provider:'vimeo',
                           bucket: '', 
                           format:''
                        },{
                           media_width:1024,
                           media_height:576,
                           width:1024,
                           height:576
                        })">
           <img src='https://s3.amazonaws.com/our.s3.videopixie.com/landing/stampsy_640_360.jpg'>
           <img class="arrow" src="/st/images/white-arrow.png">
</div>
<p>Stampsy’s art direction is impeccable. It’s unusual. It’s tasteful. The visuals in this piece are unlike anything you see in other explainer videos.</p>
<p>Flawless animation is coupled with perfect audio. A very professional voice over and a great soundtrack make this end high video feeling polished - the cherry on top one could say.</p>
<p>A stunning 3D explainer video like this is going to take a large budget. You will need to hire a studio that can conceptualize and execute on something never seen before. They will pitch concepts to you until you fall in love. Starting at $20,000, you can begin to dive into the deep end of 3D animation.</p>

<h2>#2 - Shared Hope explainer video</h2>
<p>Our runner up! Landing our number 2 spot, Shared Hope International by <a href="http://ataboystudios.com/" target="_vp_ab">Ataboy</a> is a beautifully drawn and animated emotional piece. It is our favorite example of Emotional Animation.</p>
<div class="img-wrap-16-9" ng-click="mediaClick('141675644',
                        $event,{
                           provider:'vimeo',
                           bucket: '', 
                           format:''
                        },{
                           media_width:1024,
                           media_height:442,
                           width:1024,
                           height:442
                        })">
           <img src='https://s3.amazonaws.com/our.s3.videopixie.com/landing/shared_hope_640_360.jpg'>
           <img class="arrow" src="/st/images/white-arrow.png">
</div>
<p>Emotional Animation is when the graphics really speak to the feelings they are describing. Here, the difficult subject of child traffic is brought to life with deeply evocative graphics.</p>
<p>An explainer video needs to be gripping no matter what the subject, and Hope International does a great job of keeping the audience watching until the final second.</p>
<p>For custom graphics that really mimic your explanation, you will need to hire an illustrator to fully visualize your story. Then an animator will come in and bring it to life for a total of $10,000.</p>


<h2>#1 - Celery non-pitch pitch video</h2>
<p>And now our number one spot! Don’t Be a Pitch try <a href="https://www.trycelery.com/" target="_vp_cy">Celery</a> by <a href="http://www.vireofilms.com/" target="_vp_vf">Vireo Films</a>!</p>
<div class="img-wrap-16-9" ng-click="mediaClick('136953995',
                        $event,{
                           provider:'vimeo',
                           bucket: '', 
                           format:''
                        },{
                           media_width:1024,
                           media_height:576,
                           width:1024,
                           height:576
                        })">
           <img src='https://s3.amazonaws.com/our.s3.videopixie.com/landing/celery_640_360.jpg'>
           <img class="arrow" src="/st/images/white-arrow.png">
</div>

<p>What we love about this video is it pokes fun at every classic explainer video out there.</p>
<p>Notice how in our countdown, we didn’t have any elevator pitch still videos? Nothing great comes from following the mold of every explainer video that has ever been made.</p>
<p>Celery does everything from using our least favorite (link to article) royalty free song to having actors speak in unrealistic voices.
Mockery is genius here because it makes people laugh and share. This video went viral on its first day release. Now isn’t that what everyone wants for their product?</p>
<h2>So there you have it...</h2>
...the best explainers of 2015. Whether it is an animated masterpiece or a beautifully shot live action, explainer videos are an essential part of your product campaign.</p>
<p>If you want to start an explainer video for a marketing campaign, pre-sale, or other product use, check out Videopixie. We are a marketplace for video production, helping you hire the right professional for the job.</p>
<p>Until next time!</p>
            </div>
           
         </div>
      </div>
      
      <div class="right_column">
         
         <div class="sidebar_content_width sidebar_cta_box">
            <h5>Need a video?</h5>
            <a class="stay_white" href="http://www.videopixie.com/">
               <div class="button">Post a project</div>
            </a>
             
         </div>
         
         <div class="sidebar_content_width sidebar_social">
         
            <div class="sidebar_title_line"></div>
            
            <p class="sidebar_title">Follow us</p>
            
            <div class="social-links">
               <div class="social-links-center">
                  <a class="social-link twitter" href="http://www.twitter.com/videopixie">t</a>
                  <a class="social-link facebook" href="http://www.facebook.com/videopixie">f</a>
                  <a class="social-link google" href="http://www.google.com/+videopixie">g+</a>
               </div>
            </div>
         
         </div>
         
        
         
         <div class="sidebar_content_width">
            
            <div class="sidebar_title_line"></div>
            <p class="sidebar_title">Related</p>
            <a class="related" href="https://www.videopixie.com/how-much-does-a-kickstarter-video-cost">
               <img style="width:100%" src="https://s3.amazonaws.com/our.s3.videopixie.com/landing/KS-budget.jpg">
               <span >How much does a Kickstarter video cost</span>
            </a>
            <a class="related" href="https://www.videopixie.com/secrets-of-great-kickstarter-videos">
               <img style="width:100%" src="https://s3.amazonaws.com/our.s3.videopixie.com/landing/kickstarter-hero-picobrew.jpg">
               <span >The 7 secrets of great Kickstarter videos</span>
            </a>
            
         </div>   
         
         
         
         <div class="subscribe sidebar_content_width">
            <h3>Get Kickstarter video tips in your inbox!</h3>
            <img class="pixie" src="/st/images/pixie_face_56x63.png">
            <input type="text" placeholder="Email..."
            ng-model="registerNewEmailAddress" ng-disabled="registerNewComplete || registerNewPending">
            </input>
            <button ng-click="registerNew()" ng-disabled="registerNewComplete || registerNewPending">Subscribe</button>
            <div class="error" ng-show="registerNewErrorMsg">[[registerNewErrorMsg]]</div>
            <div class="success" ng-show="registerNewComplete">
               Subscribed! We hope the emails are useful. If not, unsubscribe via link in email at any time.
            </div>
            <span>We'll send you one email per day for 5 days. <a class="privacy" target="_blank" href="/st/privacy.html">privacy</a></span>
         </div>
         
         
         <div id="cta_dynamic" class="subscribe sidebar_content_width">
            <h3>Get Kickstarter video tips in your inbox!</h3>
            <input type="text" placeholder="Email..."
            ng-model="registerNewEmailAddress" ng-disabled="registerNewComplete || registerNewPending">
            </input>
            <button ng-click="registerNew()" ng-disabled="registerNewComplete || registerNewPending">Subscribe</button>
            <div class="error" ng-show="registerNewErrorMsg">[[registerNewErrorMsg]]</div>
            <div class="success" ng-show="registerNewComplete">
               Subscribed! We hope the emails are useful. If not, unsubscribe via link in email at any time.
            </div>
            <span>We'll send you one email per day for 6 days. <a class="privacy" target="_blank" href="/st/privacy.html">privacy</a></span>
         </div>
         
         
      </div>
   </div>   
   
   <div class="fixed_width">
      <div class="left_column">
      
         <div class="social" id="social">
            <div class="social_buttons">
               <div class="fb-like va" data-href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fwww.videopixie.com%2Fbest-explainer-videos-of-2015" data-layout="button" data-action="like" data-show-faces="true" data-share="true"></div>
               <div class="g-plusone va" data-size="medium" data-annotation="none"></div>

               <script type="text/javascript">
                    (function() {
                     var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
                     po.src = 'https://apis.google.com/js/platform.js';
                     var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
                    })();
               </script>

               <a href="https://twitter.com/share" class="twitter-share-button va" data-count="none">Tweet</a>
               <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
            </div>
            
         </div>

         <div class="fb-comments" data-href="https://www.videopixie.com/best-explainer-videos-of-2015" data-width="100%" data-colorscheme="light"></div>
      
      </div>
   </div>
      
   
  
</div>




<script>
   try {
      var pageName = 'best-explainer-videos-of-2015';
      SES.type_context = 'EXPLAINER';
      var pageVersion = -1;
      var propertiesForMixpanel = {};
      propertiesForMixpanel[pageName + "_version"] = pageVersion;
      
      SES.track({
         event_name:'viewed_content_page',
         p:propertiesForMixpanel,
         details:'viewed_page='+pageName+';',
         should_not_post_event_to_internal:true
      });   
      
   } catch (e) {
      log.d("error logging to mixpanel");
   }   

   $(document).ready(function(){   
   
      var cta = $('#cta_dynamic');
      if (!cta.length){ return; }
      var didScroll = false;
      var $window = $(window);
      var ctaBottom = cta.height() + cta.offset().top;
    
      $window.bind('scroll.cta', function() {
          didScroll = true;
      });
       
      var clearer = setInterval(function() {
         if ( didScroll ) {
            didScroll = false;
              
            if ($window.height() + $window.scrollTop() > ctaBottom){
               cta.animate({opacity: 1.0});
               clearInterval(clearer);
               $window.unbind('scroll.cta');
               
               setTimeout(function(){
               
                  cta.animate({right: '20px'}, 200, function(){
                     cta.animate({right: 0}, 200);
                  });
               }, 500);
            }
         }
      }, 250);
   });





try{
   createCookie('vp_coupon', '', 180);
} catch(e){

}
















</script>



   
   <div id="footer">
      
      <div class="content">
         <img id="footer-logo" src="/st/images/logo_text_and_pixie.png" alt="videopixie logo">
         
         <div id="footer-left">
            <a href="/im_a_pro">Sign-up as a Professional</a>
            <a href="/video-production">Browse Video Producers</a>
            <a href="/learn-more">Learn More</a>
            <a href="/pricing">Pricing</a>
         </div>
         
         <div id="footer-left">
            <a href="/video-school">Video School</a>
            <a href="/about">Our Team</a>
            <a href="/jobs">Jobs</a>
            <a href="/faq">FAQ</a>
         </div>
      
         <div id="social-links">
            <a target="vp_facebook" href="//www.facebook.com/videopixie" class="facebook social-box">f</a>
            <a target="vp_twitter" href="//www.twitter.com/videopixie" class="twitter social-box">t</a>
            <a target="vp_google" href="//www.google.com/+videopixie" class="google social-box">g+</a>
            <a target="vp_linkedin" href="//www.linkedin.com/company/videopixie" class="linkedin social-box">in</a>
         </div>
         
         <div id="footer-bottom">
            <span>Copyright 2015 TT Labs Inc.</span>
            <a href="/st/privacy.html">Privacy Policy</a>
            <a href="/st/dmca.html">DMCA</a>
         </div>
      
      </div>
      
      
      
   </div>
  
   
   
   <div id="media-modal" class="modal modal-wrapper video-modal dn" vp-size="size" vp-fade="[[MediaModal]]" vp-closeable="MediaModal"  ng-controller="MediaModalController">
<!--vp-fade-but-leave-in-display="MediaModal" -->

   <div id="media-background" vp-width-by-aspect="[[aspectRatio]]"></div>
   <div id="image-wrapper"
      ng-class="{ontop: imageViewerMode, small_hide: !imageViewerMode}"
      vp-img-child="src: '[[imageSrc]]', valid: true">
      <!--img is inserted by vp-img-child -->
   </div>
   <div id="player-wrapper" ng-class="{small_hide: imageViewerMode}">
      <video id="video-element" class="video-js vjs-default-skin" controls ng-controller = "VideoPlayerController"></video>
      <div id="video-overlay" ng-bind-html="overlayHtml">
         
      </div>
   </div>
   
   <div id="sidebar-wrapper">
      
      <div ng-show="mode.design_mode" ng-controller="DesignSideBarController" class="side-bar designSideBar"><!-- Design Mode -->
         
         <div class="font-14-999 fr">[[currentQuestion.name]]</div>
         <div class="currentOptionWrapper clearfix">
         
            <div class="option clearfix"
               ng-click="onCurrentOptionClick()"
               ng-class="{selected:currentOption.selected}"
               vp-hover-exclusion="not-hot">
               <div class="mainRow fl">
                  <div class="thumbnailWrapper fl" 
                     vp-img-child="src: '[[AWS + mediaData.bucket + currentOption.video.provider_id]]' + '_120h.jpg', valid: [[!!currentOption.video.provider_id]]">
                     <!--img is inserted by vp-img-child -->
                     
                  </div>
                  <div class="font-16-666-b optionName fl">[[currentOption.name]]</div>
                  <div class="ok"></div>
               </div>
               <div class="font3 details fl">[[currentOption.details]]</div>
            </div>
            
         </div>
         
         <div class = "otherOptionsWrapper">
            
            <div class="bar"></div>
            <div class="font4 subtitle">Other [[currentQuestion.name]] options:</div>
            <div class="vp-scroll-bar vp-scroll-shadows scroll-wrapper">
               <div class="option clearfix" 
                  ng-repeat="(optionIdx,option) in currentQuestion.options" 
                  ng-hide='optionIdx == currentOptionIdx || option.hidden || option.renderer == "lengthInput"'
                  ng-class="{clickable:option.video.provider_id}"
                  ng-click="onOtherOptionClick(optionIdx)">
                  
                  <div class="thumbnailWrapper fl"
                     vp-img-child="src: '[[AWS + mediaData.bucket + option.video.provider_id]]' + '_120h.jpg', valid: [[!!option.video.provider_id]]">
                     <!--img is inserted by vp-img-child -->
                     
                     <div class="no-example" ng-hide="option.video.provider_id">No example</div>
                  </div>
                  <div class="font3 optionName">[[option.name]]</div>               
               </div>
            </div>
         </div>
         
      </div>
      
      <div ng-show="mode.html_mode" class="html-side-bar side-bar">
      
         <div ng-bind-html="htmlSidebarContent"></div>
      
      </div>
         
      
   </div>
   <div class="x close"></div>
</div>

   
   <div class="dimmer dn" vp-fade="[[Dimmer]]" vp-match-document-height></div>
   
   <div id="fb-root"></div>
      
   
   <!-- begin olark code -->
   <script data-cfasync="false" type='text/javascript'>
   /*<![CDATA[*/
   if(!SES.is_dev_enviro){
      window.olark||(function(c){var f=window,d=document,l=f.location.protocol=="https:"?"https:":"http:",z=c.name,r="load";var nt=function(){
      f[z]=function(){
      (a.s=a.s||[]).push(arguments)};var a=f[z]._={
      },q=c.methods.length;while(q--){(function(n){f[z][n]=function(){
      f[z]("call",n,arguments)}})(c.methods[q])}a.l=c.loader;a.i=nt;a.p={
      0:+new Date};a.P=function(u){
      a.p[u]=new Date-a.p[0]};function s(){
      a.P(r);f[z](r)}f.addEventListener?f.addEventListener(r,s,false):f.attachEvent("on"+r,s);var ld=function(){function p(hd){
      hd="head";return["<",hd,"></",hd,"><",i,' onl' + 'oad="var d=',g,";d.getElementsByTagName('head')[0].",j,"(d.",h,"('script')).",k,"='",l,"//",a.l,"'",'"',"></",i,">"].join("")}var i="body",m=d[i];if(!m){
      return setTimeout(ld,100)}a.P(1);var j="appendChild",h="createElement",k="src",n=d[h]("div"),v=n[j](d[h](z)),b=d[h]("iframe"),g="document",e="domain",o;n.style.display="none";m.insertBefore(n,m.firstChild).id=z;b.frameBorder="0";b.id=z+"-loader";if(/MSIE[ ]+6/.test(navigator.userAgent)){
      b.src="javascript:false"}b.allowTransparency="true";v[j](b);try{
      b.contentWindow[g].open()}catch(w){
      c[e]=d[e];o="javascript:var d="+g+".open();d.domain='"+d.domain+"';";b[k]=o+"void(0);"}try{
      var t=b.contentWindow[g];t.write(p());t.close()}catch(x){
      b[k]=o+'d.write("'+p().replace(/"/g,String.fromCharCode(92)+'"')+'");d.close();'}a.P(2)};ld()};nt()})({
      loader: "static.olark.com/jsclient/loader0.js",name:"olark",methods:["configure","extend","declare","identify"]});
      /* custom configuration goes here (www.olark.com/documentation) */
      olark.identify('3567-618-10-4944');
   }/*]]>*/
   </script>
   <noscript><a href="https://www.olark.com/site/3567-618-10-4944/contact" title="Contact us" target="_blank">Questions? Feedback?</a> powered by <a href="http://www.olark.com?welcome" title="Olark live chat software">Olark live chat software</a></noscript>
   <!-- end olark code -->
   
  
   
   <!-- Google Code for Remarketing Tag -->
   <!--------------------------------------------------
   Remarketing tags may not be associated with personally identifiable information or placed on pages related to sensitive categories. See more information and instructions on how to setup the tag on: http://google.com/ads/remarketingsetup
   --------------------------------------------------->
   <script type="text/javascript">
   /* <![CDATA[ */
   var google_conversion_id = 993449120;
   var google_custom_params = window.google_tag_params;
   var google_remarketing_only = true;
   /* ]]> */
   </script>
   <script type="text/javascript" src="//www.googleadservices.com/pagead/conversion.js">
   </script>
   <noscript>
      <div style="display:inline;">
         <img height="1" width="1" style="border-style:none;" alt="" src="//googleads.g.doubleclick.net/pagead/viewthroughconversion/993449120/?value=0&amp;guid=ON&amp;script=0"/>
      </div>
   </noscript>

   
   <script type="text/javascript">
      (function() {
         window._pa = window._pa || {};
         // _pa.orderId = "myOrderId"; // OPTIONAL: attach unique conversion identifier to conversions
         // _pa.revenue = "19.99"; // OPTIONAL: attach dynamic purchase values to conversions
         // _pa.productId = "myProductId"; // OPTIONAL: Include product ID for use with dynamic ads
         var pa = document.createElement('script'); pa.type = 'text/javascript'; pa.async = true;
         pa.src = ('https:' == document.location.protocol ? 'https:' : 'http:') + "//tag.perfectaudience.com/serve/53dac13adc92cfda2d000130.js";
         var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(pa, s);
      })();
   </script>
   
</body>
</html>
