Lesson 4: Automating the Customer Journey

Lesson 4: Automating the Customer Journey - Signup Forms & Flows


Guide to A/B Test Signup Forms
Guide to List Opt-In Pages


Welcome to our lesson on automating the customer journey. In our previous lesson, we covered Email Templates and their best practices. Make sure you check that content if you missed it. Email Templates will come into play in this lesson as well as some of our future lessons. For now we’ll be covering the following topics on automating the customer journey:

  • Types of Signup Forms
  • The Form Builder
  • Understanding Flows
  • Keys To Effective Flows
  • Preference Pages

Signup Forms

Signup forms are where your email marketing begins. You have to get a user to subscribe to your email list first and foremost. Klaviyo’s signup forms make it simple so that you don’t need to rely on any other app or plugin and have an extensive range of well-thought out features that allow you to go from your basic form to some really advanced, customized experiences. In addition to subscribing to your email list, you can also use signup forms to collect information which is saved as profile properties. Profile properties can be almost anything; you may use it for location, gender, birthday, all sorts of options. These profile properties can then be used to help curate and customize the content you send to your subscribers and speak to them with the right messaging along the customer journey.

Types of Signup Forms

Let’s discuss the different types of signup forms. 

  • Popups 
  • Flyouts 
  • Embedded Forms

Within Klaviyo you have popups, flyouts, and embedded forms. Popups have the highest submission rate, since they’re the most prominent. They are the best way to call attention to your signup form when you want the user to take an immediate action. Flyouts can be a little less obtrusive, and are a great way to show a form to users without fully disrupting the flow of their experience. Embedded forms remain static on a page and are often placed in the footer. They’re the least obtrusive, but also tend to have the lowest submission rate. Being in a static place on the page, which is often the footer, a user has to scroll the form into the viewport to interact with it. Nevertheless, they are useful to always have as a backup so users can always find where to sign up if they close a popup prematurely or change their mind. Lastly, you also have your checkout opt-in. While this isn’t a form you have control over through Klaviyo, it is a method of signing up for email.

Keys to an Effective Signup Form

So, what are the keys to having an effective signup form? We’ll walk through them as we take a look at the signup form builder in Klaviyo. Let’s navigate to the signup forms from the menu.

