{"id":5375,"date":"2026-06-25T02:05:29","date_gmt":"2026-06-25T00:05:29","guid":{"rendered":"https:\/\/strat.es\/flujos-email-marketing-ecommerce\/"},"modified":"2026-07-27T02:24:35","modified_gmt":"2026-07-27T00:24:35","slug":"ecommerce-email-marketing-flows","status":"publish","type":"post","link":"https:\/\/strat.es\/en\/ecommerce-email-marketing-flows\/","title":{"rendered":"Every Ecommerce Email Automation Flow (and Which Ones Your Brand Needs)"},"content":{"rendered":"\n<!-- ===== STRAT article header (reading time + table of contents) ===== -->\n<!-- Paste this block into a \"Custom HTML\" block right AFTER the first paragraph of the post. -->\n<!-- The reading time and the table of contents generate themselves by reading the article. Just edit the date. -->\n<div class=\"strat-ah\" id=\"stratArticleHeader\">\n  <style>\n    .strat-ah{\n      --ah-bg:#ffffff; --ah-pink:#ec186c; --ah-line:#eaeaea;\n      --ah-ink:#1a1a1a; --ah-muted:#777777; --ah-body:#3f3f3f;\n      background:var(--ah-bg); border:1px solid var(--ah-line); border-radius:16px;\n      padding:22px 26px; margin:32px 0;\n      font-family:'Poppins',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;\n      color:var(--ah-body); box-shadow:0 6px 22px rgba(0,0,0,.05);\n    }\n    .strat-ah *{box-sizing:border-box}\n    .strat-ah__meta{\n      display:flex; flex-wrap:wrap; gap:18px; align-items:center;\n      font-size:13px; color:var(--ah-muted); padding-bottom:16px; border-bottom:1px solid var(--ah-line);\n    }\n    .strat-ah__meta span{display:inline-flex; align-items:center; gap:7px}\n    .strat-ah__meta svg{display:block; color:var(--ah-pink)}\n    .strat-ah__eyebrow{\n      display:block; font-size:11px; font-weight:600; letter-spacing:.14em;\n      text-transform:uppercase; color:var(--ah-pink); margin:18px 0 12px;\n    }\n    .strat-ah__toc{margin-top:4px}\n    .strat-ah__toc ol{margin:0; padding:0; list-style:none; counter-reset:toc}\n    .strat-ah__toc li{counter-increment:toc; margin:0 0 9px}\n    .strat-ah__toc li:last-child{margin-bottom:0}\n    .strat-ah__toc a{\n      display:flex; gap:10px; align-items:baseline; text-decoration:none !important;\n      color:var(--ah-ink) !important; font-size:14px; line-height:1.45; transition:color .15s ease;\n    }\n    .strat-ah__toc a::before{\n      content:counter(toc,decimal-leading-zero); color:var(--ah-pink); font-weight:600;\n      font-size:12px; flex:0 0 auto; min-width:22px;\n    }\n    .strat-ah__toc a:hover{color:var(--ah-pink) !important}\n    @media (max-width:560px){ .strat-ah{padding:20px 18px} }\n  <\/style>\n\n  <div class=\"strat-ah__meta\">\n    <span id=\"stratReadTime\">\n      <svg width=\"15\" height=\"15\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><circle cx=\"12\" cy=\"12\" r=\"9\"><\/circle><path d=\"M12 7v5l3 2\"><\/path><\/svg>\n      Calculating\u2026\n    <\/span>\n    <!-- EDIT the updated date here (or delete this <span> if you don't want to show it): -->\n    <span>\n      <svg width=\"15\" height=\"15\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><rect x=\"3\" y=\"4\" width=\"18\" height=\"17\" rx=\"2\"><\/rect><path d=\"M3 9h18M8 2v4M16 2v4\"><\/path><\/svg>\n      Updated 25 June 2026\n    <\/span>\n  <\/div>\n\n  <!-- The table of contents fills itself from the article's H2s: -->\n  <div class=\"strat-ah__toc\" id=\"stratTocSection\">\n    <span class=\"strat-ah__eyebrow\">In this article<\/span>\n    <ol id=\"stratTocList\"><\/ol>\n  <\/div>\n<\/div>\n\n<script>\n(function(){\n  function countWords(s){ s=(s||'').trim(); return s ? s.split(\/\\s+\/).length : 0; }\n  function slugify(s){\n    return (s||'').toLowerCase().normalize('NFD').replace(\/[\\u0300-\\u036f]\/g,'')\n      .replace(\/[^a-z0-9\\s-]\/g,'').trim().replace(\/\\s+\/g,'-').slice(0,60);\n  }\n  function findRoot(box){\n    var node=box.parentElement;\n    while(node && node!==document.body){\n      var hs=node.querySelectorAll('h2');\n      for(var i=0;i<hs.length;i++){\n        if(box.compareDocumentPosition(hs[i]) &#038; Node.DOCUMENT_POSITION_FOLLOWING) return node;\n      }\n      node=node.parentElement;\n    }\n    return box.parentElement;\n  }\n  function init(){\n    var box=document.getElementById('stratArticleHeader');\n    if(!box) return;\n    var root=findRoot(box);\n\n    var heads=Array.prototype.slice.call(root.querySelectorAll('h2')).filter(function(h){\n      return box.compareDocumentPosition(h) &#038; Node.DOCUMENT_POSITION_FOLLOWING;\n    });\n    var list=document.getElementById('stratTocList');\n    var used={};\n    if(heads.length){\n      heads.forEach(function(h,i){\n        var id=h.id;\n        if(!id){ id=slugify(h.textContent)||('sec-'+i); if(used[id]) id=id+'-'+i; h.id=id; }\n        used[id]=true;\n        var li=document.createElement('li');\n        var a=document.createElement('a');\n        a.href='#'+id; a.textContent=h.textContent.trim();\n        a.addEventListener('click',function(e){\n          e.preventDefault();\n          var t=document.getElementById(id);\n          if(t){ t.scrollIntoView({behavior:'smooth',block:'start'}); history.replaceState(null,'','#'+id); }\n        });\n        li.appendChild(a); list.appendChild(li);\n      });\n    } else {\n      document.getElementById('stratTocSection').style.display='none';\n    }\n\n    var total=countWords(root.innerText||root.textContent);\n    var own=countWords(box.innerText||box.textContent);\n    var words=Math.max(total-own,total>0?total:0);\n    var mins=Math.max(1,Math.round(words\/200));\n    var rt=document.getElementById('stratReadTime');\n    if(rt) rt.innerHTML=rt.innerHTML.replace('Calculating\u2026', mins+' min read');\n  }\n  if(document.readyState==='loading'){ document.addEventListener('DOMContentLoaded',init); }\n  else { init(); }\n})();\n<\/script>\n<!-- ===== End STRAT article header ===== -->\n\n\n\n<p class=\"wp-block-paragraph\">Email marketing is the channel with the lowest acquisition cost in an ecommerce, because it works on an audience that already knows you. The difference between an account that invoices occasionally with newsletters and one that turns its database into recurring revenue is not in sending more emails, it is in the flow architecture that works on its own in the background.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Each flow has a specific job within the customer lifecycle, from the first purchase to reactivating someone who has been inactive for months. This guide runs through all the flows we usually implement, ordered by the stage they act on, with each one&#8217;s focus and objective, so you understand what it contributes before deciding which ones your brand needs. And at the end I add the flows almost nobody builds that, depending on the business model, can be among the ones that add the most profitability.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Strategy matters more than the number of active flows<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A common mistake is to measure an account&#8217;s maturity by the number of active automations. Having twenty half-built flows is not the same as having six well-built ones covering the moments that genuinely move revenue.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Flows do not compete with newsletters, they complement them. The newsletter speaks to your whole base at once; the flow speaks to one person at the exact moment their behaviour signals intent. That is why a well-designed retention programme is measured by how much it lowers blended CAC and how much it lifts LTV, not by how many automations show up in the dashboard.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Stage 1: Email flows to win the first purchase<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Subscribers and visitors who have not yet bought. The objective is to turn initial interest into the first purchase.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Welcome Series<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Triggers the moment someone gives you their email, the point of highest interest in the whole relationship. It introduces the brand, explains its value proposition and gives concrete reasons to buy now, usually with a welcome incentive. It is the flow with the highest engagement in the whole ecosystem and one of the highest-earning, because it works on fresh intent and on someone who has just raised their hand.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Browse Abandonment<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Reacts when someone browses products or categories and leaves without adding anything to the cart. It reminds them of what they were looking at and steers them back to the product that caught their attention. It is the weakest intent signal of the abandonment flows, so it calls for a soft tone, more discovery than closing.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Cart Abandonment<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Recovers whoever added products to the cart but did not go on to start payment. It reminds them of what they left pending and, above all, resolves the doubts that stall the decision, such as shipping costs, guarantees, returns or payment methods. The focus is not to create desire, it is to rescue an intention that already existed.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Checkout Abandonment<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Recovers whoever started payment and did not complete it, with details already entered. It is the highest purchase intent of all the abandonment flows, because the person was one click from buying, and therefore the one with the highest return per email sent. Here the job is to remove the last friction (a payment failure, a security doubt, an unexpected shipping cost), rather than to convince. We develop it in full in the <a href=\"https:\/\/strat.es\/en\/recover-abandoned-carts\/\" target=\"_blank\" rel=\"noopener\" style=\"color:#ec186c; text-decoration:underline; text-decoration-color:#ec186c\">guide to recovering abandoned carts<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Checkout Abandonment + cross-sell<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The same checkout recovery, adding recommendations of products complementary to the one left half-finished. The objective is twofold: close the purchase and, along the way, lift the average value of the rescued order. It works best in catalogues with clear associated accessories or consumables, where the recommendation adds value and does not distract from closing.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Follow-up Quiz<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Gives continuity to whoever has completed a recommendation quiz on the site. It returns a personalised result that points to the right product and, at the same time, captures highly valuable declared data (skin type, size, preferences) that feeds all the later segmentation. It converts well because the recommendation arrives justified by the customer&#8217;s own answers.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Stage 2: Email flows to build loyalty and increase repeat purchase<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Anyone who has bought at least once. Here LTV is built through repeat purchase, loyalty and data capture.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Post-Purchase<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Accompanies the customer in the days after the purchase, when expectation is at its highest and so is uncertainty. It reinforces that they made a good decision, anticipates the delivery and opens a channel in case any doubt arises. Its objective is not to sell more immediately, it is to reduce post-purchase dissonance and lay the groundwork for repeat purchase and a positive review.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Replenishment<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Anticipates the moment a consumable product is about to run out and appears exactly when it is time to restock, calculated from the product&#8217;s estimated duration and the date of the last purchase. It is one of the highest-converting flows in recurring-consumption brands (beauty, supplements, food), because it arrives with a real need and a timing the customer appreciates.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Preference Request<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Asks the customer directly about their preferences, interests or needs, to enrich the segmentation with data they declare themselves. Unlike behaviour, which is inferred, here the data is explicit and reliable. The objective is to fine-tune the personalisation of the rest of the flows and newsletters, which is what lifts conversion in the medium term.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Cross-Selling<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Presents products complementary to what the customer has already bought, expanding the catalogue they know and consume. The focus is on relevance, recommending what fits their previous purchase rather than a generic, and the objective is to increase purchase frequency and the number of categories per customer. It is one of the most direct LTV levers with no acquisition cost.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Cross-Selling Premium<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The version aimed at higher-value customers, with higher-range recommendations aligned with their profile and spend level. It segments by history so as not to offer premium product to someone who always buys in the low tier. The objective is to raise the ticket in the segment willing to pay for it, without saturating the rest.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Up-selling<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Proposes a superior version or a larger format of the product the customer already uses, whether more quantity, more features or subscription over one-off purchase. It raises the average ticket without acquiring new traffic and usually performs very well, because it starts from an already-validated product. It works best presented as a specific upgrade, not as just one more expensive option.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Customer Thank You<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Thanks the customer for their trust honestly, without necessarily selling anything in that email. Its value is emotional and brand-building, reinforcing the bond at a point where most brands only ask. Used well, it sets the stage for reviews, recommendations and repeat purchase, and sets the brand apart through how it treats people.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">VIP<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Identifies the best customers by spend or frequency and rewards them with preferential treatment, early access to launches or exclusive advantages. The objective is to protect and grow the value of the segment that invoices most, usually a minority of customers with an enormous weight in revenue. Looking after these customers pays off more than acquiring new low-value ones.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Bounce-back<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Incentivises a second purchase in the window immediately after the first, when the customer&#8217;s disposition is at its highest. The second purchase is the hardest jump and the one that most predicts long-term retention, so accelerating it has a disproportionate effect on LTV. It usually leans on an incentive with a short expiry to create movement.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Post-Purchase Education<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Teaches how to get the most out of the product bought, with usage guides, care instructions or best practices. It improves the experience, reduces returns and support incidents, and increases the likelihood the customer is satisfied and repeats. It builds brand and lowers costs at the same time, even if it does not sell directly.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">MGM (Member Get Member)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Activates word of mouth by inviting satisfied customers to recommend the brand in exchange for an incentive for both parties. The focus is choosing the moment well, after a satisfactory purchase or a positive review, so the invitation arrives when the customer is happy. The objective is to acquire new customers at the lowest possible CAC, that of a recommendation.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Follow-up Reviews 4\/5<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Follows up on positive ratings, thanks the reviewer and reinforces the relationship with someone who already recommends the brand. It is the natural gateway to the referral flow and to repeat purchase, because it acts on customers who have already shown satisfaction. The objective is to turn a one-off good experience into recurring advocacy.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Follow-up Reviews 1\/2<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Attends to negative ratings to handle the incident before it escalates, recover the customer and protect the brand&#8217;s reputation. The focus is speed and a human resolution channel, not an automated reply that sounds like an excuse. Handled well, a recovered unhappy customer often becomes more loyal than one who never had a problem.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Stage 3: Email flows to recover inactive customers<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Anyone who bought at the time but has been inactive for a while. The objective is to reactivate them before losing them entirely.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Win-back<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Reactivates customers who have not bought in a while, reminding them of the brand&#8217;s value before they cool off completely. It segments by the time elapsed since the last purchase and combines a brand reminder, news and, if needed, a final incentive. Recovering a customer who already knows you is far cheaper than acquiring a new one, and it works especially well in a close, personal format, as we see in <a href=\"https:\/\/strat.es\/en\/plain-text-emails-ecommerce\/\" target=\"_blank\" rel=\"noopener\" style=\"color:#ec186c; text-decoration:underline; text-decoration-color:#ec186c\">plain-text emails for retention<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Stage 4: Email flows by event and behaviour<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Cross-cutting flows triggered by a specific behaviour or event, which can operate at any stage of the lifecycle.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Back in Stock<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Notifies whoever showed interest in an out-of-stock product the moment it is available again. It captures an intention that would otherwise be lost and turns it into a sale at the exact moment it can be bought. The objective is not to let existing demand slip away over a one-off stock problem, and the urgency it creates is real, not manufactured.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Happy Birthday<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Congratulates the customer on their birthday with a gesture, usually a discount or a gift. It reinforces the bond at a personal moment and gives a natural excuse to buy with good disposition. It requires having captured the date beforehand, so it usually leans on a zero-party data flow or on signup itself.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Sunset<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Identifies and cleans out inactive subscribers who no longer open or interact, after a final reactivation attempt. Keeping a clean base protects the deliverability of the rest of your sends, which is what ensures your emails reach the people who do buy. The objective is not to lose contacts, it is to protect the account&#8217;s health and the sending reputation.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Time-based Sequence<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Keeps up contact through a sequence based on the time elapsed since an event, such as a signup, a download or a first interaction. It nurtures the relationship steadily when there is not yet a clear purchase signal, spreading valuable content over time. It is the background flow that stops a contact cooling off through silence.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Price Drop<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Notifies people interested in a product when it drops in price. It activates a decision that was on pause over a price question, without needing a general promotion that sacrifices margin across the whole store. The focus is segmenting well who had shown interest so the alert is relevant and not noise.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Shipping Delay Follow-up<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Detects paid orders that have not shipped within the expected timeframe and communicates proactively before the customer asks. Getting ahead of the incident reduces support tickets, customer anxiety and negative reviews over a logistics problem. It is an experience flow that protects brand perception at the most delicate point, the wait.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Low Inventory<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Warns of limited stock of a product that interests the customer, leaning on real, not invented, urgency. The nuance matters: the scarcity has to be true for it to work in the medium term and not burn trust. The objective is to accelerate a decision the customer was already considering.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Post-Return<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Accompanies the customer after a return to understand the reason and, if possible, recover the relationship with an alternative or a solution. A well-handled return stops the customer being lost and often retains them more than if nothing had gone wrong. The focus is to listen first and sell later, or not sell at that moment.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Almost VIP<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Detects customers who are one step from VIP status and encourages them to make the final push to reach it. It uses a specific, visible threshold as a motivation lever, of the &#8220;you&#8217;re one purchase away from joining&#8221; kind. The objective is to move mid-to-high-value customers up a tier, the ones that most easily move the LTV needle.<\/p>\n\n\n\n<div class=\"wp-block-uagb-advanced-heading uagb-block-c6b052a7\"><h2 class=\"uagb-heading-text\">Every ecommerce email flow, at a glance<br><\/h2><\/div>\n\n\n\n<!-- STRAT \u00b7 Email flows summary table by stage \u00b7 custom HTML block -->\n<style>\n.strat-flujos-wrap{font-family:'Poppins',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#1a1a1a;margin:32px 0}\n.strat-flujos-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:14px;box-shadow:0 6px 22px rgba(0,0,0,.05)}\n.strat-flujos-table{width:100%;border-collapse:collapse;min-width:680px;background:#ffffff;border:1px solid #ececec;border-radius:14px;overflow:hidden}\n.strat-flujos-table thead th{background:#ec186c;color:#ffffff;font-weight:600;text-align:left;padding:16px 18px;font-size:14px;letter-spacing:.2px}\n.strat-flujos-table td{padding:14px 18px;font-size:14px;line-height:1.5;border-top:1px solid #ececec;vertical-align:top}\n.strat-flujos-table td:first-child{font-weight:600}\n.strat-flujos-en{display:block;color:#777;font-weight:400;font-size:12px;margin-top:2px}\n.strat-flujos-table tbody tr:nth-child(even):not(.strat-flujos-fase) td{background:#fafafa}\n.strat-flujos-fase td{background:#141414;color:#ffffff;font-weight:600;font-size:13px;letter-spacing:.4px;text-transform:uppercase;padding:12px 18px}\n.strat-flujos-obj{color:#6b6b6b;font-weight:400}\n@media(max-width:640px){.strat-flujos-table td,.strat-flujos-table thead th{padding:12px 14px;font-size:13px}}\n<\/style>\n\n<div class=\"strat-flujos-wrap\">\n  <div class=\"strat-flujos-scroll\">\n    <table class=\"strat-flujos-table\">\n      <thead>\n        <tr>\n          <th>Flow<\/th>\n          <th>Objective<\/th>\n          <th>When it triggers<\/th>\n        <\/tr>\n      <\/thead>\n      <tbody>\n        <tr class=\"strat-flujos-fase\"><td colspan=\"3\">Stage 1 \u00b7 Win the first purchase<\/td><\/tr>\n        <tr><td>Welcome Series<\/td><td class=\"strat-flujos-obj\">First purchase<\/td><td>New subscriber<\/td><\/tr>\n        <tr><td>Browse Abandonment<\/td><td class=\"strat-flujos-obj\">First purchase<\/td><td>Browses without adding to cart<\/td><\/tr>\n        <tr><td>Checkout Abandonment<\/td><td class=\"strat-flujos-obj\">First purchase<\/td><td>Starts payment and does not complete it<\/td><\/tr>\n        <tr><td>Checkout Abandonment + cross-sell<\/td><td class=\"strat-flujos-obj\">First purchase<\/td><td>Checkout abandoned, with recommendations<\/td><\/tr>\n        <tr><td>Follow-up Quiz<\/td><td class=\"strat-flujos-obj\">First purchase \u00b7 zero-party<\/td><td>Completes a recommendation quiz<\/td><\/tr>\n        <tr><td>Cart Abandonment<\/td><td class=\"strat-flujos-obj\">First purchase<\/td><td>Adds to cart and does not progress<\/td><\/tr>\n\n        <tr class=\"strat-flujos-fase\"><td colspan=\"3\">Stage 2 \u00b7 Build loyalty and repeat purchase<\/td><\/tr>\n        <tr><td>Post-Purchase<\/td><td class=\"strat-flujos-obj\">Loyalty<\/td><td>After the purchase<\/td><\/tr>\n        <tr><td>Replenishment<\/td><td class=\"strat-flujos-obj\">Repeat purchase<\/td><td>The consumable is about to run out<\/td><\/tr>\n        <tr><td>Preference Request<\/td><td class=\"strat-flujos-obj\">Zero-party data<\/td><td>To enrich the segmentation<\/td><\/tr>\n        <tr><td>Cross-Selling<\/td><td class=\"strat-flujos-obj\">Repeat purchase<\/td><td>Products complementary to what was bought<\/td><\/tr>\n        <tr><td>Cross-Selling Premium<\/td><td class=\"strat-flujos-obj\">Repeat purchase<\/td><td>Higher range for high-value customers<\/td><\/tr>\n        <tr><td>Up-selling<\/td><td class=\"strat-flujos-obj\">Repeat purchase<\/td><td>Superior version of the product they use<\/td><\/tr>\n        <tr><td>Customer Thank You<\/td><td class=\"strat-flujos-obj\">Loyalty<\/td><td>Thanking the customer<\/td><\/tr>\n        <tr><td>VIP<\/td><td class=\"strat-flujos-obj\">Repeat purchase<\/td><td>Best customers, preferential treatment<\/td><\/tr>\n        <tr><td>Bounce-back<\/td><td class=\"strat-flujos-obj\">Repeat purchase<\/td><td>Window right after the first purchase<\/td><\/tr>\n        <tr><td>Post-Purchase Education<\/td><td class=\"strat-flujos-obj\">Inform the customer<\/td><td>To get the most from the product<\/td><\/tr>\n        <tr><td>MGM (Member Get Member)<\/td><td class=\"strat-flujos-obj\">Referrals<\/td><td>Satisfied customer recommends the brand<\/td><\/tr>\n        <tr><td>Follow-up Reviews 4\/5<\/td><td class=\"strat-flujos-obj\">Loyalty<\/td><td>After a positive rating<\/td><\/tr>\n        <tr><td>Follow-up Reviews 1\/2<\/td><td class=\"strat-flujos-obj\">Loyalty<\/td><td>After a negative rating<\/td><\/tr>\n\n        <tr class=\"strat-flujos-fase\"><td colspan=\"3\">Stage 3 \u00b7 Recover inactive customers<\/td><\/tr>\n        <tr><td>Win-back<\/td><td class=\"strat-flujos-obj\">Recover customer<\/td><td>Has not bought in a while<\/td><\/tr>\n\n        <tr class=\"strat-flujos-fase\"><td colspan=\"3\">Stage 4 \u00b7 By event and behaviour<\/td><\/tr>\n        <tr><td>Back in Stock<\/td><td class=\"strat-flujos-obj\">Recover the sale<\/td><td>Out-of-stock product available again<\/td><\/tr>\n        <tr><td>Happy Birthday<\/td><td class=\"strat-flujos-obj\">Loyalty<\/td><td>Customer&#8217;s birthday<\/td><\/tr>\n        <tr><td>Sunset<\/td><td class=\"strat-flujos-obj\">Clean the database<\/td><td>Inactive subscriber to clear out<\/td><\/tr>\n        <tr><td>Time-based Sequence<\/td><td class=\"strat-flujos-obj\">Nurturing<\/td><td>Time elapsed since an event<\/td><\/tr>\n        <tr><td>Price Drop<\/td><td class=\"strat-flujos-obj\">Activate the purchase<\/td><td>A product of interest drops in price<\/td><\/tr>\n        <tr><td>Shipping Delay Follow-up<\/td><td class=\"strat-flujos-obj\">Experience and support<\/td><td>Paid order not shipped on time<\/td><\/tr>\n        <tr><td>Low Inventory<\/td><td class=\"strat-flujos-obj\">Activate the purchase<\/td><td>Limited stock of a product of interest<\/td><\/tr>\n        <tr><td>Post-Return<\/td><td class=\"strat-flujos-obj\">Retention<\/td><td>After a return<\/td><\/tr>\n        <tr><td>Almost VIP<\/td><td class=\"strat-flujos-obj\">Repeat purchase<\/td><td>One step from VIP status<\/td><\/tr>\n      <\/tbody>\n    <\/table>\n  <\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Which flows you might be missing<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The above cover the bulk of a standard ecommerce. There is another layer of flows almost nobody builds that, depending on your business model, can be among the highest-earning, because they act on revenue you have practically already won.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Subscription Flows (dunning, pre-renewal and cancellation save)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">If you sell on a subscription model, this is the block I most often find missing from the list, because it acts on already-committed recurring revenue. The failed-payment flow (dunning) retries the charge and alerts the customer when a card expires or bounces, and usually rescues a very high percentage of involuntary churn, the kind lost without the customer even wanting to leave. The pre-renewal flow warns before the charge and reduces surprise cancellations and disputes. The cancellation-save flow intercepts whoever is about to unsubscribe and offers to pause, skip a shipment or downgrade before losing them entirely. For a subscription brand, this block can weigh more than half the rest of the architecture put together.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Anniversary<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Different from the birthday. It triggers on the anniversary of the first purchase or of signup, and gives a reason to reconnect tied to the relationship with the brand, not to a personal date of the customer&#8217;s. The focus is celebrating the bond, of the &#8220;you&#8217;ve been with us a year&#8221; kind, with a gesture or an advantage. It is one of the triggers with the best brand recall, precisely because almost nobody uses it.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Expiring Points<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Only applies if you have a loyalty programme, but then it is one of the most powerful reactivators there is. A message of the &#8220;you have 450 points expiring in 7 days&#8221; kind combines loss and urgency over something the customer already feels is theirs, and converts far better than a generic discount, because you are not giving away margin, you are activating an existing balance. The objective is to bring dormant customers back with the incentive that most belongs to them.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Wishlist<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">A reminder of the products someone saved to their wishlist but did not go on to buy. It is declared intent in its purest form, the customer has explicitly signalled what they want. The focus is to cross it with Price Drop and Back in Stock applied specifically to the items on their list, to alert at the exact moment a price or availability barrier falls.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Waitlist<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">For pre-sales, limited drops or restocks of high-demand products. It gathers interest before the product is available and concentrates it all at once at the moment of opening, rather than letting it dilute. The objective is to create a controlled demand peak on launch day, with an already-warmed audience just waiting for the starting signal.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">None of these five is universal. The subscription and points ones depend on your model supporting them, and the wishlist and waitlist require the corresponding functionality in the store. But when they fit, they usually have a disproportionate return relative to the effort of building them.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Where to start: which flows to activate first<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">No ecommerce needs all 29 flows from day one, let alone the 34 that come out when you add the previous layer. The point is not to activate them all, but to choose the right ones for the moment the business is in and build them in the right order. This is the roadmap we follow, in three stages according to the brand&#8217;s maturity. These are business stages, not the lifecycle stages above.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Stage 1. Starting the business<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">With a small database and little history, prioritise the flows that perform with little data, rescue intent that already exists, and trigger on product or stock rather than on segmentation. They bring revenue from day one without depending on a large base.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Welcome Series<\/li>\n\n\n\n<li>Browse Abandonment<\/li>\n\n\n\n<li>Checkout Abandonment<\/li>\n\n\n\n<li>Post-Purchase<\/li>\n\n\n\n<li>Replenishment<\/li>\n\n\n\n<li>Back in Stock<\/li>\n\n\n\n<li>Price Drop<\/li>\n\n\n\n<li>Low Inventory<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">At this stage, Checkout Abandonment, which is the highest purchase intent, is enough to cover recovery. Cart Abandonment comes in the next stage, when there is enough traffic for it to contribute.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Stage 2. Consolidating the business<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">You now have purchase history and a growing base. Time to add the flows that build repeat purchase and reputation, leaning on data you did not have before.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Cart Abandonment<\/li>\n\n\n\n<li>Cross-Selling<\/li>\n\n\n\n<li>Up-selling<\/li>\n\n\n\n<li>Post-Purchase Education<\/li>\n\n\n\n<li>Follow-up Reviews 4\/5, as thanks and support<\/li>\n\n\n\n<li>Follow-up Reviews 1\/2, for incident handling<\/li>\n\n\n\n<li>Happy Birthday<\/li>\n\n\n\n<li>Sunset<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Here Cross-Selling and Up-selling already have history to recommend on, the review flows start building reputation, and Sunset keeps a base that now carries weight healthy, protecting deliverability.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Stage 3. Maximising the channel<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">With enough volume and data, make the most of the channel with the flows that depend on fine segmentation, on zero-party data or on time having passed.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Follow-up Quiz<\/li>\n\n\n\n<li>Customer Thank You<\/li>\n\n\n\n<li>VIP<\/li>\n\n\n\n<li>Bounce-back<\/li>\n\n\n\n<li>MGM<\/li>\n\n\n\n<li>Win-back<\/li>\n\n\n\n<li>Preference Request<\/li>\n\n\n\n<li>Post-Return<\/li>\n\n\n\n<li>Almost VIP<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">They perform once you have enough customers to segment by value (VIP, Almost VIP), declared data to capture (quiz, preference request) or a cooled-off mass of customers to recover (win-back).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">And the rest<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The flows that do not appear in the roadmap are variants or cross-cutting pieces built when the specific case calls for it. Checkout Abandonment with cross-sell is a variant of Checkout Abandonment, Cross-Selling Premium is one of Cross-Selling, the Time-based Sequence is a cross-cutting nurturing block, and Shipping Delay Follow-up comes in when the order volume makes proactive support worthwhile. The five flows from the previous section (subscription, anniversary, points, wishlist and waitlist) go separately, activated when your business model or your store supports them.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">What does not change at any stage is the measurement criterion. A flow is justified by the profit it adds over the customer lifecycle, not by its open rate. It is the same logic with which we measure paid media investment through <a href=\"https:\/\/strat.es\/en\/what-is-poas\/\" target=\"_blank\" rel=\"noopener\" style=\"color:#ec186c; text-decoration:underline; text-decoration-color:#ec186c\">POAS<\/a> instead of looking at isolated platform metrics: what matters is real profitability, not the vanity metric.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Frequently asked questions<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>How many flows does my ecommerce need to start?<\/strong> Between six and eight well-built ones. At the start, the core is the welcome, browse and checkout abandonment, post-purchase and the catalogue and stock flows (replenishment, back in stock, price drop and low inventory). They perform from day one without depending on a large base. Cart abandonment comes in the next stage.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Where do you start building the flow architecture?<\/strong> We follow a three-stage roadmap according to the maturity of the business. At the start, the flows that perform with little data and rescue intent (welcome, abandonment, post-purchase, catalogue and stock). On consolidating, the ones that build repeat purchase and reputation (cart, cross-sell and up-sell, reviews). And on maximising, the ones that depend on segmentation or zero-party data (VIP, quiz, win-back, referrals).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Do the same flows work for every business model?<\/strong> No. A consumables brand prioritises Replenishment, a subscription brand needs dunning and pre-renewal, and a durable-product brand leans more on Cross-Selling and Up-selling. The architecture is designed around the catalogue and the repeat-purchase cycle, not copied from another account.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Klaviyo or Omnisend to build these flows?<\/strong> Both let you build this whole architecture. The choice depends on the size of the database, the complexity of the segmentation and the budget. We work with both and choose case by case.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>How do you measure whether a flow works?<\/strong> By the revenue attributed and its effect on LTV and blended CAC, not by the open rate. With Apple Mail Privacy Protection the open has lost reliability, so the focus goes on conversion and revenue per recipient.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>How often should flows be reviewed?<\/strong> A flow is not built and forgotten. It pays to review copy, segmentation and performance regularly, and to test the highest-earning flows, because they are the ones with the greatest impact when optimised.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Knowing which flows your brand needs depends on your database, your purchase cycle and each product&#8217;s margin. At STRAT we analyse those three points before touching anything, and from there we design <a href=\"https:\/\/strat.es\/en\/ecommerce-email-automation-agency\/\" target=\"_blank\" rel=\"noopener\" style=\"color:#ec186c; text-decoration:underline; text-decoration-color:#ec186c\">the ecommerce email flow architecture<\/a> that can add the most profitability, prioritising the ones that touch revenue from the first week.<\/p>\n\n\n\n<!-- ===== STRAT author signature \u00b7 \u00c1lvaro D\u00edaz-Rato ===== -->\n<!-- Paste this whole block into a \"Custom HTML\" block at the end of the post. -->\n<div class=\"strat-author\">\n  <style>\n    .strat-author{\n      --sa-bg:#141414; --sa-pink:#ec186c; --sa-line:#2a2a2a;\n      --sa-ink:#f5f5f5; --sa-muted:#a3a3a3; --sa-bio:#cccccc;\n      display:flex; gap:22px; align-items:center;\n      background:var(--sa-bg); border:1px solid var(--sa-line); border-radius:16px;\n      padding:24px 26px; margin:40px 0;\n      font-family:'Poppins',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;\n      box-shadow:0 18px 40px rgba(0,0,0,.18);\n    }\n    .strat-author *{box-sizing:border-box}\n    .strat-author__photo{\n      width:104px; height:104px; flex:0 0 104px; border-radius:50%;\n      object-fit:cover; display:block;\n      border:2px solid var(--sa-pink); box-shadow:0 0 0 4px rgba(236,24,108,.18);\n    }\n    .strat-author__body{min-width:0}\n    .strat-author__eyebrow{\n      display:block; font-size:11px; font-weight:600; letter-spacing:.14em;\n      text-transform:uppercase; color:var(--sa-pink); margin:0 0 4px;\n    }\n    .strat-author__name{\n      font-size:20px; font-weight:700; color:var(--sa-ink);\n      margin:0 0 2px; line-height:1.2;\n    }\n    .strat-author__role{\n      display:block; font-size:13.5px; font-weight:500; color:var(--sa-muted); margin:0 0 10px;\n    }\n    .strat-author__bio{\n      font-size:14px; line-height:1.55; color:var(--sa-bio); margin:0 0 14px;\n    }\n    .strat-author__link{\n      display:inline-flex; align-items:center; gap:8px;\n      background:var(--sa-pink); color:#ffffff !important; text-decoration:none !important;\n      font-size:13.5px; font-weight:600; padding:9px 16px; border-radius:9px;\n      transition:background .15s ease, transform .15s ease;\n    }\n    .strat-author__link:hover{background:#d1145f; transform:translateY(-1px); color:#fff !important;}\n    .strat-author__link svg{display:block}\n    @media (max-width:560px){\n      .strat-author{flex-direction:column; text-align:center; gap:16px; padding:24px 20px}\n      .strat-author__link{align-self:center}\n    }\n  <\/style>\n  <img decoding=\"async\" class=\"strat-author__photo\" src=\"https:\/\/strat.es\/wp-content\/uploads\/2026\/06\/alvaro-diaz-rato-strat.png\" alt=\"\u00c1lvaro D\u00edaz-Rato, founder of STRAT\">\n  <div class=\"strat-author__body\">\n    <span class=\"strat-author__eyebrow\">Written by<\/span>\n    <p class=\"strat-author__name\">\u00c1lvaro D\u00edaz-Rato<\/p>\n    <span class=\"strat-author__role\">Founder of STRAT \u00b7 Growth Expert<\/span>\n    <p class=\"strat-author__bio\">I founded STRAT with one fixed idea: that ecommerce marketing should be measured in profit, not in metrics that look good in a report. I have spent years deep in paid media, email marketing and Shopify, and I have learned that profitable growth does not come from any miracle channel, but from making all the pieces work together. Today I help ecommerce brands scale without losing sight of the only thing that matters: making real money.<\/p>\n    <a class=\"strat-author__link\" href=\"https:\/\/www.linkedin.com\/in\/alvaro-diaz-rato\/\" target=\"_blank\" rel=\"noopener noreferrer\">\n      <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"currentColor\" aria-hidden=\"true\"><path d=\"M20.45 20.45h-3.56v-5.57c0-1.33-.02-3.04-1.85-3.04-1.85 0-2.14 1.45-2.14 2.94v5.67H9.35V9h3.41v1.56h.05c.48-.9 1.64-1.85 3.37-1.85 3.6 0 4.27 2.37 4.27 5.45v6.29zM5.34 7.43a2.06 2.06 0 1 1 0-4.13 2.06 2.06 0 0 1 0 4.13zM7.12 20.45H3.56V9h3.56v11.45zM22.22 0H1.77C.79 0 0 .77 0 1.73v20.54C0 23.23.79 24 1.77 24h20.45c.98 0 1.78-.77 1.78-1.73V1.73C24 .77 23.2 0 22.22 0z\"><\/path><\/svg>\n      Connect on LinkedIn\n    <\/a>\n  <\/div>\n<\/div>\n<!-- ===== End author signature ===== -->\n","protected":false},"excerpt":{"rendered":"<p>Calculating\u2026 Updated 25 June 2026 In this article Email marketing is the channel with the lowest acquisition cost in an ecommerce, because it works on an audience that already knows you. The difference between an account that invoices occasionally with newsletters and one that turns its database into recurring revenue is not in sending more [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"_uag_custom_page_level_css":"","_genesis_hide_title":false,"_genesis_hide_breadcrumbs":false,"_genesis_hide_singular_image":false,"_genesis_hide_footer_widgets":false,"_genesis_custom_body_class":"","_genesis_custom_post_class":"","_genesis_layout":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-5375","post","type-post","status-publish","format-standard","category-email-marketing","entry"],"acf":[],"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false,"gur_featured_image":false,"gur_blog_thumbnail":false},"uagb_author_info":{"display_name":"Alvaro Diaz","author_link":"https:\/\/strat.es\/en\/author\/alvaro\/"},"uagb_comment_info":0,"uagb_excerpt":"Calculating\u2026 Updated 25 June 2026 In this article Email marketing is the channel with the lowest acquisition cost in an ecommerce, because it works on an audience that already knows you. The difference between an account that invoices occasionally with newsletters and one that turns its database into recurring revenue is not in sending more&hellip;","_links":{"self":[{"href":"https:\/\/strat.es\/en\/wp-json\/wp\/v2\/posts\/5375","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/strat.es\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/strat.es\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/strat.es\/en\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/strat.es\/en\/wp-json\/wp\/v2\/comments?post=5375"}],"version-history":[{"count":1,"href":"https:\/\/strat.es\/en\/wp-json\/wp\/v2\/posts\/5375\/revisions"}],"predecessor-version":[{"id":5377,"href":"https:\/\/strat.es\/en\/wp-json\/wp\/v2\/posts\/5375\/revisions\/5377"}],"wp:attachment":[{"href":"https:\/\/strat.es\/en\/wp-json\/wp\/v2\/media?parent=5375"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/strat.es\/en\/wp-json\/wp\/v2\/categories?post=5375"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/strat.es\/en\/wp-json\/wp\/v2\/tags?post=5375"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}