Last month, I attended Acquia Engage in New Orleans. My goal was to gain a better understanding of Acquia’s Digital Experience Platform (DXP). Personalization and marketing automation using products like Acquia Lift and Mautic are the latest trends in building ambitious digital experiences, and I think they are here to stay. One of my takeaways from Acquia Engage is personalization can make our lives better.
Personalization
I see personalization having two possible impacts on digital experiences:
Personalization can try to sell more products and services to users, or it can sell a better product and provide better service.
I lean toward the latter because I’d rather have a company make it easier for me to buy the things I want, rather than a company trying to sell me something that I don’t need or want. On a side note, I am gradually becoming obsessed with Voice Assistants, like Alexa and Google, because they have to potential to make our lives easier. For example, I would love to have Alexa buy me movie tickets at my local theater in one or two voice commands. For this to happen, Alexa is going to need to have a comprehensive user profile about me, which is then used to create a personalized voice experience. We are not exactly there yet, however, soon personalized digital experiences are going to be the norm. The immediate challenge is figuring out how to get there.
Crawl, Walk, Run Methodology
Personalization is challenging to get started with, which is why everyone is using the “Crawl, Walk, Run” methodology for gettings up-to-speed with personalization. “Crawling” begins with collecting data, “Walking” starts when organizations can understand and segment their users, and finally “Running” is creating personalized, individualized user experiences. To me, the real lesson of the “Crawl, Walk, Run” methodology is its emphasis on the value of stepping back from a complex, challenging problem, figuring how to understand the problem, followed by outlining a solution, and finally implementing the solution.
The Webform module tries to solve the problem of collecting and distributing user data via forms. For personalization to work, user data needs to be collected from multiple channels and data points. Webform is one of many data points within a person’s user experience.
Webforms and Marketing
Shefali Shetty at Specbee just published a blog post titled, Marketing Simplified - Top Drupal 8 Modules for Marketing Automation Every Marketer Needs, where Webform is one of the first recommended. As Shefali states
“No, the Webform module is not a marketing automation module but is one of the most vital building blocks of an integration between Drupal and other third-party marketing automation software.”
The blog post then proceeds to highlight some marketing-related modules, including a few CRMs and Mautic. Shefali’s blog post does a great job of showing what’s possible with marketing automation and recognizes that webforms are a key part of the process of connecting with users.
Webforms and Data
A form is one of the largest data points when it comes to personalization and marketing. Forms are one of the only data-points where users deliberately and intentionally share a lot of information with an organization. A well-designed and easy to complete form can collect a lot of valuable information about a site’s users. In some cases, forms are the most immediate indicator of a website’s ROI, because a user filling out a form is either a potential or actual paying customer. It is important to ensure that users can and will fill out a form.
Webforms, Testing, and Variants
Building intuitive, easy-to-use, and accessible forms is a good investment that leads to better user experiences. Building a great user experience requires an iterative process of planning, implementing, testing, and improving. The best way to confirm that an improvement or experiment is successful, is to perform an A/B test where the original and improved variant is randomly presented to end-users, and each variant’s success rate is tracked and then compared. Being able to create variants of a webform makes it easier to create A/B tests. Webforms that support variations should also be able to support personalization.
A variant is a form or version of something that differs in some respect from other forms of the same thing or from a standard.
Webforms and Personalization
Good personalization begins with finding a common starting point and then tailoring the user’s journey. For example, a user visits your homepage and the different targeted variation of the banner changes based on the user’s demographics.
Shouldn’t forms be able to provide personalized user experiences?
The Webform module supports conditional logic, which can hide/show or require elements based on inputted and computed values. Conditional logic is limited when it comes to which aspects of a form’s user experience can be changed. For example, replacing a form’s labels, descriptions, and behaviors is not supported by conditional logic. Conceptually, personalization means any aspect of a user’s experience should be alterable as long as it provides value.
Being able to personalize a webform sounds like a daunting task, especially considering many people, including myself, are still getting comfortable with personalizing a callout on a homepage. Using the “Crawl, Walk, Run” methodology might be the best way to take on the challenge of creating a personalized webform and figure out the best approach to implementing them.
Crawling - A/B Testing
Crawling begins with collecting data and testing a hypothesis.
Personalization can only begin when user information and statistics are collected and analyzed. Most websites have some basic page views analytics setup. If, after completing a form, users are directed to a dedicated confirmation page, which is the default behavior for a webform, then form completion rates are already being tracked. Knowing if a form is completed makes it possible to perform some A/B testing.
A/B testing allows teams to start thinking about how they can improve a form’s user experience, test their theories, and collect meaningful data. Frankly, before any form personalization can begin, teams need to understand their users and provide a thought-out baseline user experience. Knowing if a website’s targeted audience is okay with long multi-step forms compared to short compact one-page forms helps designers and site builders to establish user experience guidelines and style guides.
The goal of A/B testing is to start collecting meaningful data about users and to start improving user experience by gradually testing and confirming the success of small improvements in a form. A/B testing encourages digital teams to think about the different variations of a form, which then leads to building form variants that target specific audience segments.
Walking - Segmentation
Walking starts when specific audience segments are targeted.
Instead of building form variants to A/B test a hypothesis, segmentation is creating form variants that target specific audiences. The goal is to create a tailored user experience that makes it easier for different types of users to complete a form. Segmentation could be as simple as showing and hiding form questions based on conditional logic. Advanced segmentation would entail changing the language, messaging, and tone of a form based on the current user type.
For example, on an appointment request form, changing an input’s label depending on whether someone is a patient or caregiver could make people feel more welcome. Asking for ‘Your first name’ or the ‘Patient’s first name’ is more direct than just the label ‘First name’. This might seem like a silly and nuanced change, but take this example and apply it to a form being completed using a screen reader or a voice application. We should all care about form accessibility, and one day our forms are going to have to be voice friendly. Forms are going to have to be personalized based on the current user’s information.
Another benefit of segmented forms is the submission data could be saved to the same place with the first piece of data being the user type/segment. Once we have a comprehensive user profile then we can start thinking about personalization.
Running - Personalization
Running occurs when a form is personalized to an individual user.
For me, a personalized form means a lot more than conditional logic and segmentation. A personalized form might begin with fully identifying a user and pre-filling in any known information. Form labels and descriptions might include a user’s name with appropriate pronouns. A truly personalized form’s user experience should interact and respond as a user enters information.
A personalized form is going to have to ask the right questions, in the appropriate tone and at the right time.
Voice user interfaces (VUI) are still evolving with the end goal of computers, with AI being able to engage in seamless conversations. Forms are currently one-sided, somewhat stilted conversations with a user that collects information. Personalized forms should be a flowing intelligent, even empathetic, natural, and productive conversation with a computer.
My hope is a personalized form’s user experience, possibly through a voice user interface, will result in the end-user simply feeling that they just had a pleasant conversation with a computer, which helped them get what they need. We are most likely a decade or two off from this goal; for now, we need to start crawling and walking for a few years, and then we can move on to running.
What’s next?
For any type of personalization to occur in the Webform module’s user experience, webforms are going to have to start supporting variants. Being able to create and manage variations of a webform will open up the Drupal community to performing A/B tests and building out segmented forms.
I am actively working on adding variant support to the Webform module. I will follow-up this blog post with a more technical post about how to use webform variants to create A/B tests and segmentation.
To build that impossible ‘pie-in-the-sky’ intelligent, personalized form user experience, we are going to build extensible and reusable APIs that hook into personalization engines and inspire the Drupal community to do what it does best…collaborate. As always, I can’t wait to see what we all come up with.