Goal of the Form
  • What is the essential data you’ll need?
  • Where is the best place to obtain it?
  • When does it makes sense to ask for it?

    Before anything, first identify the goal of the form. First, determine the main objective and the essential data you’ll need, where the best place will be to obtain it will be, and when it makes sense to ask for it. Take a look at what other brands are doing and see what you find to be effective. Are you only looking to gain email subscribers? Are you looking to obtain other user information? Every business and target customer is different. 

    Once you know what you want, you’ll want to determine how by deciding which type of form is best suited for your needs. By clicking on one of the goals provided, you’ll see that,Klaviyo provides a library of pre-made forms you can use as a starting point or simply view for inspiration. You can filter the library to your needs in order to find one that is well suited or you can simply start building from scratch. You’ll want to name your form, determining which list the subscriber will be added to and what type of form you’ll use. If you’re within or selling to customers governed by GDPR or other special data protection laws and have multiple channels subscriber data will be used on (such as Facebook Ads), you’ll want to select the checkbox at the bottom to enable Data Protection Fields. This will make sure you’re on a good track to be compliant with those data protection regulations.

    Intro Offer

    I’m sure we’ve all seen it. The introductory offer for subscribing. It’s important to stress just how crucial obtaining email addresses can be. If you’re able to get a user to subscribe and you then provide them with engaging content and compelling offers, you can have a repeat customer for life which can amount to a lot of money. So, you’ll likely notice that many brands provide a discount or maybe even a free gift with purchase for subscribing to an email newsletter. That’s because of how critical it is in the customer journey to convert a site visitor into an email subscriber. If you haven’t already considered, think about what kind of value proposition you have for signing up. It doesn’t have to be a discount and many brands are wary of devaluing product in this manner, but even if it’s an offer of exclusivity or privileged information you want to share, a compelling offer is key to getting subscribers.

    Understanding the Form Builder

    Once you enter into the Form Builder, there are 3 tabs to note:

    • Blocks
    • Styles
    • Behaviors

    Once you've determined the goal of the signup form, you should have a good idea of what data you are trying to collect. Using the blocks, you can begin to build out the different components in the form. Since you can store profile data such as first name and use it dynamically within an email, it might be useful to make sure you’re capturing that information. But bear in mind that the more information you try to collect, the greater the barrier to getting someone to sign up. Make it easy to get a customer to sign up and only collect the essential data you’ll need. You can always have automated emails that link to forms later on to collect more data you’d like to obtain.

    Let’s start by collecting Email, First Name, and Birthday. This way we can address the subscriber by their first name and we can also create a Birthday Flow by having the birthday information. You can choose which fields you want to make required, but I typically only leave email as the required field and all others as optional unless otherwise noted. If a required field is not filled out, the user won’t be able to submit the form and will receive an error to complete the missing information. So, making it as easy to submit with the fewest data fields that are not required is critical.


    Styles allow you to adjust some of the global settings for the appearance of the form. You can change the type of form and convert it into a flyout or embed form. You can update colors and other aspects you want to dial in on the form. 

    Behavior Settings

    The signup form behavior settings allow you to choose where and when you show the form. Note the time delay settings. You can even choose to show only on a specific device type so you can have different forms that speak to the mobile or desktop user. Afterall, they are different experiences. 

    When choosing your behavior settings, it’s important to bear in mind to display only one form at a time. Whether it is coming from Klaviyo or a combination of apps, make sure the timing and locations are right so you don’t distract users from completing and submitting one form by prompting with another, second form altogether.

    Custom Fonts in Signup Forms

    You can tailor the signup form for your brand with custom fonts you won’t find within the form builder to have a well-crafted and on brand experience. 

    When selecting from any font drop downs within the Styles tab, scroll to the bottom and you’ll find “Add Font”; go ahead and select that. Now, you’ll see a modal to add your font. Follow the prompts, adding in the particular font information as well as establishing a fall back font. See the link for Klaviyo’s help documentation if you need further detailed instructions on adding a custom font. Here we’ve added a custom font to demonstrate. It now appears in the font drop down for us to use going forward.

    Multi-Step Forms

    You’ll notice that there is a workflow at the top where you can place a step between the initial form and the success message. This is a unique feature that Klaviyo has developed where you can collect additional profile properties or even have the user sign up for SMS after submitting their email first or vice versa. It’s certainly worth testing out different options. A word of caution, however. Within our agency, our tests with multi-step forms often indicated that there was a significant drop off and users weren’t willing to take the extra step to submit more information in some circumstances. So, test the feature and make sure it’s right for you, the information you’re looking to obtain, and your target audience.

    Once you leave the popup builder, in the top right you’ll see two buttons: “Install Code Snippet” and “Create Signup Form”. You can ignore “Install Code Snippet” if you’ve followed along in our previous lesson on Account Setup & Integrations. In that lesson, we enabled automatically adding the Klaviyo onsite javascript, which will account for this code snippet. Select “Create Signup Form” if you want to access the form library and build another form.

    A/B Testing Signup Forms

    One of the best ways to know if your signup form is performing well is to utilize Klaviyo’s A/B testing feature on your forms.

    There are a few different places you can access the A/B testing feature: on the signup form page by clicking the three dots on a form, within the analytics page of a form, or within the form builder.

    When you A/B test, make sure you create a good test. You’ll want to only test a single variable at a time. Ideal things to test are different copy, imagery, colors and types of forms. For instance, a good test is trying to see which copy performs better, or if a popup performs better than a flyout. A bad test would be testing different copy AND the type of form as it gets to be difficult to determine the deciding factor. Although you can have up to 7 variations, it’s ideal to test between two and four to obtain enough data on all iterations for good results.

    For a comprehensive guide to using the A/B testing feature, check the link for Klaviyo’s documentation.


    Now let’s shift our focus to Flows, the next and maybe most important component in understanding how to automate the customer journey. 

    What are Flows?

    Flows, are automations that are triggered by customer actions. Flows can be comprised of a single message or series of messages that allow you to really tailor your messaging to where your subscriber is in the customer journey. Flows are distinct from campaigns as they are one-off sends based on a specific trigger. Campaigns, on the other hand, are your typical, manually scheduled email newsletter. 

    Flow Triggers

    • List-Triggered
    • Segment-Triggered
    • Metric-Triggered
    • Date Property-Triggered
    • Price Drop-Triggered

    There are several different ways you can trigger a Flow. When a user subscribes to a list; when a subscriber meets the criteria to be added to a dynamic segment; based on a metric or event such as Placed Order, Fulfilled Order, or other metrics within your account; based around a specific Date Property, such as a birthday; or when a product price drops on a product viewed by the subscriber.

    Keys to Effective Flows

    • Consider The Customer Journey
    • Identify Key Flows & Priorities

    So, what are the keys to having effective Flows? First, consider your customer journey. Always bear that in mind with the goals you want to achieve. From there, you can easily identify which critical points of communication you can achieve through Flows to be impactful. There are some things that are fairly universal which make a good place to start.

    • Welcome Series Flow
    • Abandoned Cart Flow
    • Customer Thank You Flow
    • Customer Winback Flow

    A welcome series flow is meant to introduce new subscribers to your brand with the goal of converting them from an email subscriber into a first-time customer. Sometimes brands think this is a little corny, but a series of emails that warms the relationship with the subscriber, introducing your brand story and values can make a big impact and help to build that relationship and drive your subscriber toward completing a purchase.

    An abandoned cart flow is meant to be one last nudge to convince someone who was just on the brink of completing a purchase. Once the user has made it into checkout and entered an email address, if they don’t complete their purchase, fingers crossed, this flow should do the trick. 

    A Customer Thank You Flow is intended to help build relationships with customers and show appreciation. Without being too redundant, because I did mention it in lesson one, a common misstep here is that brands say thank you and that’s it. This flow often has extremely high engagement while you have a captive audience fresh after a purchase, so it’s a great opportunity. Something to bear in mind here as well as a tip for any marketing email is to always provide something of value to your subscriber. Sending an email just to send an email doesn’t cut it. So here, if you have blogs or more content about your brand or product use and care info, direct some attention there. 

    A Customer Winback Flow is for lapsed customers who made a purchase but then haven’t come back to buy again. This can be an effective reminder to bring old customers back into the fold.

    Building Your Flows

    Let’s navigate to the Flows section within Klaviyo. Now you can build Flows from scratch or you can start from Klaviyo’s Flow Library. When you click the “Create Flow” button, you can access the the Flow Library, which is an excellent resource for inspiration on email opportunities through the customer journey. I will say to be forewarned, some can appear deceptively simple to set up, but take a bit of nuance. As we look at some of the different options we can see examples of the Flow structure.

    We’ll take a look at a couple of different Flow examples in a bit more detail:

    • Welcome Series Flow
    • Abandoned Cart Flow
    • Happy Birthday Flow

    Welcome Series

    We’ll begin with the Welcome Series Flow. There are a few options within the Library, but we’ll begin with a simple, standard one. Select “Create Flow” and it will populate the Flow. You can see at the top where there is a trigger for the flow based on when a user subscribes to the Newsletter. We can see subsequent, alternating blocks in the flow of emails and time delays. On the left side of the screen, you can see some different options to customize the flow further. You can simply drag and drop additional items to make those adjustments to the Flow logic. 

    Conditional splits, for instance, are an incredibly useful tool for customizing that logic and tailoring the messaging based on specific criteria. For instance, we can create a conditional split here within the Welcome Series Flow based on whether or not someone has made a previous purchase. Keep in mind, our goal for the Welcome Series is converting a Subscriber into a Buyer. If they’ve already made a purchase, maybe this isn’t the best Flow for them to receive or perhaps they should receive different messaging within the Flow. You can choose to have them exit the Flow, or you can add additional emails in this separate pathway.

    Clicking on any of the elements will give you further customization options. By clicking on a time delay block, you can adjust the time settings. By clicking on an email block, you can begin entering the content of each email.

    Let’s select “Edit” from the left side and begin working on our email content. First you’ll be prompted to enter all of the sending information and subject line. Then you’ll want to choose from the dropdown to “Change Template”. Choose the Drag & Drop option. Select My Templates. Now choose the template you created. Now your email is populated with your template and you can begin updating all of the content. This should allow you to be efficient and consistent in building your emails. You can repeat this same process for most of your emails.

    Abandoned Cart

    I did say most. In the case of some emails with dynamic content, there’s an order of operations. You’ll want to create the Flow from the library, save the dynamic content blocks, and then apply your template. Approaching in this order is important because applying your template will override the dynamic content blocks you want to keep. Let’s see this in practice with the Abandoned Cart Flow.

    You can see that I’ll first save the dynamic blocks and then bring them back once I’ve changed the template.

    Birthday Flow

    Now let’s look at some of the nuances of the Birthday Flow. 

    When creating some Flows that are triggered by a customer profile property, you have to first make sure that at least someone within your account has that property. In this instance, you have to have someone with a birthday added. But of course you don’t have a live account yet to acquire any of that info. If you already have some Klaviyo signup forms on your site, one way to do this is to enter your information to update your profile. Another alternative is to manually enter that profile property information directly on your profile within Klaviyo. 

    You can use the search at the top to find your profile or navigate to the profiles section in the menu on the left. Scroll down the profile to the Information section where it says Custom Properties and select “Add”. 

    Now we can proceed in building the Birthday Flow.

    Let’s say we want to send an email with a coupon code that will be unique to that user and only has a one-time use, so it can’t be shared on retailmenot or a similar site. You can create a coupon within Klaviyo which integrates with your Shopify store and then call it into the email using a variable, so it will change each time it sends for every user once they enter the Flow.

    Let’s navigate to the Coupons section. Select Create Shopify Coupon. Name the coupon and enter all of the details of the offer and save. Now make sure you remember the name of the coupon.

    Navigate back to your Birthday Flow, enter into the email content and use the coupon variable to create a dynamic coupon. Simply update the variable with the correct coupon name. The coupon will be sent with a unique string of characters for each user. It will remain the same coupon as long as the contact is within the Flow; so, if you have multiple emails with the dynamic coupon, it will remain the same code for the duration of the Flow. If the contact exits the Flow and enters again a year later, the coupon will be different. 

    Preference Pages

    Preference pages are also part of the automated customer journey which should not be overlooked. You have both global preference pages as well as for each list, you have opt-in related pages which can be modified with your branding in mind. By navigating to Preference Pages from the menu on the left or within a particular list, by selecting Subscribe Pages and then View All Pages, you’ll see all of these pages associated with that list.

    These may not be the most glamorous of pages, but you’re able to change, fonts, colors, borders, padding, to get something over and above a default and be a closer match to your branded customer experience. Klaviyo’s help documentation provides a full walkthrough on how to update these pages in the link provided.

    Upgrading to a Paid Plan

    At this stage, once you have your Signup Forms published and deployed on your site, have your Flows built, and your Shopify notification emails created, you’re ready to upgrade to a paid plan with Klaviyo. You should see a button at the top of your screen to upgrade. Simply choose your paid plan based on the size of your contact list, and enter your billing information.

    Now you’re ready to switch on your Flows. Go ahead and navigate to your Flows. Go through each Flow, selecting the Manage Flows dropdown and selecting Update All Statuses, then change them to live.

    You’re also now ready to export all of your Shopify notification emails and import them into Shopify as we detailed in our previous lesson on Email Templates.


    We covered a lot in this lesson on automating the customer journey. Let’s have a quick recap.

    First, we covered some key concepts with signup forms - having a clear goal for the form and a value proposition with an introductory offer.

    We also discussed how to build signup forms in the Form Builder.

    Then we covered key concepts around Flows with understanding your customer journey and identifying the flows to achieve your goals. We then walked through how to go about building some key Flows such as the Welcome Series, Abandoned Cart, and Birthday Flow and took a look at how to use dynamic coupons.

    We also covered Preference Pages and how they factor into the customer journey.

    Lastly, we covered upgrading your account and getting things launched.

    I hope you’re ready for our next lesson, we’ll be getting into Campaign Strategy and Segmentation.

    Lesson 4: Automating the Customer Journey