Little Stream Software 2024-04-24T07:00:00Z https://www.littlestreamsoftware.com/ Eric Davis Shopify Dispatch Issue #448 - Low-cost items, PCI DSS v4 in Shopify 2024-04-24T07:00:00Z https://www.littlestreamsoftware.com/shopify-dispatch/issue-448/ <h2>Issue #448 - April 24th, 2024</h2> <h3>Your Low-Cost Items</h3> <p>Kevin Hillstrom writes about <a href="https://blog.minethatdata.com/2024/04/your-low-cost-items.html">having a low-cost product that's loved by customers</a> and keeping it low-cost.</p> <p>This is why Costco's $1.50 hot dog is so loved.</p> <h3>Powering Shopify’s High-Performance, PCI DSS v4 Compliant Checkout with Sandboxing</h3> <p>A technical post by Ilya Grigorik but it basically says how <a href="https://www.shopify.com/partners/blog/checkout-compliance">Shopify is becoming PCI DSS v4 compliant</a> which means more security for credit cards.</p> <p>Seems like all you need to do is upgrade to their Checkout Extensibility.</p> <h3>Figure out which sales channels send you the best customers</h3> <p>With the acquisition source analysis, <a href="https://www.littlestreamsoftware.com/shopify-apps/repeat-customer-insights/">Repeat Customer Insights</a> can show you which sales channels are sending you the best customers.</p> <h3>My articles this week</h3> <p><a href="https://www.littlestreamsoftware.com/articles/waste-constraint/">Allow waste by finding your true constraint</a></p> <p><a href="https://www.littlestreamsoftware.com/articles/diagnose-prescribe/">Diagnose and prescribe to solve problems</a></p> <p><a href="https://www.littlestreamsoftware.com/articles/customer-by-acquisition/">Compare customer behavior by acquisition channel</a></p> <p><a href="https://www.littlestreamsoftware.com/articles/product-copywriting/">Invest in your product copywriting</a></p> <p>Eric Davis</p> <div class="hide-in-email"> <script defer="" src="https://cdn.convertkit.com/assets/CKJS4.js?v=21"></script> <div class="ck_form ck_vertical_subscription_form ck_horizontal"> <div class="ck_form_content"> <h3 class="ck_form_title">Would you like to learn how to improve your store, attract happy customers, and sell more products?</h3> <div class="ck_description"> <span class="ck_image"> </span> <p>Learn how in the Shopify Dispatch.<br /></p><p>Shopify Dispatch is a weekly curated newsletter with links and resources for Shopify merchants about Shopify and ecommerce.</p> </div> </div> <div class="ck_form_fields"> <div id="ck_success_msg" style="display:none;"> <p>Success! Now check your email to confirm your subscription.</p> </div> <!-- Form starts here --> <form id="ck_subscribe_form" class="ck_subscribe_form" action="https://api.convertkit.com/landing_pages/356400/subscribe" data-remote="true"> <input type="hidden" value='{"form_style":"full","converted_behavior":"show","days_no_show":"1","delay_seconds":"10","display_devices":"desktop","display_position":"br","embed_style":"inline","embed_trigger":"timing","scroll_percentage":"70"}' id="ck_form_options" /> <input type="hidden" name="id" value="356400" id="landing_page_id" /> <input type="hidden" name="ck_form_recaptcha" value="" id="ck_form_recaptcha" /> <div class="ck_errorArea"> <div id="ck_error_msg" style="display:none"> <p>There was an error submitting your subscription. Please try again.</p> </div> </div> <div class="ck_control_group ck_first_name_field_group"> <label class="ck_label" for="ck_firstNameField">First Name</label> <input type="text" name="first_name" class="ck_first_name" id="ck_firstNameField" /> </div> <div class="ck_control_group ck_email_field_group"> <label class="ck_label" for="ck_emailField">Email Address</label> <input type="email" name="email" class="ck_email_address" id="ck_emailField" required="" /> </div> <div class="ck_control_group ck_captcha2_h_field_group ck-captcha2-h" style="position: absolute !important;left: -999em !important;"> <label class="ck_label" for="ck_captcha2_h">We use this field to detect spam bots. If you fill this in, you will be marked as a spammer.</label> <input type="text" name="captcha2_h" class="ck-captcha2-h" id="ck_captcha2_h" /> </div> <label class="ck_checkbox" style="display:none;"> <input class="optIn ck_course_opted" name="course_opted" type="checkbox" id="optIn" checked="" /> <span class="ck_opt_in_prompt">I'd like to receive the free email course.</span> </label> <button class="subscribe_button ck_subscribe_button btn fields" id="ck_subscribe_button"> Subscribe </button> <span class="ck_guarantee"> We won't send you spam. Unsubscribe at any time. <a class="ck_powered_by" href="https://convertkit.com/features/forms?utm_campaign=poweredby&amp;utm_content=form&amp;utm_medium=referral&amp;utm_source=dynamic">Powered by ConvertKit</a> </span> </form> </div> </div> <style type="text/css">/* Layout */ .ck_form { /* divider image */ background: #fff url(data:image/gif;base64,R0lGODlhAQADAIABAMzMzP///yH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS41LWMwMTQgNzkuMTUxNDgxLCAyMDEzLzAzLzEzLTEyOjA5OjE1ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MUQ5NjM5RjgxQUVEMTFFNEJBQTdGNTQwMjc5MTZDOTciIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MUQ5NjM5RjkxQUVEMTFFNEJBQTdGNTQwMjc5MTZDOTciPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoxRDk2MzlGNjFBRUQxMUU0QkFBN0Y1NDAyNzkxNkM5NyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoxRDk2MzlGNzFBRUQxMUU0QkFBN0Y1NDAyNzkxNkM5NyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgH//v38+/r5+Pf29fTz8vHw7+7t7Ovq6ejn5uXk4+Lh4N/e3dzb2tnY19bV1NPS0dDPzs3My8rJyMfGxcTDwsHAv769vLu6ubi3trW0s7KxsK+urayrqqmop6alpKOioaCfnp2cm5qZmJeWlZSTkpGQj46NjIuKiYiHhoWEg4KBgH9+fXx7enl4d3Z1dHNycXBvbm1sa2ppaGdmZWRjYmFgX15dXFtaWVhXVlVUU1JRUE9OTUxLSklIR0ZFRENCQUA/Pj08Ozo5ODc2NTQzMjEwLy4tLCsqKSgnJiUkIyIhIB8eHRwbGhkYFxYVFBMSERAPDg0MCwoJCAcGBQQDAgEAACH5BAEAAAEALAAAAAABAAMAAAICRFIAOw==) repeat-y center top; font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif; line-height: 1.5em; overflow: hidden; color: #666; font-size: 16px; border-top: solid 20px #3071b0; border-top-color: #009ddc; border-bottom: solid 10px #3d3d3d; border-bottom-color: #005e84; -webkit-box-shadow: 0px 0px 5px rgba(0,0,0,.3); -moz-box-shadow: 0px 0px 5px rgba(0,0,0,.3); box-shadow: 0px 0px 5px rgba(0,0,0,.3); clear: both; margin: 20px 0px; } .ck_form, .ck_form * { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } #ck_subscribe_form { clear: both; } /* Element Queries — uses JS */ .ck_form_content, .ck_form_fields { width: 50%; float: left; padding: 5%; } .ck_form.ck_horizontal { } .ck_form_content { border-bottom: none; } .ck_form.ck_vertical { background: #fff; } .ck_vertical .ck_form_content, .ck_vertical .ck_form_fields { padding: 10%; width: 100%; float: none; } .ck_vertical .ck_form_content { border-bottom: 1px dotted #aaa; overflow: hidden; } /* Trigger the vertical layout with media queries as well */ @media all and (max-width: 499px) { .ck_form { background: #fff; } .ck_form_content, .ck_form_fields { padding: 10%; width: 100%; float: none; } .ck_form_content { border-bottom: 1px dotted #aaa; } } /* Content */ .ck_form_content h3 { margin: 0px 0px 15px; font-size: 24px; padding: 0px; } .ck_form_content p { font-size: 14px; } .ck_image { float: left; margin-right: 5px; } /* Form fields */ .ck_errorArea { display: none; } #ck_success_msg { padding: 10px 10px 0px; border: solid 1px #ddd; background: #eee; } .ck_label { font-size: 14px; font-weight: bold; } .ck_form input[type="text"], .ck_form input[type="email"] { font-size: 14px; padding: 10px 8px; width: 100%; border: 1px solid #d6d6d6; /* stroke */ -moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px; /* border radius */ background-color: #f8f7f7; /* layer fill content */ margin-bottom: 5px; height: auto; } .ck_form input[type="text"]:focus, .ck_form input[type="email"]:focus { outline: none; border-color: #aaa; } .ck_checkbox { padding: 10px 0px 10px 20px; display: block; clear: both; } .ck_checkbox input.optIn { margin-left: -20px; margin-top: 0; } .ck_form .ck_opt_in_prompt { margin-left: 4px; } .ck_form .ck_opt_in_prompt p { display: inline; } .ck_form .ck_subscribe_button { width: 100%; color: #fff; margin: 10px 0px 0px; padding: 10px 0px; font-size: 18px; background: #009ddc; -moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px; /* border radius */ cursor: pointer; border: none; text-shadow: none; } .ck_form .ck_guarantee { color: #626262; font-size: 12px; text-align: center; padding: 5px 0px; display: block; } .ck_form .ck_powered_by { display: block; color: #aaa; } .ck_form .ck_powered_by:hover { display: block; color: #444; } .ck_converted_content { display: none; padding: 5%; background: #fff; } .ck_form.ck_minimal { text-align: left; } .ck_form.ck_minimal h3.ck_form_title {line-height: 1.2em;} .ck_first_name_field_group {display:none;} </style> </div> Allow waste by finding your true constraint 2024-04-23T07:00:00Z https://www.littlestreamsoftware.com/articles/waste-constraint/ <p>With the weather finally warmed up, I potted up my tomato plants to give them more room.</p> <p>I started with 110 seedling cells with 400-500 seeds in total. Then I had to thin those down to the best plant per cell. Finally I moved them to larger pots for greenhouse, but only had enough room for about 50 of them. In the end I'll probably only plant about 20 or 25 plants.</p> <p>That means only about 5% of the seeds will end up becoming adult plants.</p> <p>It sounds like a waste of seed but it's actually a good waste. The cost of these seeds is so low and the supply is so high, what really limits everything is space. It's much easier to use more seeds than necessary and make 100% use of the space, than to be misery with the seeds and have unused space.</p> <p>In other words, the seeds are not the limiting factor or the constraint of the system. The growing space is. Inside under the lights, in the greenhouse, and in the garden itself space is the most costly resource.</p> <p>The first gardening method I learned said to be careful with the seeds. Only use two per cell max and save them for later years.</p> <p>That caused a number of problems:</p> <ul> <li>First, there was lots of gaps due to those 1-2 seeds not germinating, wasting space.</li> <li>Second, saving those seeds for the later years reduced their viability so they ended up being dead before I could use them all.</li> <li>Third, I'd use time waiting for the seeds to sprout and if they failed, I'd have to rush to make-up that time or space in the garden would be empty.</li> </ul> <p>A better strategy was to over-seed and thin them out over time if there wasn't enough space. Making sure I had kept an inventory of plants ready to go into the ground, not of seeds that needed a month to be plant-able.</p> <p>That meant having to buy more seeds every few years but by learning how to save seeds, that was avoided in some cases.</p> <p>(For example, the non-edible parts of one regular-sized tomato fruit has at least 100 seeds and a single plant will often make dozens of fruits)</p> <p>By figuring out my true constraint was growing space, I was able to optimize the process around that and not worry so much about seeds.</p> <p>Figuring out what your true constraints are can take awhile.</p> <p>For most ecommerce stores it'll probably be in the amount of customers you can get to your store. Even if you produce your own goods, you're most likely able to scale up your production with less effort than scaling up your customers.</p> <p>Eric Davis</p> <div class="not-prose"> <div class="cta-block-for-ck bg-carolinablue-500 text-white p-4 py-8"> <h2 class="text-2xl my-2"> Refine your automated marketing campaigns with better timing </h2> <p> When building any automated marketing campaign that sends messages over time, you need to know how long the campaign should be and how long to delay the messages. The Customer Purchase Latency metrics calculated by Repeat Customer Insights can help you figure out that timing. </p> <p><a href="https://www.littlestreamsoftware.com/shopify-apps/repeat-customer-insights/" class="cta-for-ck link inline-block m-1 px-4 py-4 rounded text-xl bg-carolinablue-700 text-white no-underline hover:bg-teagreen-900 hover:cursor-pointer hover:text-white">Learn more</a></p> </div> </div> Diagnose and prescribe to solve problems 2024-04-22T07:00:00Z https://www.littlestreamsoftware.com/articles/diagnose-prescribe/ <p>One core thing I learned while consulting was diagnose and prescribe.</p> <p>This basic two-step process was required whenever working with a client.</p> <ul> <li>Diagnose would look at what was going on and try to identify the root cause of the problem.</li> <li>Prescribe would then try to fix that problem.</li> </ul> <p>Oftentimes clients would come to me wanting a specific prescription that would end up being wrong. They had a hunch, thought they understood their problem, or had someone tell them what their problem was.</p> <p>The Problem (ha) with this was that without the diagnosis step, the fix wouldn't work or could even make things worse.</p> <p>The most successful projects were from clients who were open to diagnosing first and then prescribing a fix.</p> <p>The customer analysis in <a href="https://www.littlestreamsoftware.com/shopify-apps/repeat-customer-insights/">Repeat Customer Insights</a> tries to complement this process.</p> <p>The app could just analyze the dozen metrics and report them to you but that's just a glorified calculator. That would force you to do the entire diagnosis yourself.</p> <p>Not fun and not what it does.</p> <p>Instead it uses those metrics and tries to find gaps, patterns, and common issues. Effectively doing the diagnosis for you or at the least, saving you a lot of steps. Then the advice side gives relevant prescription options and examples.</p> <p>The app will never be the best metric collector, but then again it was never meant to only collect metrics. Metrics alone are pretty worthless.</p> <p>Repeat Customer Insights is to help you solve problems using its diagnosis and advice.</p> <p>Eric Davis</p> <div class="not-prose"> <div class="cta-block-for-ck bg-carolinablue-500 text-white p-4 py-8"> <h2 class="text-2xl my-2"> Get a snapshot of your customer behavior </h2> <p> The sooner you signup for Repeat Customer Insights, the more comparison points your store will have. Each 1st of a the month a new snapshot is taken and saved to your account for analysis. </p> <p><a href="https://www.littlestreamsoftware.com/shopify-apps/repeat-customer-insights/" class="cta-for-ck link inline-block m-1 px-4 py-4 rounded text-xl bg-carolinablue-700 text-white no-underline hover:bg-teagreen-900 hover:cursor-pointer hover:text-white">Learn more</a></p> </div> </div> Compare customer behavior by acquisition channel 2024-04-19T07:00:00Z https://www.littlestreamsoftware.com/articles/customer-by-acquisition/ <p>One of the biggest influences on your customer behavior is what initial channel they were exposed to and what messages they received in that channel. Customers coming in from a &quot;50% closeout&quot; ad seen in Google will behave vastly different than customers who read a business profile on you in Forbes.</p> <p>Whenever you're trying to figure out what works and what doesn't, it's important to look at your main acquisition channels. Usually you'll see a big difference in behavior and the results.</p> <p>In Shopify you can use the sales channel for some of this but unfortunately it's based on the specific order. So if a customer first bought from a Facebook ad and then bought from your online store, those orders will be credited to Facebook and the online store. Even though the Facebook ad was the one that setup the customer's expectations and behavior.</p> <p><a href="https://www.littlestreamsoftware.com/shopify-apps/repeat-customer-insights/">Repeat Customer Insights</a> on the other hand will look at the acquisition sales channel, that's the sales channel of the first order. So that customer would be credited against the Facebook channel only.</p> <p>Eric Davis</p> <div class="not-prose"> <div class="cta-block-for-ck bg-carolinablue-500 text-white p-4 py-8"> <h2 class="text-2xl my-2"> When are your best customers defecting? </h2> <p> Are your best customers defecting? Use Repeat Customer Insights to find out where in their lifecycle you're losing them and what you can do to win them back. </p> <p><a href="https://www.littlestreamsoftware.com/shopify-apps/repeat-customer-insights/" class="cta-for-ck link inline-block m-1 px-4 py-4 rounded text-xl bg-carolinablue-700 text-white no-underline hover:bg-teagreen-900 hover:cursor-pointer hover:text-white">Learn more</a></p> </div> </div> Invest in your product copywriting 2024-04-18T07:00:00Z https://www.littlestreamsoftware.com/articles/product-copywriting/ <p>When you create or manufacture your own products it can be difficult to get them stand-out. Especially in competitive industries like in Consumer Packaged Goods where there are often dozens if not hundreds of competitors.</p> <p>You wish the product would stand on its own by virtue of how awesome it is, but in reality it will most likely languish online without help. When shopping, often a customer will have multiple browser tabs open to you, your competitors, and Amazon. Price and benefit comparisons are easy for them so you need something to hook them.</p> <p>That hook is product copywriting. Text, images, videos that really sell the product's uniqueness. Something the consumer will connect with and be willing to take a risk on.</p> <p>For example, an energy drink would have lots of bold, bright colors, and high-energy words like: dynamic, frantic, exuberant.</p> <p>While a drink that acts as a vitamin supplement would have copywriting around health, longevity, and fitness.</p> <p>All too often products are short-changed on their copy. The brand creates a great product, a great Shopify theme, spends a load of cash to bring customers, only to have lukewarm content.</p> <p>Great copywriting isn't easy but you can improve it slowly product-by-product. Start with your best selling products or the <a href="https://www.littlestreamsoftware.com/shopify-apps/repeat-customer-insights/features/nth-product-analysis/">products that create the best customers</a>, improve their copywriting, and work your way down the line.</p> <p>Eric Davis</p> <div class="not-prose"> <div class="cta-block-for-ck bg-carolinablue-500 text-white p-4 py-8"> <h2 class="text-2xl my-2"> Check how your holiday customers performed </h2> <p> Check how holiday customers performed in prior years with Repeat Customer Insights Cohort Report. </p> <p><a href="https://www.littlestreamsoftware.com/shopify-apps/repeat-customer-insights/" class="cta-for-ck link inline-block m-1 px-4 py-4 rounded text-xl bg-carolinablue-700 text-white no-underline hover:bg-teagreen-900 hover:cursor-pointer hover:text-white">Learn more</a></p> </div> </div> Shopify Dispatch Issue #447 - First-party data, AI in Google results 2024-04-17T07:00:00Z https://www.littlestreamsoftware.com/shopify-dispatch/issue-447/ <h2>Issue #447 - April 17th, 2024</h2> <h3>What is First-Party Data? A Complete Guide on Data</h3> <p>Holly Stanley writes about <a href="https://www.shopify.com/enterprise/blog/first-party-data">first-party data and how to use it</a> on Shopify's blog.</p> <p>Analyzing the first-party data that's automatically collected for you in Shopify is a big reason why I created <a href="https://www.littlestreamsoftware.com/shopify-apps/repeat-customer-insights/">Repeat Customer Insights</a>.</p> <h3>SEO Takeaways from SGE’s Partial Rollout</h3> <p>Ann Smarty reviewed some of the early research about <a href="https://www.practicalecommerce.com/seo-takeaways-from-sges-partial-rollout">Google using AI to power their results</a>. It seems to help and hurt organic listings so you'll want to start thinking about how you'd adapt once its rolled out.</p> <h3>Figure out which sales channels send you the best customers</h3> <p>With the acquisition source analysis, <a href="https://www.littlestreamsoftware.com/shopify-apps/repeat-customer-insights/">Repeat Customer Insights</a> can show you which sales channels are sending you the best customers.</p> <h3>My articles this week</h3> <p><a href="https://www.littlestreamsoftware.com/articles/treat-customers-differently/">Treat customers differently</a></p> <p><a href="https://www.littlestreamsoftware.com/articles/retention-should-improve-behavior/">Customer retention programs should improve customer behavior</a></p> <p><a href="https://www.littlestreamsoftware.com/articles/upset-loyal-customers/">Upset loyal customers shout the loudest</a></p> <p><a href="https://www.littlestreamsoftware.com/articles/brand-loyalty/">Brand loyalty starts before the first purchase</a></p> <p>Eric Davis</p> <div class="hide-in-email"> <script defer="" src="https://cdn.convertkit.com/assets/CKJS4.js?v=21"></script> <div class="ck_form ck_vertical_subscription_form ck_horizontal"> <div class="ck_form_content"> <h3 class="ck_form_title">Would you like to learn how to improve your store, attract happy customers, and sell more products?</h3> <div class="ck_description"> <span class="ck_image"> </span> <p>Learn how in the Shopify Dispatch.<br /></p><p>Shopify Dispatch is a weekly curated newsletter with links and resources for Shopify merchants about Shopify and ecommerce.</p> </div> </div> <div class="ck_form_fields"> <div id="ck_success_msg" style="display:none;"> <p>Success! Now check your email to confirm your subscription.</p> </div> <!-- Form starts here --> <form id="ck_subscribe_form" class="ck_subscribe_form" action="https://api.convertkit.com/landing_pages/356400/subscribe" data-remote="true"> <input type="hidden" value='{"form_style":"full","converted_behavior":"show","days_no_show":"1","delay_seconds":"10","display_devices":"desktop","display_position":"br","embed_style":"inline","embed_trigger":"timing","scroll_percentage":"70"}' id="ck_form_options" /> <input type="hidden" name="id" value="356400" id="landing_page_id" /> <input type="hidden" name="ck_form_recaptcha" value="" id="ck_form_recaptcha" /> <div class="ck_errorArea"> <div id="ck_error_msg" style="display:none"> <p>There was an error submitting your subscription. Please try again.</p> </div> </div> <div class="ck_control_group ck_first_name_field_group"> <label class="ck_label" for="ck_firstNameField">First Name</label> <input type="text" name="first_name" class="ck_first_name" id="ck_firstNameField" /> </div> <div class="ck_control_group ck_email_field_group"> <label class="ck_label" for="ck_emailField">Email Address</label> <input type="email" name="email" class="ck_email_address" id="ck_emailField" required="" /> </div> <div class="ck_control_group ck_captcha2_h_field_group ck-captcha2-h" style="position: absolute !important;left: -999em !important;"> <label class="ck_label" for="ck_captcha2_h">We use this field to detect spam bots. If you fill this in, you will be marked as a spammer.</label> <input type="text" name="captcha2_h" class="ck-captcha2-h" id="ck_captcha2_h" /> </div> <label class="ck_checkbox" style="display:none;"> <input class="optIn ck_course_opted" name="course_opted" type="checkbox" id="optIn" checked="" /> <span class="ck_opt_in_prompt">I'd like to receive the free email course.</span> </label> <button class="subscribe_button ck_subscribe_button btn fields" id="ck_subscribe_button"> Subscribe </button> <span class="ck_guarantee"> We won't send you spam. Unsubscribe at any time. <a class="ck_powered_by" href="https://convertkit.com/features/forms?utm_campaign=poweredby&amp;utm_content=form&amp;utm_medium=referral&amp;utm_source=dynamic">Powered by ConvertKit</a> </span> </form> </div> </div> <style type="text/css">/* Layout */ .ck_form { /* divider image */ background: #fff url(data:image/gif;base64,R0lGODlhAQADAIABAMzMzP///yH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS41LWMwMTQgNzkuMTUxNDgxLCAyMDEzLzAzLzEzLTEyOjA5OjE1ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MUQ5NjM5RjgxQUVEMTFFNEJBQTdGNTQwMjc5MTZDOTciIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MUQ5NjM5RjkxQUVEMTFFNEJBQTdGNTQwMjc5MTZDOTciPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoxRDk2MzlGNjFBRUQxMUU0QkFBN0Y1NDAyNzkxNkM5NyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoxRDk2MzlGNzFBRUQxMUU0QkFBN0Y1NDAyNzkxNkM5NyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgH//v38+/r5+Pf29fTz8vHw7+7t7Ovq6ejn5uXk4+Lh4N/e3dzb2tnY19bV1NPS0dDPzs3My8rJyMfGxcTDwsHAv769vLu6ubi3trW0s7KxsK+urayrqqmop6alpKOioaCfnp2cm5qZmJeWlZSTkpGQj46NjIuKiYiHhoWEg4KBgH9+fXx7enl4d3Z1dHNycXBvbm1sa2ppaGdmZWRjYmFgX15dXFtaWVhXVlVUU1JRUE9OTUxLSklIR0ZFRENCQUA/Pj08Ozo5ODc2NTQzMjEwLy4tLCsqKSgnJiUkIyIhIB8eHRwbGhkYFxYVFBMSERAPDg0MCwoJCAcGBQQDAgEAACH5BAEAAAEALAAAAAABAAMAAAICRFIAOw==) repeat-y center top; font-family: "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif; line-height: 1.5em; overflow: hidden; color: #666; font-size: 16px; border-top: solid 20px #3071b0; border-top-color: #009ddc; border-bottom: solid 10px #3d3d3d; border-bottom-color: #005e84; -webkit-box-shadow: 0px 0px 5px rgba(0,0,0,.3); -moz-box-shadow: 0px 0px 5px rgba(0,0,0,.3); box-shadow: 0px 0px 5px rgba(0,0,0,.3); clear: both; margin: 20px 0px; } .ck_form, .ck_form * { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } #ck_subscribe_form { clear: both; } /* Element Queries — uses JS */ .ck_form_content, .ck_form_fields { width: 50%; float: left; padding: 5%; } .ck_form.ck_horizontal { } .ck_form_content { border-bottom: none; } .ck_form.ck_vertical { background: #fff; } .ck_vertical .ck_form_content, .ck_vertical .ck_form_fields { padding: 10%; width: 100%; float: none; } .ck_vertical .ck_form_content { border-bottom: 1px dotted #aaa; overflow: hidden; } /* Trigger the vertical layout with media queries as well */ @media all and (max-width: 499px) { .ck_form { background: #fff; } .ck_form_content, .ck_form_fields { padding: 10%; width: 100%; float: none; } .ck_form_content { border-bottom: 1px dotted #aaa; } } /* Content */ .ck_form_content h3 { margin: 0px 0px 15px; font-size: 24px; padding: 0px; } .ck_form_content p { font-size: 14px; } .ck_image { float: left; margin-right: 5px; } /* Form fields */ .ck_errorArea { display: none; } #ck_success_msg { padding: 10px 10px 0px; border: solid 1px #ddd; background: #eee; } .ck_label { font-size: 14px; font-weight: bold; } .ck_form input[type="text"], .ck_form input[type="email"] { font-size: 14px; padding: 10px 8px; width: 100%; border: 1px solid #d6d6d6; /* stroke */ -moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px; /* border radius */ background-color: #f8f7f7; /* layer fill content */ margin-bottom: 5px; height: auto; } .ck_form input[type="text"]:focus, .ck_form input[type="email"]:focus { outline: none; border-color: #aaa; } .ck_checkbox { padding: 10px 0px 10px 20px; display: block; clear: both; } .ck_checkbox input.optIn { margin-left: -20px; margin-top: 0; } .ck_form .ck_opt_in_prompt { margin-left: 4px; } .ck_form .ck_opt_in_prompt p { display: inline; } .ck_form .ck_subscribe_button { width: 100%; color: #fff; margin: 10px 0px 0px; padding: 10px 0px; font-size: 18px; background: #009ddc; -moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px; /* border radius */ cursor: pointer; border: none; text-shadow: none; } .ck_form .ck_guarantee { color: #626262; font-size: 12px; text-align: center; padding: 5px 0px; display: block; } .ck_form .ck_powered_by { display: block; color: #aaa; } .ck_form .ck_powered_by:hover { display: block; color: #444; } .ck_converted_content { display: none; padding: 5%; background: #fff; } .ck_form.ck_minimal { text-align: left; } .ck_form.ck_minimal h3.ck_form_title {line-height: 1.2em;} .ck_first_name_field_group {display:none;} </style> </div> Treat customers differently 2024-04-16T07:00:00Z https://www.littlestreamsoftware.com/articles/treat-customers-differently/ <p>From <a href="https://seths.blog/2024/02/all-customers-are-the-same/">Seth's Blog</a>:</p> <blockquote> <p>It's okay to treat some customers differently, but first it pays to figure out who you're dealing with and why you want to re-allocate your resources.</p> </blockquote> <p>I'd go as far to say it's impossible to treat all customers the same even if you wanted to. Customers who contact your customer service are getting 1-on-1 service that the others aren't.</p> <p>Just be honest why you're treating customers differently. Because they had a problem, because they paid us the most, or because they are the loudest are all valid responses.</p> <p>Eric Davis</p> <div class="not-prose"> <div class="cta-block-for-ck bg-carolinablue-500 text-white p-4 py-8"> <h2 class="text-2xl my-2"> Measure your customer loyalty </h2> <p> Measure the different levels of customer loyalty with Repeat Customer Insights. It uses various models to segment and grade your customers based on their behavior. </p> <p><a href="https://www.littlestreamsoftware.com/shopify-apps/repeat-customer-insights/" class="cta-for-ck link inline-block m-1 px-4 py-4 rounded text-xl bg-carolinablue-700 text-white no-underline hover:bg-teagreen-900 hover:cursor-pointer hover:text-white">Learn more</a></p> </div> </div> Customer retention programs should improve customer behavior 2024-04-15T07:00:00Z https://www.littlestreamsoftware.com/articles/retention-should-improve-behavior/ <p>Customer retention programs come in all shapes and sizes. Some focus on your best customers, others focus on your worst, while others only happen at specific times.</p> <p>The goal of all of your customer retention programs should be to upgrade your customers. In some way make customer behavior better in your store, 99% of the time through placing additional orders.</p> <p>That might mean moving your average repeat customers into behaving like <a href="https://www.littlestreamsoftware.com/articles/vips/">VIPs</a>.</p> <p>Or moving your one-time customers to becoming repeat customers.</p> <p>Or winning back your defecting customers.</p> <p>At their core retention programs are shifting customer behavior. They are successful when they shift enough customer behavior to be more profitable than if they were never involved. The bad ones don't change anything or cause behavior to regress.</p> <p>Eric Davis</p> <div class="not-prose"> <div class="cta-block-for-ck bg-carolinablue-500 text-white p-4 py-8"> <h2 class="text-2xl my-2"> Learn which products build the best customers </h2> <p> Find which products create the most valuable customers with the First Product Analysis in Repeat Customer Insights. It goes beyond your best sellers by looking at long-term purchasing and retention behavior of your customers. </p> <p><a href="https://www.littlestreamsoftware.com/shopify-apps/repeat-customer-insights/" class="cta-for-ck link inline-block m-1 px-4 py-4 rounded text-xl bg-carolinablue-700 text-white no-underline hover:bg-teagreen-900 hover:cursor-pointer hover:text-white">Learn more</a></p> </div> </div> Upset loyal customers shout the loudest 2024-04-12T07:00:00Z https://www.littlestreamsoftware.com/articles/upset-loyal-customers/ <p>Upsetting and losing a loyal customer is going to cause much more damage to your brand than you might think.</p> <p>A one-time customer who gets bad service will eventually chalk it up to a bad experience, just like the 100s of others they had. You still might get hit with a negative review, chargeback, or the like.</p> <p>Upsetting a customer who has been loyal to your store for years though... that has the potential for a lot more far-ranging damage. These cases are the ones where you'll get negative word-of-mouth, reviews on 3rd party sites, or even reported to government or industry agencies. Even if you're in the right, you'll suffer in headaches and time wasted.</p> <p>The reason this happens is your loyal customer felt betrayed. They might have considered you one of the good guys or even a friend. Then something bad happened in their eyes. They want to go back to liking you but until this problem is fixed, they can't.</p> <p>I'll say that again:</p> <p>Upset loyal customers want the problem to be fixed so they can get back to liking you.</p> <p>Oftentimes there is a dose of regret too. The &quot;I would have never bought from you if I knew this&quot; and feelings of a bait-and-switch come out.</p> <p>The positive side of this is that loyal customers will often give you multiple chances to make things right. Most of the time they are complaining and warning you about the problem before they take it into their own hands.</p> <p>Your job is to be listening for those complaints and doing what you can to fix what you can. You only have a short time before the pain a customer is experiencing starts to solidify. If you want to smooth things over, you have to act quickly.</p> <p>Some cases you'll never be able to solve to the degree the customer wants. They might be unreasonable or they might want the past while you've moved on. Even then it matters to show empathy and give the customer a forum to feel heard. Sometimes that's all the customer needed.</p> <p>If you don't even try to help the customer or ignore them, you're giving the upset customer even more reasons to be upset. This time though, they are justified.</p> <p>Eric Davis</p> <div class="not-prose"> <div class="cta-block-for-ck bg-carolinablue-500 text-white p-4 py-8"> <h2 class="text-2xl my-2"> When are your best customers defecting? </h2> <p> Are your best customers defecting? Use Repeat Customer Insights to find out where in their lifecycle you're losing them and what you can do to win them back. </p> <p><a href="https://www.littlestreamsoftware.com/shopify-apps/repeat-customer-insights/" class="cta-for-ck link inline-block m-1 px-4 py-4 rounded text-xl bg-carolinablue-700 text-white no-underline hover:bg-teagreen-900 hover:cursor-pointer hover:text-white">Learn more</a></p> </div> </div> Brand loyalty starts before the first purchase 2024-04-11T07:00:00Z https://www.littlestreamsoftware.com/articles/brand-loyalty/ <p>Many years ago as a teenager I worked at a commercial door shop. A lot of what I did was to pull orders and get the door hardware ready for delivery. Door handles, hinges, thresholds, weatherstrip, etc.</p> <p>Door handles were a particular interest to me. Every door had at least one but unlike hinges, there were 100s of options we had in-stock (with more we could order). Each brand had a dozens of different products and each with upwards of dozens of variants.</p> <p>Knob shape.</p> <p>Knob versus lever.</p> <p>Standard hole vs mortise box.</p> <p>Finish color.</p> <p>Trim style.</p> <p>Etc.</p> <p>This meant I spent a lot of time learning about locks and what made them different.</p> <p>Fast-forward to this week. We have some construction going on and needed a couple of door handles for two new doorways.</p> <p>To my surprise, the exact same locks I learned about decades ago are still sold today. Same brands, trim, colors. Even the model names are the same.</p> <p>That meant I didn't need to do any evaluation of what to buy, I knew exactly what I wanted.</p> <p>(I also ended up buying enough for the whole house as the existing handles are mismatched junk)</p> <p>You'd never hear about this level of brand loyalty. Prior to moving in here, I never bought from this lock manufacturer.</p> <p>While customer loyalty is talked about in regards to your store and your customers, there's a whole level with your customer and the brands they buy.</p> <p>Getting customers to switch brands can be very difficult.</p> <p>You might have the most loyal customers in the industry but if you decide to stop selling the brands they love and trust, they'll go to another store.</p> <p>And in the reverse. If you start selling a loved brand, you can attract new customers who are brand-loyal and happy to buy from you instead.</p> <p>Use that to your advantage. Create actual landing pages for your main brands. Include the brand name and model numbers in your product pages. Allow filtering collections by brand.</p> <p>Eric Davis</p> <div class="not-prose"> <div class="cta-block-for-ck bg-carolinablue-500 text-white p-4 py-8"> <h2 class="text-2xl my-2"> Refine your automated marketing campaigns with better timing </h2> <p> When building any automated marketing campaign that sends messages over time, you need to know how long the campaign should be and how long to delay the messages. The Customer Purchase Latency metrics calculated by Repeat Customer Insights can help you figure out that timing. </p> <p><a href="https://www.littlestreamsoftware.com/shopify-apps/repeat-customer-insights/" class="cta-for-ck link inline-block m-1 px-4 py-4 rounded text-xl bg-carolinablue-700 text-white no-underline hover:bg-teagreen-900 hover:cursor-pointer hover:text-white">Learn more</a></p> </div> </div>