CINXE.COM

How to calculate customer retention rate (and increase it)

<!DOCTYPE html> <html lang="en"> <head> <link rel="dns-prefetch" href="https://sync.outbrain.com"> <link rel="dns-prefetch" href="https://ups.analytics.yahoo.com"> <link rel="dns-prefetch" href="https://ib.adnxs.com"> <link rel="dns-prefetch" href="https://www.google-analytics.com"> <link rel="dns-prefetch" href="https://fonts.googleapis.com"> <link rel="dns-prefetch" href="https://cdn.logrocket.io"> <link rel="preload" as="style" rel="stylesheet" type="text/css" href="https://www.customermarketingalliance.com/assets/built/screen.css?v=945d8828d2" /> <meta charset="utf-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <title>How to calculate customer retention rate (and increase it)</title> <meta name="HandheldFriendly" content="True" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <link rel="stylesheet" type="text/css" href="https://www.customermarketingalliance.com/assets/built/screen.css?v=945d8828d2" /> <meta name="author" content="Gareth Watkins"> <script src="https://cdn.lr-ingest.io/LogRocket.min.js" crossorigin="anonymous"></script> <script> window.LogRocket && window.LogRocket.init('acara/sequel-main'); window.inArticleAdList; window.inArticleAdListDisabled; window.topNav; window.showGetCertCta; window.isTOCenabled; window.userIdSegment = localStorage.getItem("user_id"); </script> <script> var ghosthunter_key = 'b1d2e55946ba49e939e2eba782'; window.isHiddenUpgradeVisible = false; </script> <script type="text/javascript"> function getParameterByName(name, url) { if (!url) url = window.location.href; name = name.replace(/[\[\]]/g, "\\$&"); var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"), results = regex.exec(url); if (!results) return null; if (!results[2]) return ''; return decodeURIComponent(results[2].replace(/\+/g, " ")); } var action = getParameterByName('action'); if (action == 'signin') { window.location = '/account'; } if (window.location && window.location.search && window.location.search.includes('stripe=success')) { window.location = '/activate'; } </script> <script> var checkUserId = function({ payload, next, integrations }) { var user_id = payload.obj.userId; if(user_id && (user_id.length === 8 || user_id.length !== 36)) { console.log('teacahble user_id still set, clearing'); window.localStorage.removeItem('apc_user_id'); analytics.reset(); analytics.user().anonymousId(payload.obj.anonymousId); delete payload.obj.userId; delete payload.obj.traits; console.log('payload after clearing', payload.obj); } next(payload); }; !function(){var analytics=window.analytics=window.analytics||[];if(!analytics.initialize)if(analytics.invoked)window.console&&console.error&&console.error("Segment snippet included twice.");else{analytics.invoked=!0;analytics.methods=["trackSubmit","trackClick","trackLink","trackForm","pageview","identify","reset","group","track","ready","alias","debug","page","once","off","on","addSourceMiddleware","addIntegrationMiddleware","setAnonymousId","addDestinationMiddleware"];analytics.factory=function(e){return function(){var t=Array.prototype.slice.call(arguments);t.unshift(e);analytics.push(t);return analytics}};for(var e=0;e<analytics.methods.length;e++){var key=analytics.methods[e];analytics[key]=analytics.factory(key)}analytics.load=function(key,e){var t=document.createElement("script");t.type="text/javascript";t.async=!0;t.src="https://cdn.segment.com/analytics.js/v1/" + key + "/analytics.min.js";var n=document.getElementsByTagName("script")[0];n.parentNode.insertBefore(t,n);analytics._loadOptions=e};analytics._writeKey="CIR3hEMnyOW1gfECfSJW7HMjO8tsavDU";analytics.SNIPPET_VERSION="4.13.2"; const tags = []; const authors = []; let primary_tag; let primary_author; primary_author = "Gareth Watkins"; primary_tag = "Article"; authors.push("Gareth Watkins") tags.push("Article") tags.push("Customer retention") analytics.addSourceMiddleware(checkUserId); analytics.load('CIR3hEMnyOW1gfECfSJW7HMjO8tsavDU', { user: { persist: true, cookie: { key: 'ajs_alliance_user_id' }, localStorage: { key: 'ajs_alliance_user_traits' } } }); analytics.page({ properties: { primary_tag: primary_tag, primary_author: primary_author, authors: authors, tags: tags, community: 'CMA' } }); }}(); </script> <meta name="description" content="If you sell a product, have you sold it to the same client more than once? Congratulations, you’ve just retained a customer. What next?"> <link rel="icon" href="https://www.customermarketingalliance.com/content/images/size/w256h256/2024/07/android-chrome-192x192--1--1.png" type="image/png"> <link rel="canonical" href="https://www.productmarketingalliance.com/how-to-retain-more-customers/"> <meta name="referrer" content="no-referrer-when-downgrade"> <meta property="og:site_name" content="Customer Marketing Alliance"> <meta property="og:type" content="article"> <meta property="og:title" content="How to calculate customer retention rate (and increase it)"> <meta property="og:description" content="If you sell a product, have you sold it to the same client more than once? Congratulations, you’ve just retained a customer. If you provide an ongoing service and a client sticks with you for more than a day then, yep, you’re retaining customers."> <meta property="og:url" content="https://www.productmarketingalliance.com/how-to-retain-more-customers/"> <meta property="og:image" content="https://www.customermarketingalliance.com/content/images/size/w1200/2024/05/CMA_Framework_Tiles_retention.jpg"> <meta property="article:published_time" content="2024-03-22T16:32:02.000Z"> <meta property="article:modified_time" content="2024-05-17T15:24:56.000Z"> <meta property="article:tag" content="Article"> <meta property="article:tag" content="Customer retention"> <meta property="article:publisher" content="https://www.facebook.com/Customer-Marketing-Alliance-103756202307955"> <meta name="twitter:card" content="summary_large_image"> <meta name="twitter:title" content="How to calculate customer retention rate (and increase it)"> <meta name="twitter:description" content="If you sell a product, have you sold it to the same client more than once? Congratulations, you’ve just retained a customer. If you provide an ongoing service and a client sticks with you for more than a day then, yep, you’re retaining customers."> <meta name="twitter:url" content="https://www.productmarketingalliance.com/how-to-retain-more-customers/"> <meta name="twitter:image" content="https://www.customermarketingalliance.com/content/images/size/w1200/2024/05/CMA_Framework_Tiles_retention.jpg"> <meta name="twitter:label1" content="Written by"> <meta name="twitter:data1" content="Gareth Watkins"> <meta name="twitter:label2" content="Filed under"> <meta name="twitter:data2" content="Article, Customer retention"> <meta name="twitter:site" content="@CustomerMarket2"> <meta property="og:image:width" content="1200"> <meta property="og:image:height" content="630"> <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "Article", "publisher": { "@type": "Organization", "name": "Customer Marketing Alliance", "url": "https://www.customermarketingalliance.com/", "logo": { "@type": "ImageObject", "url": "https://www.customermarketingalliance.com/content/images/2024/07/CMA-FULL-SECONDARY-LOGO--ON-WHITE---1--1.png" } }, "author": { "@type": "Person", "name": "Gareth Watkins", "image": { "@type": "ImageObject", "url": "https://www.customermarketingalliance.com/content/images/2022/04/Gareth-Watkins.jpeg", "width": 300, "height": 533 }, "url": "https://www.customermarketingalliance.com/author/gareth/", "sameAs": [] }, "headline": "How to calculate customer retention rate (and increase it)", "url": "https://www.customermarketingalliance.com/how-to-calculate-your-customer-retention-rate-and-increase-it/", "datePublished": "2024-03-22T16:32:02.000Z", "dateModified": "2024-05-17T15:24:56.000Z", "image": { "@type": "ImageObject", "url": "https://www.customermarketingalliance.com/content/images/size/w1200/2024/05/CMA_Framework_Tiles_retention.jpg", "width": 1200, "height": 630 }, "keywords": "Article, Customer retention", "description": "If you sell a product, have you sold it to the same client more than once? Congratulations, you’ve just retained a customer. If you provide an ongoing service and a client sticks with you for more than a day then, yep, you’re retaining customers. ", "mainEntityOfPage": "https://www.customermarketingalliance.com/how-to-calculate-your-customer-retention-rate-and-increase-it/" } </script> <meta name="generator" content="Ghost 5.101"> <link rel="alternate" type="application/rss+xml" title="Customer Marketing Alliance" href="https://www.customermarketingalliance.com/rss/"> <script defer src="https://cdn.jsdelivr.net/ghost/portal@~2.46/umd/portal.min.js" data-i18n="true" data-ghost="https://www.customermarketingalliance.com/" data-key="173834d117bcd7e27266c4d41e" data-api="https://customer-marketing-alliance.ghost.io/ghost/api/content/" data-locale="en" crossorigin="anonymous"></script><style id="gh-members-styles">.gh-post-upgrade-cta-content, .gh-post-upgrade-cta { display: flex; flex-direction: column; align-items: center; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; text-align: center; width: 100%; color: #ffffff; font-size: 16px; } .gh-post-upgrade-cta-content { border-radius: 8px; padding: 40px 4vw; } .gh-post-upgrade-cta h2 { color: #ffffff; font-size: 28px; letter-spacing: -0.2px; margin: 0; padding: 0; } .gh-post-upgrade-cta p { margin: 20px 0 0; padding: 0; } .gh-post-upgrade-cta small { font-size: 16px; letter-spacing: -0.2px; } .gh-post-upgrade-cta a { color: #ffffff; cursor: pointer; font-weight: 500; box-shadow: none; text-decoration: underline; } .gh-post-upgrade-cta a:hover { color: #ffffff; opacity: 0.8; box-shadow: none; text-decoration: underline; } .gh-post-upgrade-cta a.gh-btn { display: block; background: #ffffff; text-decoration: none; margin: 28px 0 0; padding: 8px 18px; border-radius: 4px; font-size: 16px; font-weight: 600; } .gh-post-upgrade-cta a.gh-btn:hover { opacity: 0.92; }</style><script async src="https://js.stripe.com/v3/"></script> <script defer src="https://cdn.jsdelivr.net/ghost/sodo-search@~1.5/umd/sodo-search.min.js" data-key="173834d117bcd7e27266c4d41e" data-styles="https://cdn.jsdelivr.net/ghost/sodo-search@~1.5/umd/main.css" data-sodo-search="https://customer-marketing-alliance.ghost.io/" data-locale="en" crossorigin="anonymous"></script> <link href="https://www.customermarketingalliance.com/webmentions/receive/" rel="webmention"> <script defer src="/public/cards.min.js?v=945d8828d2"></script> <link rel="stylesheet" type="text/css" href="/public/cards.min.css?v=945d8828d2"> <script defer src="/public/member-attribution.min.js?v=945d8828d2"></script><style>:root {--ghost-accent-color: #FF4DD8;}</style> <!-- Iubenda Cookie Snippet --> <script type="text/javascript"> var _iub = _iub || []; _iub.csConfiguration = {"askConsentAtCookiePolicyUpdate":true,"cookiePolicyInOtherWindow":true,"countryDetection":true,"enableFadp":true,"enableLgpd":true,"enableTcf":true,"floatingPreferencesButtonDisplay":"anchored-center-left","floatingPreferencesButtonZIndex":10,"gdprAppliesGlobally":false,"googleAdditionalConsentMode":true,"lang":"en","lgpdAppliesGlobally":false,"perPurposeConsent":true,"siteId":1712381,"tcfPurposes":{"2":"li_only","7":"li_only","8":"li_only","9":"li_only","10":"li_only","11":"li_only"},"cookiePolicyId":24731467,"i18n":{"en":{"banner":{"title":"The Alliance privacy & cookie controls","dynamic":{"body":"We use cookies to give you the best experience on our website. By continuing to browse, you agree to our cookie policy"}}}}, "banner":{ "acceptButtonColor":"#367AFF","acceptButtonDisplay":true,"backgroundColor":"#09100F","brandBackgroundColor":"#09100F","closeButtonRejects":true,"customizeButtonCaptionColor":"#F9F8F5","customizeButtonColor":"#292626","customizeButtonDisplay":true,"explicitWithdrawal":true,"fontSizeBody":"10px","fontSizeCloseButton":"24px","listPurposes":true,"logo":"https://pma-assets-external.ams3.cdn.digitaloceanspaces.com/alliance-website/ALLIANCE%20FULL%20-%20Secondary_small.svg","linksColor":"#F9F8F5","ownerName":"The Alliance","position":"float-bottom-center","prependOnBody":true,"rejectButtonCaptionColor":"#F9F8F5","rejectButtonColor":"#292626","rejectButtonDisplay":true,"showPurposesToggles":true,"showTotalNumberOfProviders":true,"textColor":"#F9F8F5","acceptButtonCaption":"Accept all","rejectButtonCaption":"Reject" }}; </script> <script type="text/javascript" src="https://cs.iubenda.com/autoblocking/1712381.js"></script> <script type="text/javascript" src="//cdn.iubenda.com/cs/tcf/stub-v2.js"></script> <script type="text/javascript" src="//cdn.iubenda.com/cs/tcf/safe-tcf-v2.js"></script> <script type="text/javascript" src="//cdn.iubenda.com/cs/iubenda_cs.js" charset="UTF-8" async></script> <!-- Iubenda Cookie Snippet --> <!-- Start of HubSpot Embed Code --> <script type="text/javascript" id="hs-script-loader" async defer src="//js-eu1.hs-scripts.com/139496063.js"></script> <!-- End of HubSpot Embed Code --> <script> window.proPlusStripeIdList = [ 'price_1N0nnyAIFQbpuTFVV8HBJfIM', 'price_1N0nnxAIFQbpuTFVA5MeJmVV', 'price_1NizMNAIFQbpuTFVMA2TVo5h', 'price_1NizLyAIFQbpuTFVAOS9WaHd', 'price_1NdF19AIFQbpuTFVxlv8XIJp', 'price_1O9VilAIFQbpuTFVML9tAoVX', 'price_1PkNglAIFQbpuTFV2RYbeu6y', 'price_1NcoH7AIFQbpuTFV9RGTPVZg' ]; </script> <script>!function () {var reb2b = window.reb2b = window.reb2b || [];if (reb2b.invoked) return;reb2b.invoked = true;reb2b.methods = ["identify", "collect"];reb2b.factory = function (method) {return function () {var args = Array.prototype.slice.call(arguments);args.unshift(method);reb2b.push(args);return reb2b;};};for (var i = 0; i < reb2b.methods.length; i++) {var key = reb2b.methods[i];reb2b[key] = reb2b.factory(key);}reb2b.load = function (key) {var script = document.createElement("script");script.type = "text/javascript";script.async = true;script.src = "https://s3-us-west-2.amazonaws.com/b2bjsstore/b/" + key + "/reb2b.js.gz";var first = document.getElementsByTagName("script")[0];first.parentNode.insertBefore(script, first);};reb2b.SNIPPET_VERSION = "1.0.1";reb2b.load("X0NW1GHRMMO4");}();</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://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-56ZBHT3');</script> <!-- End Google Tag Manager --> <!-- Mutiny Script --> <script> (function(){var a=window.mutiny=window.mutiny||{};if(!window.mutiny.client){a.client={_queue:{}};var b=["identify","trackConversion"];var c=[].concat(b,["defaultOptOut","optOut","optIn"]);var d=function factory(c){return function(){for(var d=arguments.length,e=new Array(d),f=0;f<d;f++){e[f]=arguments[f]}a.client._queue[c]=a.client._queue[c]||[];if(b.includes(c)){return new Promise(function(b,d){a.client._queue[c].push({args:e,resolve:b,reject:d});setTimeout(d,500)})}else{a.client._queue[c].push({args:e})}}};c.forEach(function(b){a.client[b]=d(b)})}})(); </script> <script data-cfasync="false" src="https://client-registry.mutinycdn.com/personalize/client/dc82cf9a1e4605e6.js"></script> <!-- End Mutiny Script --> <!-- Start Clearbit Script --> <script src="https://tag.clearbitscripts.com/v1/pk_bebaa9db4ca35af82ab4d629c9fade2b/tags.js"></script> <!-- End Clearbit Script --> <meta name="ahrefs-site-verification" content="66aece103bca959c12c16cf5b323db9dc7fa8ca10c21b52e1a86ed9e7c5153ff"> <!-- Start of Async ProveSource Code --><script>!function(o,i){window.provesrc&&window.console&&console.error&&console.error("ProveSource is included twice in this page."),provesrc=window.provesrc={dq:[],display:function(){this.dq.push(arguments)}},o._provesrcAsyncInit=function(){provesrc.init({apiKey:"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhY2NvdW50SWQiOiI1ZWEyZTczNTRjNDQ0ZDQ1NzU0OWRhYWUiLCJpYXQiOjE1ODc3MzQzMjZ9.3BTkc-xMOUGxjeDJV_LuZh_FJ956iGxKa9mZGF4TRMA",v:"0.0.4"})};var r=i.createElement("script");r.type="text/javascript",r.async=!0,r["ch"+"ar"+"set"]="UTF-8",r.src="https://cdn.provesrc.com/provesrc.js";var e=i.getElementsByTagName("script")[0];e.parentNode.insertBefore(r,e)}(window,document);</script><!-- End of Async ProveSource Code --> <script> const eventsCalendar = [ { image: 'https://pma-assets-external.ams3.cdn.digitaloceanspaces.com/Events-Calendar/CMA/London%20-%20in-person.jpg', name: 'London', date: '4 December 2024', location: 'EMEA', type: 'Summits', description: 'Join your customer marketing peers in London for an unrivaled content, networking and learning opportunity.', buttonText: 'Find out more', url: 'https://events.customermarketingalliance.com/location/london', }, { image: 'https://pma-assets-external.ams3.cdn.digitaloceanspaces.com/Courses-workshops/Customer-Labs-assets/CMA_Membership_Dashboard_Assets_Learning_6%20(1)%20(1).png', name: 'Customer Labs workshop: Cultivating a customer-centric mindset: Strategies for success', date: 'December 11', location: 'Online', type: 'Workshops', description: 'Join an expert instructor and your peers in this members-only workshop series to elevate your customer marketing game.', buttonText: 'Sign up here', url: 'https://www.customermarketingalliance.com/customer-labs-workshops/', }, // Add more as needed ]; </script> <script> var eventsList = [ { 'title': 'Customer Marketing Summit', 'date': 'December 4, 2024', 'location': '<b>London</b>', 'url': 'https://events.customermarketingalliance.com/location/london/' }, ]; </script> <script> window.topNav = [ { name: 'Membership', itemList: [ { name: 'Membership plans', url: '', desc: 'Pick your path', itemList: [ { name: 'Freemium membership', url: '/insider-membership-plan/' }, { name: 'Pro membership', url: '/signup/' }, { name: 'Pro+ membership', url: '/pro-plus-membership/' }, ] }, { name: 'What is included?', desc: 'All you need to succeed', itemList: [ { name: 'Templates & frameworks', url: '/templates-frameworks/' }, { name: 'OnDemand videos', url: '/customer-marketing-ondemand/' }, { name: 'Exclusive content', url: '/tag/exclusive-content/' }, { name: 'Member perks', url: '/members-perks/' }, { name: 'Membership taster pack', url: '/cma-pro-membership-taster-pack/' }, { name: 'Membership release notes', url: '/whats-new-in-the-cma-membership-plans/' } ] }, ] }, { name: 'Certification', itemList: [ { name: 'Customer Marketing Core', desc: 'The A to Z of activating customers', itemList: [ { name: 'Customer Marketing Certified: Core', desc: 'The only accredited customer marketing certification', url: 'https://learn.customermarketingalliance.com/course/customer-marketing-certified-core' }, { name: 'View all courses', url: 'https://learn.customermarketingalliance.com/courses' }, ] }, { name: 'Masters Certified', url: '', desc: 'Get certified in any CM skill', itemList: [ { name: 'Consumer Psychology: Masters', url: 'https://learn.customermarketingalliance.com/course/consumer-psychology-masters' }, { name: 'Customer Advisory Boards: Masters', url: 'https://learn.customermarketingalliance.com/course/customer-advisory-board-masters' }, { name: 'Customer Research: Masters', url: 'https://learn.customermarketingalliance.com/course/customer-research-certified-masters' }, { name: 'Customer Advocacy: Masters', url: 'https://learn.customermarketingalliance.com/course/customer-advocacy-certified-masters' }, { name: 'Narrative Design: Masters', url: 'https://learn.customermarketingalliance.com/course/narrative-design-masters' }, { name: 'Storytelling: Masters', url: 'https://learn.customermarketingalliance.com/course/storytelling-certified-masters' }, ] }, ] }, { name: 'Resources', itemList: [ { name: 'Content hub', desc: 'Customer marketing insights', url: '/signup', itemList: [ { name: 'Articles', url: '/articles/' }, { name: 'eBook and Playbooks', url: '/ebooks-playbooks/' }, { name: 'Podcasts ', url: 'https://alliance.ghost.io/podcasts/?filter=podcast-filter-community-cma' }, { name: 'Reports', url: '/customer-marketing-alliance-reports/' }, { name: 'Create & contribute', url: '/create-and-contribute/' } ] }, { name: 'Research & reports', desc: 'Industry insights from us', url: '#', itemList: [ { name: 'Customer Marketing Salary and Industry Survey 2024', url: '/customer-marketing-salary-and-industry-report-2024/' }, { name: 'State of Customer Marketing report 2024', url: '/state-of-customer-marketing-report/' }, { name: 'Customer Marketing Salary report 2023/24 ', url: '/customer-marketing-salary-report/' }, { name: 'Report: Aligning customer marketing & success teams', url: '/aligned-customer-teams-report/' }, { name: 'Ones to Watch in 2024', url: 'https://www.customermarketingalliance.com/customer-marketing-ones-to-watch-in-2024/' }, { name: 'Essential elements of a Customer Marketing plan [eBook]', url: '/the-essential-elements-of-a-customer-marketing-plan-ebook/' }, { name: 'Guide to creating a customer reference program', url: '/create-a-best-in-class-customer-reference-program-ebook/' }, ] }, { name: 'Best of the rest', desc: 'Highlights from rest of the site', url: '/', itemList: [ { name: 'Customer Marketing Dispatch', desc: 'Signup to the monthly email', url: '/subscribe-to-customer-marketing-dispatch/' }, { name: 'CMA IQ', desc: 'Benchmark your competencies', url: '/customer-marketing-iq/' }, { name: 'Customer marketing framework', url: '/customer-marketing-framework/' } ] }, ] }, { name: 'Events', itemList: [ { name: 'Virtual events', desc: 'Connecting our global community', url: '#', itemList: [ { name: 'Customer Marketing Connection', desc: 'Webinar', url: '/tag/customer-marketing-connection/' }, { name: 'CMAnow: Live LinkedIn Webinar', desc: 'Webinar', url: '/tag/cmanow/' } ] }, { name: 'In-person', desc: 'Coming up', url: '#', itemList:[ { name: 'Customer Marketing Summit | London', desc: 'December 4', url: 'https://events.customermarketingalliance.com/location/london', }, { name: 'Customer Marketing Summit | New York', desc: 'March 11 & 12', url: 'https://events.customermarketingalliance.com/location/newyork', }, { name: 'Global 2024 Calendar', desc: '2024', url: 'https://events.customermarketingalliance.com/', }, ] }, { name: 'Quick links', desc: 'Plan ahead or catch up', url: '#', itemList: [ { name: 'Catch up OnDemand', url: '/customer-marketing-ondemand/', }, { name: 'Apply to speak at our events', url: '/call-for-speakers-customer-marketing-alliance/', }, { name: 'All events', url: 'https://live.customermarketingalliance.com/' } ] }, ] }, { name: 'Community', itemList: [ { name: 'Network', url: '#', desc: 'Connect and collaborate', itemList: [ { name: 'Slack community', url: '/join-the-customer-marketing-community/' }, { name: 'Meetups', url: '/cma-customer-marketing-meetups/' }, { name: 'Customer Marketing Alliance LinkedIn', url: 'https://www.linkedin.com/company/customer-marketing-alliance/' }, { name: 'Meet the ambassadors', url: '/meet-the-ambassadors/' } ] }, { name: 'Learn', url: '#', desc: 'Level up your career', itemList: [ { name: 'Customer Marketing Alliance Awards 2024 | Finalists', url: 'https://www.customermarketingalliance.com/customer-marketing-awards-finalists/' }, { name: 'Find a mentor', url: 'https://www.customermarketingalliance.com/find-a-customer-marketing-mentor/' }, { name: 'Become a mentor', url: 'https://www.customermarketingalliance.com/become-a-customer-marketing-mentor/' }, { name: 'Become an ambassador', url: '/become-cma-ambassador/' }, { name: 'CMA Awards | Winners | 2023', url: 'https://www.customermarketingalliance.com/customer-marketing-awards-2023-introducing-the-winners/' }, ] }] }, { name: 'About', itemList: [ { name: 'The basics', desc: 'Our journey & how to reach us', url: '#', itemList: [ { name: 'Mission', url: '/about/' }, { name: 'The team', url: '/meet-the-team/' }, { name: 'Contact', url: '/contact-us/' } ] }, { name: 'Get involved', desc: 'Get your name published', url: '/', itemList: [ { name: 'Create & contribute', url: '/create-and-contribute/' }, { name: 'Apply to speak at our events', url: '/call-for-speakers-customer-marketing-alliance/' }, { name: 'Partner with us', url: '/partner-with-us/' }, ] }] }, { name: "What's new?", url: '#', class: 'nav-whats-new' } ]; </script> <script id='pixel-script-poptin' src='https://cdn.popt.in/pixel.js?id=5216131db94ff' async='true'></script> <script> if (window.location.pathname === '/articles/') { document.title = 'Customer marketing articles | Customer Marketing Alliance'; } </script> <script>(function(w,r){w._rwq=r;w[r]=w[r]||function(){(w[r].q=w[r].q||[]).push(arguments)}})(window,'rewardful');</script> <script async src='https://r.wdfl.co/rw.js' data-rewardful='737c05'></script> <script> window.isTOCenabled = true; </script> </head> <body class="home-template post-template tag-article tag-customer-retention"> <div class="site-wrapper"> <div class="inner nav-wrapper"> <div class="site-header-content"> <a href="/"> <div class="site-title"> <img class="site-logo" src="/content/images/size/w600/2024/07/CMA-FULL-SECONDARY-LOGO--ON-WHITE---1--1.png" alt="Customer Marketing Alliance" /> </div> </a> </div> <nav class="site-nav"> <div class="site-nav-left"> <div class="nav-login"> <a class="button primary small" href="/signin/">Log in</a> <a class="button primary small button-green" href="/signup/">Membership</a> </div> <div class="nav-icons" data-ghost-search> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z"/></svg> </div> <!-- <div class="nav-icons nav-mobile"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M16 132h416c8.837 0 16-7.163 16-16V76c0-8.837-7.163-16-16-16H16C7.163 60 0 67.163 0 76v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16z"/></svg> </div> --> <div class="modular-navigation"></div> <div class="nav-icons nav-mobile-modular"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M16 132h416c8.837 0 16-7.163 16-16V76c0-8.837-7.163-16-16-16H16C7.163 60 0 67.163 0 76v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16z"/></svg> </div> <!-- <ul class="nav"> <li class="nav-home"><a href="https://www.customermarketingalliance.com/">Home</a></li> <li class="nav-mission"><a href="https://www.customermarketingalliance.com/mission/">Mission</a></li> <li class="nav-community"><a href="https://www.customermarketingalliance.com/community/">Community</a></li> <li class="nav-resources"><a href="https://www.customermarketingalliance.com/resources/">Resources</a></li> <li class="nav-events"><a href="https://www.customermarketingalliance.com/events/">Events</a></li> <li class="nav-jobs"><a href="https://jobs.customermarketingalliance.com/">Jobs</a></li> </ul> --> </div> </nav> <script> if (window.topNav) { document.addEventListener('mouseover', (evt) => { let targetElement = evt.target; do { if (targetElement instanceof Element && targetElement.closest('.site-nav-left') || targetElement instanceof Element && targetElement.closest('.modular-navigation') || targetElement instanceof Element && targetElement.classList.contains('modular-navigation-main') || targetElement instanceof Element && targetElement.classList.contains('modular-navigation')) { return; } targetElement = targetElement.parentNode; } while (targetElement); const thisElementChildrenWrapper = document.querySelectorAll('.modular-navigation-item-wrapper'); const selectAllThisElementChildrenWrapperSub = document.querySelectorAll('.modular-navigation-item-sub-wrapper-active'); if (!document.querySelector('.modular-navigation-item-wrapper-active')) return; for (let i = 0; i < thisElementChildrenWrapper.length; i++) { thisElementChildrenWrapper[i].classList.remove('modular-navigation-item-wrapper-active'); setTimeout(() => { thisElementChildrenWrapper[i].style.display = 'none'; for (let c = 0; c < selectAllThisElementChildrenWrapperSub.length; c++) { selectAllThisElementChildrenWrapperSub[c].classList.remove('modular-navigation-item-sub-wrapper-active'); selectAllThisElementChildrenWrapperSub[c].style.display = 'none'; } }, 10); } const thisElementChildrenWrapperThird = document.querySelectorAll('.modular-navigation-item-sub-third-wrapper'); const selectAllThisElementChildrenWrapperSubThird = document.querySelectorAll('.modular-navigation-item-sub-third-wrapper-active'); for (let i = 0; i < thisElementChildrenWrapperThird.length; i++) { thisElementChildrenWrapperThird[i].classList.remove('modular-navigation-item-sub-third-wrapper-active'); setTimeout(() => { thisElementChildrenWrapperThird[i].style.display = 'none'; for (let c = 0; c < selectAllThisElementChildrenWrapperSubThird.length; c++) { selectAllThisElementChildrenWrapperSubThird[c].classList.remove('modular-navigation-item-sub-third-wrapper-active'); selectAllThisElementChildrenWrapperSubThird[c].style.display = 'none'; } }, 10); } }); const getModularNavigation = document.querySelector('.modular-navigation'); function modularNavHandleOnClik(event) { const thisElement = event.target; const thisElementParent = thisElement.parentNode; const thisElementChildrenWrapper = thisElementParent.querySelector('.modular-navigation-item-wrapper'); const selectAllThisElementChildrenWrapperSub = document.querySelectorAll('.modular-navigation-item-sub-wrapper-active'); if (thisElementChildrenWrapper.classList.contains('modular-navigation-item-wrapper-active')) { thisElementChildrenWrapper.classList.remove('modular-navigation-item-wrapper-active'); setTimeout(() => { thisElementChildrenWrapper.style.display = 'none'; for (let c = 0; c < selectAllThisElementChildrenWrapperSub.length; c++) { selectAllThisElementChildrenWrapperSub[c].classList.remove('modular-navigation-item-sub-wrapper-active'); selectAllThisElementChildrenWrapperSub[c].style.display = 'none'; } }, 310); return; } const selectAllThisElementChildrenWrapper = document.querySelectorAll('.modular-navigation-item-wrapper'); for (let i = 0; i < selectAllThisElementChildrenWrapper.length; i++) { if (selectAllThisElementChildrenWrapper[i].classList.contains('modular-navigation-item-wrapper-active')) { selectAllThisElementChildrenWrapper[i].classList.remove('modular-navigation-item-wrapper-active'); setTimeout(() => { selectAllThisElementChildrenWrapper[i].style.display = 'none'; for (let c = 0; c < selectAllThisElementChildrenWrapperSub.length; c++) { selectAllThisElementChildrenWrapperSub[c].classList.remove('modular-navigation-item-sub-wrapper-active'); selectAllThisElementChildrenWrapperSub[c].style.display = 'none'; } }, 310); } } setTimeout(() => { thisElementChildrenWrapper.style.display = 'flex'; setTimeout(() => { thisElementChildrenWrapper.classList.add('modular-navigation-item-wrapper-active'); }, 1); }, 10); } function modularNavHandleOnClikSub(event) { const thisElement = event.target; const thisElementParent = thisElement.classList.contains('modular-navigation-item') ? thisElement : thisElement.parentNode; const thisElementChildrenWrapper = thisElementParent.querySelector('.modular-navigation-item-sub-wrapper'); if (thisElementChildrenWrapper) { if (thisElementChildrenWrapper.classList.contains('modular-navigation-item-sub-wrapper-active')) { thisElementChildrenWrapper.classList.remove('modular-navigation-item-sub-wrapper-active'); setTimeout(() => { thisElementChildrenWrapper.style.display = 'none'; }, 310); return; } const selectAllThisElementChildrenWrapper = document.querySelectorAll('.modular-navigation-item-sub-wrapper'); for (let i = 0; i < selectAllThisElementChildrenWrapper.length; i++) { if (selectAllThisElementChildrenWrapper[i].classList.contains('modular-navigation-item-sub-wrapper-active')) { selectAllThisElementChildrenWrapper[i].classList.remove('modular-navigation-item-sub-wrapper-active'); setTimeout(() => { selectAllThisElementChildrenWrapper[i].style.display = 'none'; }, 310); } } setTimeout(() => { thisElementChildrenWrapper.style.display = 'flex'; setTimeout(() => { thisElementChildrenWrapper.classList.add('modular-navigation-item-sub-wrapper-active'); }, 1); }, 10); } const selectAllThisElementChildrenWrapper = document.querySelectorAll('.modular-navigation-item-sub-third-wrapper'); for (let i = 0; i < selectAllThisElementChildrenWrapper.length; i++) { if (selectAllThisElementChildrenWrapper[i].classList.contains('modular-navigation-item-sub-third-wrapper-active')) { selectAllThisElementChildrenWrapper[i].classList.remove('modular-navigation-item-sub-third-wrapper-active'); setTimeout(() => { selectAllThisElementChildrenWrapper[i].style.display = 'none'; }, 310); } } } function modularNavHandleOnClikSubThird(event) { const thisElement = event.target; const thisElementParent = thisElement.classList.contains('modular-navigation-item') ? thisElement : thisElement.parentNode; const thisElementChildrenWrapper = thisElementParent.querySelector('.modular-navigation-item-sub-third-wrapper'); if (thisElementChildrenWrapper) { if (thisElementChildrenWrapper.classList.contains('modular-navigation-item-sub-third-wrapper-active')) { thisElementChildrenWrapper.classList.remove('modular-navigation-item-sub-third-wrapper-active'); setTimeout(() => { thisElementChildrenWrapper.style.display = 'none'; }, 310); return; } const selectAllThisElementChildrenWrapper = document.querySelectorAll('.modular-navigation-item-sub-third-wrapper'); for (let i = 0; i < selectAllThisElementChildrenWrapper.length; i++) { if (selectAllThisElementChildrenWrapper[i].classList.contains('modular-navigation-item-sub-third-wrapper-active')) { selectAllThisElementChildrenWrapper[i].classList.remove('modular-navigation-item-sub-third-wrapper-active'); setTimeout(() => { selectAllThisElementChildrenWrapper[i].style.display = 'none'; }, 310); } } setTimeout(() => { thisElementChildrenWrapper.style.display = 'flex'; setTimeout(() => { thisElementChildrenWrapper.classList.add('modular-navigation-item-sub-third-wrapper-active'); }, 1); }, 10); } } for (let i = 0; i < topNav.length; i++) { const thisModNav = topNav[i]; const thisModNavWrapper= document.createElement('div'); thisModNavWrapper.classList.add('modular-navigation-wrapper'); if (thisModNav.itemList) { const thisModNavMain = document.createElement('div'); thisModNavMain.classList.add('modular-navigation-main'); thisModNavMain.classList.add('modular-navigation-main-width-list'); if (thisModNav.class) thisModNavMain.classList.add(thisModNav.class); thisModNavMain.textContent = thisModNav.name ? thisModNav.name : ''; thisModNavWrapper.appendChild(thisModNavMain); thisModNavMain.addEventListener('mouseenter', modularNavHandleOnClik); const thisModItemWrapper = document.createElement('div'); thisModItemWrapper.classList.add('modular-navigation-item-wrapper'); for (var b = 0; b < thisModNav.itemList.length; b++) { const thisModItem = thisModNav.itemList[b]; if (thisModItem.itemList) { } if (!thisModItem.url && !thisModItem.itemList) continue; const thisModNavItem = thisModItem.itemList ? document.createElement('div') : document.createElement('a'); thisModNavItem.classList.add('modular-navigation-item'); thisModNavItem.classList.add('modular-navigation-item-list-wrapper'); if (thisModItem.class) thisModNavItem.classList.add(thisModItem.class); if (thisModItem.url) thisModNavItem.setAttribute('href', thisModItem.url); if (thisModItem.target) thisModNavItem.setAttribute('target', thisModItem.target); const thisModNavHtext = document.createElement('h5'); thisModNavHtext.textContent = thisModItem.name ? thisModItem.name : ''; thisModNavItem.appendChild(thisModNavHtext); if (thisModItem.desc) { const thisModNavPtext = document.createElement('p'); thisModNavPtext.textContent = thisModItem.desc; thisModNavItem.appendChild(thisModNavPtext); } if (thisModItem.itemList) { const thisModNavItemSubWrapper = document.createElement('div'); thisModNavItemSubWrapper.classList.add('modular-navigation-item-sub-wrapper'); for (let d = 0; d < thisModItem.itemList.length; d++) { const thisModItemSub = thisModItem.itemList[d]; const thisModNavItemSub = thisModItemSub.itemList ? document.createElement('div') : document.createElement('a'); thisModNavItemSub.classList.add('modular-navigation-item-third'); thisModNavItemSub.classList.add('modular-navigation-item'); if (thisModItemSub.class) thisModNavItemSub.classList.add(thisModItemSub.class); if (thisModItemSub.url) thisModNavItemSub.setAttribute('href', thisModItemSub.url); if (thisModItemSub.target) thisModNavItemSub.setAttribute('target', thisModItemSub.target); const thisModNavHtext = document.createElement('h6'); thisModNavHtext.textContent = thisModItemSub.name ? thisModItemSub.name : ''; thisModNavItemSub.appendChild(thisModNavHtext); if (thisModItemSub.desc) { const thisModNavPtext = document.createElement('p'); thisModNavPtext.textContent = thisModItemSub.desc; thisModNavItemSub.appendChild(thisModNavPtext); } thisModNavItemSubWrapper.appendChild(thisModNavItemSub); } thisModNavItem.appendChild(thisModNavItemSubWrapper); } thisModItemWrapper.appendChild(thisModNavItem); } thisModNavWrapper.appendChild(thisModItemWrapper); } else { const thisModNavMain = document.createElement('a'); thisModNavMain.classList.add('modular-navigation-main'); if (thisModNav.class) thisModNavMain.classList.add(thisModNav.class); thisModNavMain.setAttribute('href', thisModNav.url); if (thisModNav.target) thisModNavMain.setAttribute('target', thisModNav.target); thisModNavMain.textContent = thisModNav.name ? thisModNav.name : ''; thisModNavWrapper.appendChild(thisModNavMain); } getModularNavigation.appendChild(thisModNavWrapper); } const getModularNavMobile = document.querySelector('.nav-mobile-modular'); const thisModNavClose = document.createElement('div'); thisModNavClose.classList.add('modular-navigation-close'); thisModNavClose.innerHTML = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M16 132h416c8.837 0 16-7.163 16-16V76c0-8.837-7.163-16-16-16H16C7.163 60 0 67.163 0 76v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16z"/></svg>'; getModularNavigation.appendChild(thisModNavClose); thisModNavClose.addEventListener('click', function() { getModularNavigation.classList.remove('modular-navigation-visible'); }); getModularNavMobile.addEventListener('click', function() { getModularNavigation.classList.add('modular-navigation-visible'); }); } if (document.querySelector('.nav-jobs a')) document.querySelector('.nav-jobs a').setAttribute('target', '_blank'); if (document.querySelector('.nav-pmm-q-a a')) document.querySelector('.nav-pmm-q-a a').setAttribute('target', '_blank'); </script> </div> <div class="search-results"> <div class="search-results-close"> x close </div> <div id="search-field-wrapper"> <form> <input id="search-field" class="st-default-search-input" placeholder="Start typing..."/> </form> </div> <div id="results" class="st-search-container">Nothing to display...</div> <div class="search-tags"> <div class="search-tags-view">or view by:</div> <a href="/tag/affiliates-and-referrals/">AFFILIATES AND REFERRALS</a> <a href="/tag/customer-advocacy/">CUSTOMER ADVOCACY</a> <a href="/tag/customer-and-market-research/">CUSTOMER AND MARKET RESEARCH</a> <a href="/tag/customer-collaboration/">CUSTOMER COLLABORATION</a> <a href="/tag/customer-marketing/">CUSTOMER MARKETING</a> <a href="/tag/customer-retention/">CUSTOMER RETENTION</a> <a href="/tag/customer-segmentation/">CUSTOMER SEGMENTATION</a> <a href="/tag/okrs/">OKRs</a> </div> </div> <div class="social-links social-links-fixed"> <a href="https://www.linkedin.com/company/customer-marketing-alliance" target="_blank"><?xml version="1.0" encoding="utf-8"?> <!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 20 20" style="enable-background:new 0 0 20 20;" xml:space="preserve"> <g> <g> <path class="st0" d="M18.5,0h-17C0.7,0,0,0.6,0,1.4v17.1C0,19.4,0.7,20,1.5,20h17c0.8,0,1.5-0.6,1.5-1.4V1.4C20,0.6,19.3,0,18.5,0 z M5.9,17H3V7.5h3V17z M4.4,6.2c-1,0-1.7-0.8-1.7-1.7c0-0.9,0.8-1.7,1.7-1.7c0.9,0,1.7,0.8,1.7,1.7C6.2,5.4,5.4,6.2,4.4,6.2z M17,17h-3v-4.6c0-1.1,0-2.5-1.5-2.5c-1.5,0-1.8,1.2-1.8,2.5V17h-3V7.5h2.8v1.3h0c0.4-0.8,1.4-1.5,2.8-1.5c3,0,3.6,2,3.6,4.5V17z" /> </g> </g> </svg> </a> <a href="https://twitter.com/CustomerMarket2" target="_blank"><?xml version="1.0" encoding="iso-8859-1"?> <svg viewBox="0 0 24 24" aria-hidden="true" class="r-18jsvk2 r-4qtqp9 r-yyyyoo r-16y2uox r-8kz0gk r-dnmrzs r-bnwqim r-1plcrui r-lrvibr r-lrsllp"> <g> <path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"> </path> </g> </svg></a> <a href="https://www.facebook.com/customermarketingalliance/" target="_blank"><?xml version="1.0" encoding="iso-8859-1"?> <!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 10.385 20" style="enable-background:new 0 0 10.385 20;" xml:space="preserve"> <g> <path id="f_1_" d="M6.742,20v-9.122h3.061l0.459-3.556h-3.52v-2.27c0-1.029,0.285-1.731,1.762-1.731 l1.882-0.001V0.139C10.06,0.097,8.943,0,7.643,0C4.928,0,3.07,1.657,3.07,4.699v2.622H0v3.556h3.07V20H6.742z"/> </g> </svg> </a> <a href="https://www.tiktok.com/@cm_alliance" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-tiktok" viewBox="0 0 16 16"> <path d="M9 0h1.98c.144.715.54 1.617 1.235 2.512C12.895 3.389 13.797 4 15 4v2c-1.753 0-3.07-.814-4-1.829V11a5 5 0 1 1-5-5v2a3 3 0 1 0 3 3z"/> </svg></a> <a href="https://youtube.com/@customermarketingalliance9422?si=U8Gymp22kYK9ZqTr" target="_blank"> <svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 176 124"><defs><style>.cls-1{fill:#fff;}</style></defs><path class="cls-1" d="M180.32,53.36A22.12,22.12,0,0,0,164.76,37.7C151,34,96,34,96,34s-55,0-68.76,3.7A22.12,22.12,0,0,0,11.68,53.36C8,67.18,8,96,8,96s0,28.82,3.68,42.64A22.12,22.12,0,0,0,27.24,154.3C41,158,96,158,96,158s55,0,68.76-3.7a22.12,22.12,0,0,0,15.56-15.66C184,124.82,184,96,184,96S184,67.18,180.32,53.36ZM78,122.17V69.83L124,96Z" transform="translate(-8 -34)"/></svg> </a> <a href="/join-the-customer-marketing-community/"><svg fill="#fff" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80" width="20px" height="160px"><path d="M 27 7 C 26.449 7 26 7.449 26 8 C 26 8.551 26.449 9 27 9 C 27.551 9 28 8.551 28 8 C 28 7.449 27.551 7 27 7 z M 40 7 C 35.592874 7 32 10.592874 32 15 C 32 17.935513 33.631447 20.452449 36 21.841797 L 36 25 C 36 26.37066 36.94553 27.528978 38.210938 27.880859 C 38.537126 28.542191 39.212398 29 40 29 C 40.787602 29 41.462874 28.542191 41.789062 27.880859 C 43.05447 27.528978 44 26.37066 44 25 L 44 21.841797 C 46.088277 20.616853 47.531146 18.502112 47.853516 16 L 48 16 L 48 15 C 48 10.592874 44.407126 7 40 7 z M 53 7 C 52.449 7 52 7.449 52 8 C 52 8.551 52.449 9 53 9 C 53.551 9 54 8.551 54 8 C 54 7.449 53.551 7 53 7 z M 30 9 C 29.449 9 29 9.449 29 10 C 29 10.551 29.449 11 30 11 C 30.551 11 31 10.551 31 10 C 31 9.449 30.551 9 30 9 z M 40 9 C 43.326874 9 46 11.673126 46 15 C 46 17.397701 44.596351 19.449486 42.570312 20.414062 L 42 20.683594 L 42 22 L 40 22 L 40 24 L 42 24 L 42 25 C 42 25.56503 41.56503 26 41 26 L 39 26 C 38.43497 26 38 25.56503 38 25 L 38 20.683594 L 37.429688 20.414062 C 35.403649 19.449488 34 17.397701 34 15 C 34 11.673126 36.673126 9 40 9 z M 50 9 C 49.449 9 49 9.449 49 10 C 49 10.551 49.449 11 50 11 C 50.551 11 51 10.551 51 10 C 51 9.449 50.551 9 50 9 z M 25 14 C 24.449 14 24 14.449 24 15 C 24 15.551 24.449 16 25 16 C 25.551 16 26 15.551 26 15 C 26 14.449 25.551 14 25 14 z M 29 14 C 28.449 14 28 14.449 28 15 C 28 15.551 28.449 16 29 16 C 29.551 16 30 15.551 30 15 C 30 14.449 29.551 14 29 14 z M 51 14 C 50.449 14 50 14.449 50 15 C 50 15.551 50.449 16 51 16 C 51.551 16 52 15.551 52 15 C 52 14.449 51.551 14 51 14 z M 55 14 C 54.449 14 54 14.449 54 15 C 54 15.551 54.449 16 55 16 C 55.551 16 56 15.551 56 15 C 56 14.449 55.551 14 55 14 z M 30 19 C 29.449 19 29 19.449 29 20 C 29 20.551 29.449 21 30 21 C 30.551 21 31 20.551 31 20 C 31 19.449 30.551 19 30 19 z M 50 19 C 49.449 19 49 19.449 49 20 C 49 20.551 49.449 21 50 21 C 50.551 21 51 20.551 51 20 C 51 19.449 50.551 19 50 19 z M 27 21 C 26.449 21 26 21.449 26 22 C 26 22.551 26.449 23 27 23 C 27.551 23 28 22.551 28 22 C 28 21.449 27.551 21 27 21 z M 53 21 C 52.449 21 52 21.449 52 22 C 52 22.551 52.449 23 53 23 C 53.551 23 54 22.551 54 22 C 54 21.449 53.551 21 53 21 z M 18 28 C 13.592874 28 10 31.592874 10 36 C 10 40.407126 13.592874 44 18 44 C 22.407126 44 26 40.407126 26 36 L 26 35 L 25.796875 35 C 25.282076 31.084164 22.052768 28 18 28 z M 62 28 C 57.592874 28 54 31.592874 54 36 C 54 40.407126 57.592874 44 62 44 C 62.275445 44 62.548001 43.986375 62.816406 43.958984 C 64.695246 43.767248 66.384373 42.920314 67.652344 41.652344 C 69.101453 40.203235 70 38.203563 70 36 L 70 35 L 69.796875 35 C 69.282076 31.084164 66.052768 28 62 28 z M 18 30 C 21.326874 30 24 32.673126 24 36 C 24 39.326874 21.326874 42 18 42 C 14.673126 42 12 39.326874 12 36 C 12 32.673126 14.673126 30 18 30 z M 62 30 C 65.326874 30 68 32.673126 68 36 C 68 39.326874 65.326874 42 62 42 C 58.673126 42 56 39.326874 56 36 C 56 35.79207 56.010859 35.587095 56.03125 35.384766 C 56.337112 32.349828 58.881056 30 62 30 z M 40 35 C 35.041484 35 31 39.041484 31 44 C 31 48.958516 35.041484 53 40 53 C 44.958516 53 49 48.958516 49 44 L 49 43 L 48.796875 43 C 48.275261 38.532432 44.604108 35 40 35 z M 40 37 C 43.877484 37 47 40.122516 47 44 C 47 47.877484 43.877484 51 40 51 C 36.122516 51 33 47.877484 33 44 C 33 40.122516 36.122516 37 40 37 z M 18 46 C 10.306206 46 4 52.306206 4 60 L 4 64 L 26.269531 64 C 25.457834 65.84109 25 67.868987 25 70 L 25 74 L 55 74 L 55 71 L 55 70 C 55 67.868987 54.542166 65.84109 53.730469 64 L 76 64 L 76 60 C 76 52.306206 69.693794 46 62 46 C 55.158556 46 49.446319 50.988522 48.257812 57.503906 C 45.884282 55.926028 43.045242 55 40 55 C 36.954758 55 34.115718 55.926028 31.742188 57.503906 C 30.553681 50.988522 24.841444 46 18 46 z M 18 48 C 24.245162 48 29.37815 52.832416 29.921875 58.941406 C 28.934708 59.842395 28.067924 60.868215 27.347656 62 L 6 62 L 6 60 C 6 53.397794 11.397794 48 18 48 z M 62 48 C 68.602206 48 74 53.397794 74 60 L 74 62 L 52.652344 62 C 51.932076 60.868215 51.065292 59.842395 50.078125 58.941406 C 50.62185 52.832416 55.754838 48 62 48 z M 40 57 C 47.153388 57 53 62.846612 53 70 L 53 72 L 27 72 L 27 70 C 27 62.846612 32.846612 57 40 57 z M 8 58 C 7.449 58 7 58.449 7 59 C 7 59.551 7.449 60 8 60 C 8.551 60 9 59.551 9 59 C 9 58.449 8.551 58 8 58 z M 12 58 C 11.449 58 11 58.449 11 59 C 11 59.551 11.449 60 12 60 C 12.551 60 13 59.551 13 59 C 13 58.449 12.551 58 12 58 z M 16 58 C 15.449 58 15 58.449 15 59 C 15 59.551 15.449 60 16 60 C 16.551 60 17 59.551 17 59 C 17 58.449 16.551 58 16 58 z M 20 58 C 19.449 58 19 58.449 19 59 C 19 59.551 19.449 60 20 60 C 20.551 60 21 59.551 21 59 C 21 58.449 20.551 58 20 58 z M 24 58 C 23.449 58 23 58.449 23 59 C 23 59.551 23.449 60 24 60 C 24.551 60 25 59.551 25 59 C 25 58.449 24.551 58 24 58 z M 28 58 C 27.449 58 27 58.449 27 59 C 27 59.551 27.449 60 28 60 C 28.551 60 29 59.551 29 59 C 29 58.449 28.551 58 28 58 z M 52 58 C 51.449 58 51 58.449 51 59 C 51 59.551 51.449 60 52 60 C 52.551 60 53 59.551 53 59 C 53 58.449 52.551 58 52 58 z M 56 58 C 55.449 58 55 58.449 55 59 C 55 59.551 55.449 60 56 60 C 56.551 60 57 59.551 57 59 C 57 58.449 56.551 58 56 58 z M 60 58 C 59.449 58 59 58.449 59 59 C 59 59.551 59.449 60 60 60 C 60.551 60 61 59.551 61 59 C 61 58.449 60.551 58 60 58 z M 64 58 C 63.449 58 63 58.449 63 59 C 63 59.551 63.449 60 64 60 C 64.551 60 65 59.551 65 59 C 65 58.449 64.551 58 64 58 z M 68 58 C 67.449 58 67 58.449 67 59 C 67 59.551 67.449 60 68 60 C 68.551 60 69 59.551 69 59 C 69 58.449 68.551 58 68 58 z M 72 58 C 71.449 58 71 58.449 71 59 C 71 59.551 71.449 60 72 60 C 72.551 60 73 59.551 73 59 C 73 58.449 72.551 58 72 58 z M 30 68 C 29.449 68 29 68.449 29 69 C 29 69.551 29.449 70 30 70 C 30.551 70 31 69.551 31 69 C 31 68.449 30.551 68 30 68 z M 34 68 C 33.449 68 33 68.449 33 69 C 33 69.551 33.449 70 34 70 C 34.551 70 35 69.551 35 69 C 35 68.449 34.551 68 34 68 z M 38 68 C 37.449 68 37 68.449 37 69 C 37 69.551 37.449 70 38 70 C 38.551 70 39 69.551 39 69 C 39 68.449 38.551 68 38 68 z M 42 68 C 41.449 68 41 68.449 41 69 C 41 69.551 41.449 70 42 70 C 42.551 70 43 69.551 43 69 C 43 68.449 42.551 68 42 68 z M 46 68 C 45.449 68 45 68.449 45 69 C 45 69.551 45.449 70 46 70 C 46.551 70 47 69.551 47 69 C 47 68.449 46.551 68 46 68 z M 50 68 C 49.449 68 49 68.449 49 69 C 49 69.551 49.449 70 50 70 C 50.551 70 51 69.551 51 69 C 51 68.449 50.551 68 50 68 z"/></svg> </a> </div> <main id="site-main" class="site-main outer site-main-post has-post-image"> <div class="feature-post-wrapper"> <article class="post-full post tag-article tag-customer-retention "> <section class="post-full-content Article"> <header class="post-full-header"> <div class="post-full-header-wrapper"> <section class="post-full-meta"> <time class="post-full-meta-date" datetime=" 2024-03-22">22 March 2024</time> <span class="reading-time">9 min read</span> </section> <h1 class="post-full-title">How to calculate your customer retention rate (and increase it)</h1> <section class="post-full-meta"> <a href="/tag/article/">Article</a> </section> <div class="post-author-with-linkedin-wrapper"> <div class="post-author-wrapper"> <section class="post-full-authors"> <section class="author-card"> <a href="/author/gareth/"> <img class="author-profile-image" src="/content/images/size/w300/2022/04/Gareth-Watkins.jpeg" alt="Gareth Watkins" /> <section class="author-card-content"> <h4 class="author-card-name">Gareth Watkins</h4> <div class="post-full-footer-right"> <div class="author-card-button">Read More</div> </div> </section> </a> </section> </section> </div> </div> </div> <div class="post-full-image" style="background-image: url(/content/images/2024/05/CMA_Framework_Tiles_retention.jpg);"> </div> </header> <div class="post-content"> <aside class="toc-container"> </aside> <p>You know it, we know it, we know you know it and you know we know it, but we’ll say it anyway: repeat business is where you’ll make the real money. It doesn’t matter if you’re a B2B consultancy with a handful of major clients or an FMCG brand with millions - if you can’t get people coming back for more then you won’t be around for long.</p><p>Here’s another cliche for you: you can’t change what you can’t measure, so before we get stuck into making the line go up let’s understand what the line really means.</p><h2 id="what-is-customer-retention">What is customer retention?</h2><p>If you sell a product, have you sold it to the same client more than once? Congratulations, you’ve just retained a customer. If you provide an ongoing service and a client sticks with you for more than a day then, yep, you’re retaining customers. There are a whole host of ways to achieve this, from loyalty cards to VIP programs, but the aim is always to have customers stay with the company for as long as possible.</p><h2 id="why-is-customer-retention-so-important">Why is customer retention so important?</h2><p>Well, for a start, increasing customer retention by 5% could increase your profits by anywhere from&nbsp;<a href="https://media.bain.com/Images/BB_Prescription_cutting_costs.pdf?ref=productmarketingalliance.com">25% to 95%</a>. Retaining customers is significantly cheaper than finding new ones and your accountant will be glad of the consistent, often predictable income.</p><p>It doesn’t just affect your bottom line though.&nbsp;<a href="https://www.productmarketingalliance.com/how-to-increase-customer-retention-rate-and-boost-customer-loyalty/?ref=customermarketingalliance.com">Customer retention</a>&nbsp;has all kinds of benefits:</p><ul><li><strong>Advocacy</strong>: If customers like your company, they’ll do the marketing for you.</li><li><strong>Information:&nbsp;</strong>Engaged customers are more likely to leave feedback on how you can improve.</li><li><strong>Cross-selling:&nbsp;</strong>An existing customer is more likely to explore the rest of a company that they trust.</li></ul><p>The problem is, it’s easy for upper management to concentrate on new customer growth and miss the big picture- which is why you need solid, quantifiable metrics.</p><h2 id="how-to-calculate-your-customer-retention-rate">How to calculate your customer retention rate</h2><p>There are a few different ways to calculate customer retention rate (you didn’t think it would be too easy did you?)</p><p>Here’s one the most common:&nbsp;<strong><em>((E-N)/S)) x 100</em></strong></p><p>E is the number of customers at the end of the period, N is the number of new customers acquired during a period, and S is the number of customers at the start of the period.</p><p>Now you have to decide on a period that makes sense. It won’t work to declare that your retention rate is 0% because a customer who bought a car or a house yesterday didn’t come back for another today. By doing a deep-dive on your sales data and using a little common sense you should be able to find a range of periods that work. Note that I said range- you might want to be able to see how you’re doing in both the long and short term.</p><p>That might be the most common metric, but there are others. Let’s cover a few of the most important:</p><h3 id="churn-rate">Churn Rate</h3><p>You can get started with customer retention by calculating the percentage of customers you’re&nbsp;<em>not</em>&nbsp;retaining,&nbsp;<a href="https://www.productmarketingalliance.com/your-ultimate-guide-to-churn/?ref=customermarketingalliance.com">known as ‘churn’</a>. This is a nice easy calculation too:</p><p><strong><em>(Total customers + New customers - Lost customers) / Lost customers = Churn rate %</em></strong></p><p>Again, you’ll have to pick a period to measure this in that makes sense- a month, two months, a year, and it makes more sense for subscription-based businesses like SaaS providers than it does for companies that sell physical products in stores.</p><h3 id="repeat-purchase-ratio">Repeat Purchase Ratio</h3><p>If on the other hand, you do sell one-off products then a repeat purchase ratio is your best bet for solid data on customer retention. There’s a caveat though: you need to be able to show whether one person has purchased from you more than once. That’s so easy it’s trivial for online businesses, but could be tricky for companies selling physical items to retailers who then sell them to customers.</p><p>Okay, math time. Let’s take a look at the equation:</p><p><strong><em>Number of returning customers / Number of total customers</em></strong></p><p>So if you look at your data and see that of 10,000 customers 8,000 purchased more than once in a given period, you’ve got an 80% repeat purchase ratio. Nice and easy.</p><h3 id="customer-lifetime-value">Customer Lifetime Value</h3><p><a href="https://www.productmarketingalliance.com/key-pmm-metrics-and-okrs-cltv-and-revenue-retention-for-saas/?ref=customermarketingalliance.com">Customer Lifetime Value</a>, or CLTV, is another nice and easy one with serious value when it comes to balancing customer acquisition and the real value your customers bring.</p><p>For new businesses or new products, the cost to acquire customers (CaC) can be a ‘<a href="https://www.forentrepreneurs.com/startup-killer/?ref=productmarketingalliance.com">startup killer</a>’ - you sink your money into glitzy product launches, an elite field sales team, and bountiful swag (got to have those branded USBs) but once you land a client they’re only paying a fraction of what you spent getting them in the door.</p><p>So, just get the totals that every customer has spent together and calculate the median (don’t use the mean average- a few big fish customers could distort your numbers). If the average lifetime value is below your acquisition cost (the simple version: your sales and marketing budget divided by the total number of customers) then you have a customer retention problem.</p><h3 id="revenue-churn-rate">Revenue Churn Rate</h3><p>Here’s a good one if you like getting into the nitty-gritty of your sales and return numbers, so you’ll need to have access to a CRM or accounting system, or get the company accountant coffee.</p><p>Revenue churn rate measures how much revenue you’ve lost from customer churn in a given period. You can slap together a simple Revenue Churn Rate by multiplying the number of customers you lost in a given period by your Customer Lifetime Value: ‘We lost five clients last month and with a CLV of $5,000 that means $25,000 in lost revenue.’</p><p>A better version incorporates all the different variables in your business (sorry, there’s no one-size-fits-all here). For example, if your company sells subscription products or services (so you have monthly recurring revenue or MRR) and you also have upgrades or optional features then you could use:</p><p><strong><em>((MRR at the start of the period - MRR at the end of the period) - MRR from upgrades) / MRR at the start of the period</em></strong></p><p>Companies with different business models will have to use different formulas, and you could use Excel to make&nbsp;<em>really</em>&nbsp;intense formulae if you’ve got a head for figures.</p><div class="kg-card kg-callout-card kg-callout-card-accent"><div class="kg-callout-emoji">💡</div><div class="kg-callout-text">Wanna learn more about B2C marketing? With<a href="https://certified.productmarketingalliance.com/p/b2c-certified-core?ref=productmarketingalliance.com"> <b><strong style="white-space: pre-wrap;">B2C Certified: Core</strong></b></a>, you can learn how to master the B2C product lifecycle, unlock proven PMM frameworks, become a strategic marketing leader, and more!</div></div><h3 id="net-promoter-score"><br>Net Promoter Score</h3><p>It might not strictly be about measuring customer retention, but&nbsp;<a href="https://www.productmarketingalliance.com/how-product-marketers-can-leverage-nps-data-to-make-decisions/?ref=customermarketingalliance.com">Net Promoter Score (NPS)</a>&nbsp;is so closely related that if you measure one you should definitely measure the other, as NPS can give you valuable intel on why customers aren’t sticking around.</p><p>In case you’ve been living under a rock, NPS is a metric that shows how likely your existing customers are to recommend your company to others. It’s great for diagnosing customer retention problems because if you’re finding that retention is a problem then one of the likely culprits is that customers just aren’t satisfied with what you’re doing, and NPS will give you an insight into satisfaction problems.</p><p>If you’ve low poor retention and a low NPS then you’re pretty obviously not delivering a good product or service. If your NPS is good but you’re not retaining customers then there’s something deeper wrong with your business model- it might be that customers are using your product for a while and moving on when they have no use for it, so you might have to add new products or educate your customers.</p><h2 id="five-ways-to-improve-your-customer-retention-rate">Five ways to improve your customer retention rate</h2><p>Now that you’ve measured your CRR you want the line to start going up, right? It would be weird if you didn’t.</p><p>The answer to any business-related question, whether it's B2B, B2C, SaaS, software, space tourism- anything, is always ‘make a quality product or service and sell it at a price people can afford’. But presuming you’ve got that part down, here are some suggestions.</p><h3 id="find-out-why-people-are-leaving">Find out why people are leaving</h3><p>This one is crucial, so it’s going first: if you know why people don’t stay with you then you can do something about it. If you can, ask former customers why they left and if possible check reviews. You will find that one of the main reasons is&nbsp;<a href="https://www.superoffice.com/blog/good-customer-service-yields-customer-loyalty/?ref=productmarketingalliance.com">poor customer service</a>&nbsp;and a perception that you don’t care about your customers, something that can definitely be improved with a little retraining and some changes in policies.</p><h3 id="focus-on-service">Focus on service</h3><p>Which brings us to here. Customer service isn’t&nbsp;<em>just</em>&nbsp;service with a smile and remembering a chirpy ‘have a nice day now!’ at the end of a phone call, it encompasses everything from how easy it is to make an order to service uptime and technical support. In fact, it’s such a huge subject that we’d be doing you a disservice if we tried to cover it all here.</p><p>One idea we’d suggest is to empower customer-facing staff to be able to give small tokens of thanks or sorry easily and without having to call a manager to offer a refund or send a long-term client some cookies on their birthday. Little things like that go a long way.<br><br>We’re not saying that&nbsp;<a href="https://www.independent.co.uk/arts-entertainment/tv/news/pepsi-advert-pulled-kendall-jenner-protest-video-cancelled-removed-a7668986.html?ref=productmarketingalliance.com">every attempt to be socially conscious in marketing works</a>, but customers are more likely to stick with brands that share their values. That’s a difficult tightrope to walk, and above you’ll see examples of two of the world’s biggest tea companies telling people to&nbsp;<em>stop buying from them</em>&nbsp;in the hope that they’ll pick up new customers and strengthen their bond with existing customers. It doesn’t just mean tweeting the right hashtags, it means living those values in the form of the way your company works and how your employees and customers are treated.</p><h3 id="spot-the-patterns">Spot the Patterns</h3><p>Customers usually don’t jump ship immediately- there are always warning signs first and if you can spot them you can prevent future losses.</p><p>If you have a good-quality CRM system, then you can log all of a customer’s interactions with your company and your product and, when a sizable number of them have left, you will have a dataset that you can use to find out the telltale markers of a soon-to-be-ex customer. They might call helpdesks more than usual, refuse or reschedule calls with a relationship manager, or just start logging into your website less. Whatever it is, as soon as you start seeing patterns you can flag existing customers as ‘at-risk’, allowing you to prioritize giving them the TLC it will take to keep them around.</p><h3 id="create-a-vip-program"><br>Create a VIP program</h3><p>People like to feel special, and if you’re making them feel special they’ll stick around longer. Create and promote programs for long-term, high-value customers to get more from you. That doesn’t just need to be tiered discounts but can include priority support, dedicated account managers, and even a party to celebrate your anniversary with the company.</p><h3 id="make-loyalty-and-upselling-easy">Make Loyalty (and upselling) easy</h3><p>There are probably customers out there who would love to deepen and extend their relationship with your company if they only knew how. There’s a fine line between letting your customers know about other services that you can provide and badgering them about giving you more money, but the easy way is to have upselling opportunities there when the customer is using your product. Freemium software providers often do this by having higher-level options on-screen but greyed out, with a link to purchase always nearby.</p><h2 id="examples-of-great-customer-retention-strategies">Examples of great customer retention strategies</h2><h3 id="adobe">Adobe</h3><p>The creativity software giant is characteristically colorful on its&nbsp;<a href="https://twitter.com/AdobeCare?ref=productmarketingalliance.com">customer support twitter account</a>. They’re proactive about seeking out people who aren’t satisfied with their products (tweet ‘I don’t like photoshop’ if you don’t believe me) and really great at sharing work by people who use their products. Would you switch to CorelDraw if Adobe had tweeted your portfolio out to 87,400 people?</p><h3 id="sephora">Sephora</h3><p>Sephora’s Beauty Insider loyalty program is so popular that its 17 million members make up more than 80% of Sephora’s sales. Since they sell items that have to be restocked regularly, retention is key and they have taken a time-tested approach to keeping customers coming back by offering deep discounts.</p><h3 id="amazon">Amazon</h3><p>With Prime, Amazon have hit on a great concept: a loyalty scheme that people will&nbsp;<em>pay to join</em>. Think about it: if you’re already paying the small fee for Prime, what reason is there to shop elsewhere? Members-only supermarkets like Costco and Sam’s Club have been using this model for decades, and Amazon have, as always, taken this concept and made it huge.</p><h2 id="how-to-measure-customer-retention-success">How to measure customer retention success</h2><p>So you’ve set up your metric, your VIP Platinum Players Club swag bags are bulging with branded USB keys and t-shirts (XXS and XXXL only). How do you know that your strategies are moving the needle?</p><p>The first and most obvious way is to check in on your metrics regularly and see if lines are going up. As we’ve said before, having reasonable timescales is key- this is a marathon, not a sprint. Your efforts to retain customers will take time to kick in, and it will take time to see how much of an effect they have. For example, if you start a retention strategy in January and in February you see a 10% uptick in retention rates don’t start popping champagne just yet- it could be that in March the bump will go down again since you’ve only managed to keep customers hanging on an extra month. That kind of slow-and-steady mentality might be anathema to a move-fast-and-break-things culture, but it’s also the only way you’ll set yourself up for long-term success.</p> </div> <aside class="post-upgrade-cta hidden-upgrade"> <div class="post-upgrade-cta-content"> <img src="/content/images/2024/07/android-chrome-192x192--1--1.png" alt="Customer Marketing Alliance icon" class="site-logo" /> <h2>Like what you see? Then check out tonnes more.</h2> <p class="post-upgrade-cta-desc"> From exclusive content by industry experts and an ever-increasing bank of templates, to 100s of hours’ worth of presentations and mentors, our membership plans are packed with awesome sales enablement resources. </p> <div class="post-upgrade-buttons-wrapper"> <a class="button large primary" href="/signup/">Subscribe now</a> <a class="button large primary" href="/membership/">Learn more</a> </div> </div> </aside> <aside class="post-upgrade-cta get-cert-cta" style="display:none;"> <div class="post-upgrade-cta-content"> <img src="/content/images/2024/07/android-chrome-192x192--1--1.png" alt="Customer Marketing Alliance icon" class="site-logo" /> <h2>Get product marketing certified.</h2> <p class="post-upgrade-cta-desc"> PMMC™ unleashes product marketers’ potential. Lauded by leading lights like Facebook and HubSpot, it offers expert insights, priceless tuition, and awesome resources. No topic missed. No page unturned. </p> <div class="post-upgrade-buttons-wrapper"> <a class="button large primary" href="https://certified.productmarketingalliance.com/p/product-marketing-certified-core" target="_blank">Get certified</a> </div> </div> </aside> <section class="post-full-authors post-full-authors-with-bio"> <section class="author-card"> <div class="post-full-authors-content"> <p>Written by: </p> </div> <a href="/author/gareth/"> <img class="author-profile-image" src="/content/images/size/w300/2022/04/Gareth-Watkins.jpeg" alt="Gareth Watkins" /> <section class="author-card-content"> <h4 class="author-card-name">Gareth Watkins</h4> <p>Gareth is a writer from Manchester, England (well, not technically from there- he gets around a lot) who has been working in marketing for over a decade.</p> <div class="post-full-footer-right"> <div class="author-card-button">Read More</div> </div> </section> </a> </section> </section> </section> <section class="subscribe-form"> <p>Get industry insights</p> <form data-members-form="subscribe"> <input data-members-email type="email" required="true" placeholder="youremail@example.com" /> <br> <button type="submit">Join</button> </form> </section> <aside class="read-next"> <aside class="read-more-wrap outer"> <header class="read-next-card-header"> <h3><span>More in</span> <a href="/tag/article/">Article</a></h3> </header> <div class="read-more inner"> <article class="post-card"> <a class="post-card-image-link" href="/great-referral-programs/"> <img class="post-card-image" src="/content/images/size/w800/2024/11/CMA_Website_Article_Images_Doodles--6-.jpg" alt="10 examples of great referral programs to inspire you" /> </a> <div class="post-card-content"> <div class="post-visibility-public" href="/signin">Members-only</div> <a class="post-card-content-link" href="/great-referral-programs/"> <header class="post-card-header"> <h2 class="post-card-title">10 examples of great referral programs to inspire you</h2> </header> <section class="post-card-excerpt"> <p>We live in a hyper-consumer-driven world where companies bombard us with endless ads and promotional content. Referral programs encourage customers to refer friends, family or colleagues often offering rewards like discounts or credits....</p> </section> </a> <footer class="post-card-meta"> <ul class="author-list"> </ul> <span class="reading-time">10 min read</span> </footer> </div> </article> <article class="post-card"> <a class="post-card-image-link" href="/revolutionizing-storytelling-through-remote-video-capture/"> <img class="post-card-image" src="/content/images/size/w800/2024/11/Revolutionizing-storytelling-through-remote-video-capture.png" alt="Revolutionizing storytelling through remote video capture" /> </a> <div class="post-card-content"> <div class="post-visibility-paid" href="/signin">Members-only</div> <a class="post-card-content-link" href="/revolutionizing-storytelling-through-remote-video-capture/"> <header class="post-card-header"> <h2 class="post-card-title">Revolutionizing storytelling through remote video capture</h2> </header> <section class="post-card-excerpt"> <p>Revolutionizing storytelling through video is about more than just crafting compelling content—it’s about connection, authenticity, and relevance. In this article, discover practical tips on using video as a powerful storytelling tool....</p> </section> </a> <footer class="post-card-meta"> <ul class="author-list"> </ul> <span class="reading-time">10 min read</span> </footer> </div> </article> <article class="post-card"> <a class="post-card-image-link" href="/the-persona-first-problem/"> <img class="post-card-image" src="/content/images/size/w800/2024/11/The-persona-first-problem.png" alt="The persona first problem" /> </a> <div class="post-card-content"> <div class="post-visibility-public" href="/signin">Members-only</div> <a class="post-card-content-link" href="/the-persona-first-problem/"> <header class="post-card-header"> <h2 class="post-card-title">The persona first problem</h2> </header> <section class="post-card-excerpt"> <p>Personas are a core part of marketing strategies. This article explores the challenges that come with an overreliance on personas and introduces an alternative perspective....</p> </section> </a> <footer class="post-card-meta"> <ul class="author-list"> </ul> <span class="reading-time">12 min read</span> </footer> </div> </article> </div> </aside> </aside> </article> </div> </main> <div class="floating-header"> <div class="floating-header-logo"> <a href="https://www.customermarketingalliance.com"> <img src="/content/images/size/w100/2024/07/android-chrome-192x192--1--1.png" alt="Customer Marketing Alliance icon" /> <span>Customer Marketing Alliance</span> </a> </div> <span class="floating-header-divider">&mdash;</span> <div class="floating-header-title">How to calculate your customer retention rate (and increase it)</div> <div class="floating-header-share"> <a class="floating-header-share-tw" href="https://twitter.com/share?text=How%20to%20calculate%20your%20customer%20retention%20rate%20(and%20increase%20it)&amp;url=https://www.customermarketingalliance.com/how-to-calculate-your-customer-retention-rate-and-increase-it/" onclick="window.open(this.href, 'share-twitter', 'width=550,height=235');return false;"> <?xml version="1.0" encoding="iso-8859-1"?> <svg viewBox="0 0 24 24" aria-hidden="true" class="r-18jsvk2 r-4qtqp9 r-yyyyoo r-16y2uox r-8kz0gk r-dnmrzs r-bnwqim r-1plcrui r-lrvibr r-lrsllp"> <g> <path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"> </path> </g> </svg> </a> <a class="floating-header-share-fb" href="https://www.facebook.com/sharer/sharer.php?u=https://www.customermarketingalliance.com/how-to-calculate-your-customer-retention-rate-and-increase-it/" onclick="window.open(this.href, 'share-facebook','width=580,height=296');return false;"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path d="M19 6h5V0h-5c-3.86 0-7 3.14-7 7v3H8v6h4v16h6V16h5l1-6h-6V7c0-.542.458-1 1-1z"/></svg> </a> <a class="floating-header-share-linkedin" href="https://www.linkedin.com/shareArticle?mini=true&url=https://www.customermarketingalliance.com/how-to-calculate-your-customer-retention-rate-and-increase-it/" onclick="window.open(this.href, 'share-facebook','width=580,height=496');return false;"> <?xml version="1.0" encoding="utf-8"?> <!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 20 20" style="enable-background:new 0 0 20 20;" xml:space="preserve"> <g> <g> <path class="st0" d="M18.5,0h-17C0.7,0,0,0.6,0,1.4v17.1C0,19.4,0.7,20,1.5,20h17c0.8,0,1.5-0.6,1.5-1.4V1.4C20,0.6,19.3,0,18.5,0 z M5.9,17H3V7.5h3V17z M4.4,6.2c-1,0-1.7-0.8-1.7-1.7c0-0.9,0.8-1.7,1.7-1.7c0.9,0,1.7,0.8,1.7,1.7C6.2,5.4,5.4,6.2,4.4,6.2z M17,17h-3v-4.6c0-1.1,0-2.5-1.5-2.5c-1.5,0-1.8,1.2-1.8,2.5V17h-3V7.5h2.8v1.3h0c0.4-0.8,1.4-1.5,2.8-1.5c3,0,3.6,2,3.6,4.5V17z" /> </g> </g> </svg> </a> </div> <progress id="reading-progress" class="progress" value="0"> <div class="progress-container"> <span class="progress-bar"></span> </div> </progress> </div> <!-- link tag --> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/tocbot/4.11.1/tocbot.css" /> <!-- script tag --> <script src="https://cdnjs.cloudflare.com/ajax/libs/tocbot/4.11.1/tocbot.min.js"></script> <script> if (window.isTOCenabled) { document.querySelector('.toc-container').innerHTML = '<div class="toc"></div>'; tocbot.init({ tocSelector: '.toc', contentSelector: '.post-content' }); } </script> <div class="footer"> <div class="footer-wrapper"> <div class="site-footer-content"> <div class="site-footer-content-logo"> <a href="/"> <img src="https://www.customermarketingalliance.com/assets/img/sales/CMA%20FULL%20LOGO%20WHITE.svg?v=945d8828d2" /> </a> </div> <div class="site-footer-content-title"> Our mission is plain and simple. We want to provide those in customer marketing positions with the resources and information they need to fulfill their potential. </div> </div> <div class="site-footer-social social-links"> <a href="https://www.linkedin.com/company/customer-marketing-alliance" target="_blank"><?xml version="1.0" encoding="utf-8"?> <!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 20 20" style="enable-background:new 0 0 20 20;" xml:space="preserve"> <g> <g> <path class="st0" d="M18.5,0h-17C0.7,0,0,0.6,0,1.4v17.1C0,19.4,0.7,20,1.5,20h17c0.8,0,1.5-0.6,1.5-1.4V1.4C20,0.6,19.3,0,18.5,0 z M5.9,17H3V7.5h3V17z M4.4,6.2c-1,0-1.7-0.8-1.7-1.7c0-0.9,0.8-1.7,1.7-1.7c0.9,0,1.7,0.8,1.7,1.7C6.2,5.4,5.4,6.2,4.4,6.2z M17,17h-3v-4.6c0-1.1,0-2.5-1.5-2.5c-1.5,0-1.8,1.2-1.8,2.5V17h-3V7.5h2.8v1.3h0c0.4-0.8,1.4-1.5,2.8-1.5c3,0,3.6,2,3.6,4.5V17z" /> </g> </g> </svg> </a> <a href="https://twitter.com/CustomerMarket2 " target="_blank"><?xml version="1.0" encoding="iso-8859-1"?> <svg viewBox="0 0 24 24" aria-hidden="true" class="r-18jsvk2 r-4qtqp9 r-yyyyoo r-16y2uox r-8kz0gk r-dnmrzs r-bnwqim r-1plcrui r-lrvibr r-lrsllp"> <g> <path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"> </path> </g> </svg></a> <a href="https://www.facebook.com/customermarketingalliance/" target="_blank"><?xml version="1.0" encoding="iso-8859-1"?> <!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 10.385 20" style="enable-background:new 0 0 10.385 20;" xml:space="preserve"> <g> <path id="f_1_" d="M6.742,20v-9.122h3.061l0.459-3.556h-3.52v-2.27c0-1.029,0.285-1.731,1.762-1.731 l1.882-0.001V0.139C10.06,0.097,8.943,0,7.643,0C4.928,0,3.07,1.657,3.07,4.699v2.622H0v3.556h3.07V20H6.742z"/> </g> </svg> </a> <a href="https://www.tiktok.com/@cm_alliance" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-tiktok" viewBox="0 0 16 16"> <path d="M9 0h1.98c.144.715.54 1.617 1.235 2.512C12.895 3.389 13.797 4 15 4v2c-1.753 0-3.07-.814-4-1.829V11a5 5 0 1 1-5-5v2a3 3 0 1 0 3 3z"/> </svg></a> <a href="https://youtube.com/@customermarketingalliance9422?si=U8Gymp22kYK9ZqTr" target="_blank"> <svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 176 124"><defs><style>.cls-1{fill:#fff;}</style></defs><path class="cls-1" d="M180.32,53.36A22.12,22.12,0,0,0,164.76,37.7C151,34,96,34,96,34s-55,0-68.76,3.7A22.12,22.12,0,0,0,11.68,53.36C8,67.18,8,96,8,96s0,28.82,3.68,42.64A22.12,22.12,0,0,0,27.24,154.3C41,158,96,158,96,158s55,0,68.76-3.7a22.12,22.12,0,0,0,15.56-15.66C184,124.82,184,96,184,96S184,67.18,180.32,53.36ZM78,122.17V69.83L124,96Z" transform="translate(-8 -34)"/></svg> </a> <a href="/join-the-customer-marketing-community/" target="_blank"><svg fill="#fff" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80" width="20px" height="160px"><path d="M 27 7 C 26.449 7 26 7.449 26 8 C 26 8.551 26.449 9 27 9 C 27.551 9 28 8.551 28 8 C 28 7.449 27.551 7 27 7 z M 40 7 C 35.592874 7 32 10.592874 32 15 C 32 17.935513 33.631447 20.452449 36 21.841797 L 36 25 C 36 26.37066 36.94553 27.528978 38.210938 27.880859 C 38.537126 28.542191 39.212398 29 40 29 C 40.787602 29 41.462874 28.542191 41.789062 27.880859 C 43.05447 27.528978 44 26.37066 44 25 L 44 21.841797 C 46.088277 20.616853 47.531146 18.502112 47.853516 16 L 48 16 L 48 15 C 48 10.592874 44.407126 7 40 7 z M 53 7 C 52.449 7 52 7.449 52 8 C 52 8.551 52.449 9 53 9 C 53.551 9 54 8.551 54 8 C 54 7.449 53.551 7 53 7 z M 30 9 C 29.449 9 29 9.449 29 10 C 29 10.551 29.449 11 30 11 C 30.551 11 31 10.551 31 10 C 31 9.449 30.551 9 30 9 z M 40 9 C 43.326874 9 46 11.673126 46 15 C 46 17.397701 44.596351 19.449486 42.570312 20.414062 L 42 20.683594 L 42 22 L 40 22 L 40 24 L 42 24 L 42 25 C 42 25.56503 41.56503 26 41 26 L 39 26 C 38.43497 26 38 25.56503 38 25 L 38 20.683594 L 37.429688 20.414062 C 35.403649 19.449488 34 17.397701 34 15 C 34 11.673126 36.673126 9 40 9 z M 50 9 C 49.449 9 49 9.449 49 10 C 49 10.551 49.449 11 50 11 C 50.551 11 51 10.551 51 10 C 51 9.449 50.551 9 50 9 z M 25 14 C 24.449 14 24 14.449 24 15 C 24 15.551 24.449 16 25 16 C 25.551 16 26 15.551 26 15 C 26 14.449 25.551 14 25 14 z M 29 14 C 28.449 14 28 14.449 28 15 C 28 15.551 28.449 16 29 16 C 29.551 16 30 15.551 30 15 C 30 14.449 29.551 14 29 14 z M 51 14 C 50.449 14 50 14.449 50 15 C 50 15.551 50.449 16 51 16 C 51.551 16 52 15.551 52 15 C 52 14.449 51.551 14 51 14 z M 55 14 C 54.449 14 54 14.449 54 15 C 54 15.551 54.449 16 55 16 C 55.551 16 56 15.551 56 15 C 56 14.449 55.551 14 55 14 z M 30 19 C 29.449 19 29 19.449 29 20 C 29 20.551 29.449 21 30 21 C 30.551 21 31 20.551 31 20 C 31 19.449 30.551 19 30 19 z M 50 19 C 49.449 19 49 19.449 49 20 C 49 20.551 49.449 21 50 21 C 50.551 21 51 20.551 51 20 C 51 19.449 50.551 19 50 19 z M 27 21 C 26.449 21 26 21.449 26 22 C 26 22.551 26.449 23 27 23 C 27.551 23 28 22.551 28 22 C 28 21.449 27.551 21 27 21 z M 53 21 C 52.449 21 52 21.449 52 22 C 52 22.551 52.449 23 53 23 C 53.551 23 54 22.551 54 22 C 54 21.449 53.551 21 53 21 z M 18 28 C 13.592874 28 10 31.592874 10 36 C 10 40.407126 13.592874 44 18 44 C 22.407126 44 26 40.407126 26 36 L 26 35 L 25.796875 35 C 25.282076 31.084164 22.052768 28 18 28 z M 62 28 C 57.592874 28 54 31.592874 54 36 C 54 40.407126 57.592874 44 62 44 C 62.275445 44 62.548001 43.986375 62.816406 43.958984 C 64.695246 43.767248 66.384373 42.920314 67.652344 41.652344 C 69.101453 40.203235 70 38.203563 70 36 L 70 35 L 69.796875 35 C 69.282076 31.084164 66.052768 28 62 28 z M 18 30 C 21.326874 30 24 32.673126 24 36 C 24 39.326874 21.326874 42 18 42 C 14.673126 42 12 39.326874 12 36 C 12 32.673126 14.673126 30 18 30 z M 62 30 C 65.326874 30 68 32.673126 68 36 C 68 39.326874 65.326874 42 62 42 C 58.673126 42 56 39.326874 56 36 C 56 35.79207 56.010859 35.587095 56.03125 35.384766 C 56.337112 32.349828 58.881056 30 62 30 z M 40 35 C 35.041484 35 31 39.041484 31 44 C 31 48.958516 35.041484 53 40 53 C 44.958516 53 49 48.958516 49 44 L 49 43 L 48.796875 43 C 48.275261 38.532432 44.604108 35 40 35 z M 40 37 C 43.877484 37 47 40.122516 47 44 C 47 47.877484 43.877484 51 40 51 C 36.122516 51 33 47.877484 33 44 C 33 40.122516 36.122516 37 40 37 z M 18 46 C 10.306206 46 4 52.306206 4 60 L 4 64 L 26.269531 64 C 25.457834 65.84109 25 67.868987 25 70 L 25 74 L 55 74 L 55 71 L 55 70 C 55 67.868987 54.542166 65.84109 53.730469 64 L 76 64 L 76 60 C 76 52.306206 69.693794 46 62 46 C 55.158556 46 49.446319 50.988522 48.257812 57.503906 C 45.884282 55.926028 43.045242 55 40 55 C 36.954758 55 34.115718 55.926028 31.742188 57.503906 C 30.553681 50.988522 24.841444 46 18 46 z M 18 48 C 24.245162 48 29.37815 52.832416 29.921875 58.941406 C 28.934708 59.842395 28.067924 60.868215 27.347656 62 L 6 62 L 6 60 C 6 53.397794 11.397794 48 18 48 z M 62 48 C 68.602206 48 74 53.397794 74 60 L 74 62 L 52.652344 62 C 51.932076 60.868215 51.065292 59.842395 50.078125 58.941406 C 50.62185 52.832416 55.754838 48 62 48 z M 40 57 C 47.153388 57 53 62.846612 53 70 L 53 72 L 27 72 L 27 70 C 27 62.846612 32.846612 57 40 57 z M 8 58 C 7.449 58 7 58.449 7 59 C 7 59.551 7.449 60 8 60 C 8.551 60 9 59.551 9 59 C 9 58.449 8.551 58 8 58 z M 12 58 C 11.449 58 11 58.449 11 59 C 11 59.551 11.449 60 12 60 C 12.551 60 13 59.551 13 59 C 13 58.449 12.551 58 12 58 z M 16 58 C 15.449 58 15 58.449 15 59 C 15 59.551 15.449 60 16 60 C 16.551 60 17 59.551 17 59 C 17 58.449 16.551 58 16 58 z M 20 58 C 19.449 58 19 58.449 19 59 C 19 59.551 19.449 60 20 60 C 20.551 60 21 59.551 21 59 C 21 58.449 20.551 58 20 58 z M 24 58 C 23.449 58 23 58.449 23 59 C 23 59.551 23.449 60 24 60 C 24.551 60 25 59.551 25 59 C 25 58.449 24.551 58 24 58 z M 28 58 C 27.449 58 27 58.449 27 59 C 27 59.551 27.449 60 28 60 C 28.551 60 29 59.551 29 59 C 29 58.449 28.551 58 28 58 z M 52 58 C 51.449 58 51 58.449 51 59 C 51 59.551 51.449 60 52 60 C 52.551 60 53 59.551 53 59 C 53 58.449 52.551 58 52 58 z M 56 58 C 55.449 58 55 58.449 55 59 C 55 59.551 55.449 60 56 60 C 56.551 60 57 59.551 57 59 C 57 58.449 56.551 58 56 58 z M 60 58 C 59.449 58 59 58.449 59 59 C 59 59.551 59.449 60 60 60 C 60.551 60 61 59.551 61 59 C 61 58.449 60.551 58 60 58 z M 64 58 C 63.449 58 63 58.449 63 59 C 63 59.551 63.449 60 64 60 C 64.551 60 65 59.551 65 59 C 65 58.449 64.551 58 64 58 z M 68 58 C 67.449 58 67 58.449 67 59 C 67 59.551 67.449 60 68 60 C 68.551 60 69 59.551 69 59 C 69 58.449 68.551 58 68 58 z M 72 58 C 71.449 58 71 58.449 71 59 C 71 59.551 71.449 60 72 60 C 72.551 60 73 59.551 73 59 C 73 58.449 72.551 58 72 58 z M 30 68 C 29.449 68 29 68.449 29 69 C 29 69.551 29.449 70 30 70 C 30.551 70 31 69.551 31 69 C 31 68.449 30.551 68 30 68 z M 34 68 C 33.449 68 33 68.449 33 69 C 33 69.551 33.449 70 34 70 C 34.551 70 35 69.551 35 69 C 35 68.449 34.551 68 34 68 z M 38 68 C 37.449 68 37 68.449 37 69 C 37 69.551 37.449 70 38 70 C 38.551 70 39 69.551 39 69 C 39 68.449 38.551 68 38 68 z M 42 68 C 41.449 68 41 68.449 41 69 C 41 69.551 41.449 70 42 70 C 42.551 70 43 69.551 43 69 C 43 68.449 42.551 68 42 68 z M 46 68 C 45.449 68 45 68.449 45 69 C 45 69.551 45.449 70 46 70 C 46.551 70 47 69.551 47 69 C 47 68.449 46.551 68 46 68 z M 50 68 C 49.449 68 49 68.449 49 69 C 49 69.551 49.449 70 50 70 C 50.551 70 51 69.551 51 69 C 51 68.449 50.551 68 50 68 z"/></svg> </a> </div> <div class="site-footer-links"> <div class="site-footer-links-title"> ABOUT </div> <ul role="menu"> <li class="nav-home nav-current" role="menuitem"><a href="/create-and-contribute/">Contribute</a></li> <li class="nav-tag" role="menuitem"><a href="/partner-with-us/">Media Guide</a></li> <li class="nav-advisory-board" role="menuitem"><a href="/about/">Mission</a></li> <li class="nav-advisory-board" role="menuitem"><a href="/contact-us/">Contact</a></li> <li class="nav-advisory-board" role="menuitem"><a href="/privacy-policy">Privacy Policy</a></li> <li class="nav-advisory-board" role="menuitem"><a href="/terms-and-conditions">Terms of Service</a></li> </ul> </div> <div class="site-footer-links"> <div class="site-footer-links-title"> RESOURCES </div> <ul role="menu"> <li class="nav-tag" role="menuitem"><a href="/articles">Articles</a></li> <li class="nav-tag" role="menuitem"><a href="/subscribe-to-customer-marketing-dispatch/">Newsletter</a></li> </ul> </div> <div class="site-footer-links"> <div class="site-footer-links-title"> GENERAL </div> <ul role="menu"> <li class="nav-advisory-board" role="menuitem"><a href="/signup">Membership</a></li> <li class="nav-advisory-board" role="menuitem"><a href="/join-the-customer-marketing-community/">Community</a></li> </ul> </div> <div class="site-footer-categories"> <div class="site-footer-categories-title"> Learn </div> <a href="/tag/affiliates-and-referrals/">AFFILIATES AND REFERRALS</a> <a href="/tag/customer-advocacy/">CUSTOMER ADVOCACY</a> <a href="/tag/customer-and-market-research/">CUSTOMER AND MARKET RESEARCH</a> <a href="/tag/customer-collaboration/">CUSTOMER COLLABORATION</a> <a href="/tag/customer-marketing/">CUSTOMER MARKETING</a> <a href="/tag/customer-retention/">CUSTOMER RETENTION</a> <a href="/tag/customer-segmentation/">CUSTOMER SEGMENTATION</a> <a href="/tag/okrs/">OKRs</a> </div> </div> </div> </div> <!-- --> <script> var images = document.querySelectorAll('.kg-gallery-image img'); images.forEach(function (image) { var container = image.closest('.kg-gallery-image'); var width = image.attributes.width.value; var height = image.attributes.height.value; var ratio = width / height; container.style.flex = ratio + ' 1 0%'; }) </script> <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-56ZBHT3" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <script> var beamer_config = { product_id : 'EGYSeqmT47008',//DO NOT CHANGE: This is your product code on Beamer selector : '.nav-whats-new' }; </script> <script type="text/javascript" src="https://app.getbeamer.com/js/beamer-embed.js" defer="defer"></script> <script id='pixel-script-poptin' src='https://cdn.popt.in/pixel.js?id=5216131db94ff' async='true'></script> <!-- khalil test code - start --> <script> (function() { function attachClickListeners(iframe) { const frameContent = iframe.contentDocument; const toggleParent = frameContent.querySelector(".gh-portal-products-pricetoggle"); if(!toggleParent) { console.error("Could not find any toggle parent"); return; } toggleParent.addEventListener("click", function (event) { if (event.target.matches(".gh-portal-btn")) { setTimeout(function () { setPortalPricing(iframe); }, 30); } }); } function setPortalPricing(iframe) { const frameContent = iframe.contentDocument; const productCards = frameContent.querySelectorAll(".gh-portal-product-card"); if(!productCards.length) { console.error("Could not find any product cards"); return; } // Cache the active buttons const monthlyBtnActive = frameContent.querySelector('[data-test-button="switch-monthly"].gh-portal-btn.active') != null; const yearlyBtnActive = frameContent.querySelector('[data-test-button="switch-yearly"].gh-portal-btn.active') != null; // Map for product display mode const productDisplayMode = { 'Pro+ membership': monthlyBtnActive ? 'none' : 'flex', 'Free': yearlyBtnActive ? 'none' : 'flex' }; productCards.forEach(function (element) { const productNameElement = element.querySelector(".gh-portal-product-name"); if(!productNameElement) { console.error("Could not find product name element in ", element); return; } const productName = productNameElement.textContent; console.log("productName", productName); element.style.display = productDisplayMode[productName] || 'flex'; }); } let intervalId; function callPortalIframe() { let portalIframe = document.querySelector("#ghost-portal-root iframe"); if (portalIframe) { portalIframe.addEventListener('load', function() { setPortalPricing(portalIframe); attachClickListeners(portalIframe); console.log("Pricing set and listeners attached"); // listen to event click on button const viewPlansButton = portalIframe.contentDocument.querySelector( '.gh-portal-btn-main.gh-portal-btn-primary[data-test-button="view-plans"]' ); if (viewPlansButton) { console.log(viewPlansButton); console.log("viewPlansButton was found!"); clearInterval(intervalId); // Stop checking once the button is found viewPlansButton.addEventListener("click", function (event) { console.log("viewPlansButton was clicked!"); setTimeout(function () { setPortalPricing(portalIframe); attachClickListeners(portalIframe); }, 30); }); } else { console.log("viewPlansButton was not found on the page"); console.log(viewPlansButton); } const changePlansButton = portalIframe.contentDocument.querySelector('.gh-portal-btn.gh-portal-btn-list[data-test-button="change-plan"]'); if (changePlansButton) { console.log(changePlansButton); console.log("changePlansButton was found!"); clearInterval(intervalId); // Stop checking once the button is found changePlansButton.addEventListener("click", function (event) { console.log("changePlansButton was clicked!"); setTimeout(function () { setPortalPricing(portalIframe); attachClickListeners(portalIframe); }, 30); }); } else { console.log("changePlansButton was not found on the page"); console.log(changePlansButton); } if(intervalId) { clearInterval(intervalId); intervalId = null; } }); } else { console.error("Could not find #ghost-portal-root iframe, retrying..."); if (!intervalId) { intervalId = setInterval(callPortalIframe, 1000); } } } document.addEventListener("DOMContentLoaded", function() { console.log("DOM fully loaded"); let currentUrl = window.location.href; let link = document.querySelector('a[href="https://www.customermarketingalliance.com/#/portal/signup/"]'); if(link){ link.addEventListener('click', function(event) { console.log('Link was clicked!'); callPortalIframe(); }); } else { console.log('The link was not found on the page'); } if ( currentUrl === "https://www.customermarketingalliance.com/#/portal/signup/" || currentUrl === "https://www.customermarketingalliance.com/#/portal/account/plans/" ) { callPortalIframe(); console.log("You are on the signup page"); } else if ( currentUrl === "https://www.customermarketingalliance.com/#/portal" || currentUrl === "https://www.customermarketingalliance.com/account-free/#/portal" || currentUrl === "https://www.customermarketingalliance.com/pro-plus-membership-dashboard/#/portal" || currentUrl === "https://www.customermarketingalliance.com/account/#/portal" ) { callPortalIframe(); console.log("You are on the portal/viewplans page"); } else { console.log("You are not on the signup/plan page"); } // Start observing the target node for configured mutations const targetNodePortalRoot = document.getElementById("ghost-portal-root"); if (targetNodePortalRoot) { const config = { attributes: true, childList: true, subtree: true }; const poratalObserver = new MutationObserver(function() { callPortalIframe(); }); poratalObserver.observe(targetNodePortalRoot, config); } else { console.error("Could not find #ghost-portal-root element"); } }); })(); </script> <!-- khalil test code - end --> <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"> <script type="text/javascript" src="https://www.customermarketingalliance.com/assets/built/jquery.js?v=945d8828d2" ></script> <script type="text/javascript" src="https://www.customermarketingalliance.com/assets/built/jquery.fitvids.js?v=945d8828d2" ></script> <script type="text/javascript" src="https://www.customermarketingalliance.com/assets/built/ghost-lunr.js?v=945d8828d2" defer></script> <script type="text/javascript" src="https://www.customermarketingalliance.com/assets/built/search.js?v=945d8828d2" defer></script> <script type="text/javascript" src="https://www.customermarketingalliance.com/assets/%20built/jquery.fitvids.js?v=945d8828d2"></script> <script> // NOTE: Scroll performance is poor in Safari // - this appears to be due to the events firing much more slowly in Safari. // Dropping the scroll event and using only a raf loop results in smoother // scrolling but continuous processing even when not scrolling $(document).ready(function () { // Start fitVids var $postContent = $(".post-full-content"); $postContent.fitVids(); // End fitVids var progressBar = document.querySelector('#reading-progress'); var header = document.querySelector('.floating-header'); var title = document.querySelector('.post-full-title'); var lastScrollY = window.scrollY; var lastWindowHeight = window.innerHeight; var lastDocumentHeight = $(document).height(); var ticking = false; function onScroll() { lastScrollY = window.scrollY; requestTick(); } function onResize() { lastWindowHeight = window.innerHeight; lastDocumentHeight = $(document).height(); requestTick(); } function requestTick() { if (!ticking) { requestAnimationFrame(update); } ticking = true; } function update() { var trigger = title.getBoundingClientRect().top + window.scrollY; var triggerOffset = title.offsetHeight + 35; var progressMax = lastDocumentHeight - lastWindowHeight; // show/hide floating header if (lastScrollY >= trigger + triggerOffset) { header.classList.add('floating-active'); } else { header.classList.remove('floating-active'); } progressBar.setAttribute('max', progressMax); progressBar.setAttribute('value', lastScrollY); ticking = false; } window.addEventListener('scroll', onScroll, { passive: true }); window.addEventListener('resize', onResize, false); update(); var getHiddenUpgrade = document.querySelector('.hidden-upgrade'); if (getHiddenUpgrade && isHiddenUpgradeVisible) getHiddenUpgrade.style.display = 'block'; }); // window.inArticleAdList = [ // { // img: 'https://static.ghost.org/v3.0.0/images/publishing-options.png', // url: '/' // }, // { // img: 'https://static.ghost.org/v3.0.0/images/admin-settings.png', // url: '/' // } // ]; if (window.inArticleAdList && !window.inArticleAdListDisabled) { const getSelectPostContent = document.querySelector('.post-content'); const getSelectPostContentLength = parseInt(getSelectPostContent.children.length / 2); const getSelectPostContentItem = getSelectPostContent.children[getSelectPostContentLength]; const thisinPostAd = document.createElement('a'); thisinPostAd.classList.add('post-in-post-ad'); const getRandAdItem = inArticleAdList[Math.floor(Math.random() * inArticleAdList.length)]; thisinPostAd.style.backgroundImage = 'url(' + getRandAdItem.img + ')'; thisinPostAd.setAttribute('href', getRandAdItem.url); thisinPostAd.setAttribute('target', '_blank'); getSelectPostContentItem.parentNode.insertBefore(thisinPostAd, getSelectPostContentItem.nextSibling); } const getCertCta = document.querySelector('.get-cert-cta'); if (window.showGetCertCta && getCertCta) { getCertCta.style.display = 'block'; } </script> <script> window.intercomSettings = { app_id: "ihx5j8jg" }; </script> <script> (function(){var w=window;var ic=w.Intercom;if(typeof ic==="function"){ic('reattach_activator');ic('update',w.intercomSettings);}else{var d=document;var i=function(){i.c(arguments);};i.q=[];i.c=function(args){i.q.push(args);};w.Intercom=i;var l=function(){var s=d.createElement('script');s.type='text/javascript';s.async=true;s.src='https://widget.intercom.io/widget/ihx5j8jg';var x=d.getElementsByTagName('script')[0];x.parentNode.insertBefore(s,x);};if(w.attachEvent){w.attachEvent('onload',l);}else{w.addEventListener('load',l,false);}}})(); </script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10