Known for being the top-most-earning fitness hostess of QVC, Carrie Wightman has been helping people transform their bodies for the last 25 years.
She approached us to refine her brand, and build a comprehensive eCommerce experience complete with a Netflix like training hub.
Eye Contact is V. Important
We collaborated with our good pal and former Top Hatter Johnny Quaranto to create a comprehensive brand system.
The core mark centers on something Carrie talks a lot about: eye contact. Whether on QVC or her own training videos, she maintains strong eye contact, reeling viewers in.
The color palette and other conventions sought to deliver energy and inclusivity to people at various stages of their fitness journey.
Member-based eCommerce
The goal wasn’t just to create an eCommerce experience, but a Netflix-like customer portal experience.
After check out, new subscribers would gain access to a robust library of videos with functions to control their experience.
Custom Plan Building
Every video has the option to add to your custom library.
Drag, Drop, and Control Your Plan
Within the custom library, you can drag and drop re-order your own plan.
Progress Tracking
The portal tracks minutes watched, and completions.
Customers are able to track their stats, filtering by date ranges.
Administrators also have the option to emulate users to see their progress tracking.
Pick Up Where You Left Off
Since the portal tracks video progress, if you leave off it will show you where and allow you to continue.
Filterable, Full Library
And of course, there’s a filterable full library.
New project? Question? Compliment? Let’s chat. New project? Question? Compliment? Let’s chat.
{"head":"<!-- Google Tag Manager -->\r\n<script>\r\n (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':\r\n new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],\r\n j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=\r\n 'https:\/\/www.googletagmanager.com\/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);\r\n })(window,document,'script','dataLayer','GTM-WMDNFKPG');\r\n<\/script>\r\n<!-- End Google Tag Manager -->","body":"<!-- Google Tag Manager (noscript) -->\r\n<noscript><iframe src=\u201chttps:\/\/www.googletagmanager.com\/ns.html?id=GTM-WMDNFKPG\u201d\r\nheight=\u201c0\" width=\u201c0\u201d style=\u201cdisplay:none;visibility:hidden\u201d><\/iframe><\/noscript>\r\n<!-- End Google Tag Manager (noscript) -->","footer":"<script>\r\n(function(){\r\n\r\n var JOURNEY_KEY = 'th_lead_journey_v1';\r\n var MAX_PAGES = 20;\r\n\r\n function uuid(){\r\n if (crypto.randomUUID) {\r\n return crypto.randomUUID();\r\n }\r\n\r\n return 'th_' + Date.now() + '_' + Math.random().toString(36).substr(2);\r\n }\r\n\r\n function getJourney(){\r\n try{\r\n return JSON.parse(localStorage.getItem(JOURNEY_KEY));\r\n }catch(e){\r\n return null;\r\n }\r\n }\r\n\r\n function saveJourney(journey){\r\n localStorage.setItem(JOURNEY_KEY, JSON.stringify(journey));\r\n }\r\n\r\n function getUTMs(){\r\n var params = new URLSearchParams(location.search);\r\n var utm = {};\r\n\r\n [\r\n 'utm_source',\r\n 'utm_medium',\r\n 'utm_campaign',\r\n 'utm_term',\r\n 'utm_content',\r\n 'gclid',\r\n 'gbraid',\r\n 'wbraid',\r\n 'fbclid'\r\n ].forEach(function(key){\r\n if(params.has(key)){\r\n utm[key] = params.get(key);\r\n }\r\n });\r\n\r\n return utm;\r\n }\r\n\r\n var journey = getJourney();\r\n\r\n if(!journey){\r\n\r\n journey = {\r\n session_id: uuid(),\r\n started: new Date().toISOString(),\r\n landing_page: location.href,\r\n landing_path: location.pathname,\r\n referrer: document.referrer,\r\n utm: getUTMs(),\r\n pages: []\r\n };\r\n\r\n }\r\n\r\n var last = journey.pages[journey.pages.length - 1];\r\n\r\n if(!last || last.url !== location.href){\r\n\r\n journey.pages.push({\r\n url: location.href,\r\n path: location.pathname,\r\n title: document.title,\r\n timestamp: new Date().toISOString()\r\n });\r\n\r\n if(journey.pages.length > MAX_PAGES){\r\n journey.pages.shift();\r\n }\r\n\r\n }\r\n\r\n saveJourney(journey);\r\n\r\n function populate(){\r\n\r\n document.querySelectorAll('form').forEach(function(form){\r\n\r\n set(form,'lead_session_id',journey.session_id);\r\n set(form,'lead_landing_page',journey.landing_page);\r\n set(form,'lead_journey_json',JSON.stringify(journey));\r\n set(form,'lead_journey',buildSummary());\r\n\r\n });\r\n\r\n }\r\n\r\n function set(form,name,value){\r\n\r\n var field = form.querySelector('[name=\"'+name+'\"]');\r\n\r\n if(!field){\r\n field = document.createElement('input');\r\n field.type = 'hidden';\r\n field.name = name;\r\n form.appendChild(field);\r\n }\r\n\r\n field.value = value;\r\n }\r\n\r\n function buildSummary(){\r\n\r\n var out = [];\r\n\r\n out.push('Landing: ' + journey.landing_page);\r\n out.push('');\r\n\r\n journey.pages.forEach(function(page,i){\r\n out.push((i+1) + '. ' + page.path);\r\n });\r\n\r\n return out.join(\"n\");\r\n\r\n }\r\n\r\n populate();\r\n\r\n document.addEventListener('wpcf7beforesubmit', populate);\r\n\r\n})();\r\n<\/script>"}
We use cookies
We use necessary cookies to make this site work. With your consent, we also use analytics and advertising technologies to improve the site and measure marketing.