 We're going to get started in just a moment. Wanted to ask real quick, which of these kind of three sections here is the most hungover right now? Which one? It's just the middle one, I think. It's just a fun, silly thing before we actually start the session today. I'll ask you to join me in this. When I say go, I'll ask you all to just applaud like crazy as if what I just said was the best thing you've heard at Drupalcon all week. And the people walking by in the hall will really want to come in. OK, here we go. Ready? One, two, three, go. This is the session to be at. So we'll get started. Welcome, everybody, to web personalization for Drupal, your roadmap to get started. My name is Dave Sawyer. I'm a Senior Solutions Architect at FFW. Right here is my friend, John. Hi, my name's John Money. I'm a Solutions Architect at Acquia. Here's a quick overview of the agenda. What we'll be talking about today will be sort of defining what personalization is relative to digital experiences. We'll talk about some of the benefits of implementing personalization and some of the challenges and risks associated with it. We'll talk about the prerequisites, the things you should be thinking about before attempting to implement a personalization strategy. We'll review some of the criteria for how content and experiences can be personalized. John will walk you through personalization practice with an example use case. We'll talk about some specific Drupal modules and other solutions for Drupal. And we'll close by summarizing why we think Drupal is the best CMS for personalization. And we'll have some time for questions at the end. So first of all, what is personalization? Well, in a broad sense, I define personalization or web personalization as tailoring a digital experience to the interests and needs of an individual user. In other words, it's about delivering a relevant user experience to each visitor of the website or application. It's about delivering the right content to the user when they need it most. Nearly 75% of users get frustrated with websites when content offers, ads, promotions, et cetera, appear that have nothing to do with their interests. There have been many studies to back this up. And if you think about it, it's just kind of makes sense. Users want and need what's relevant to them. But it's not just about relevance, it's about timing and other contexts. It's about the information they need at the time that they need it to. So personalization really is a process of optimizing a digital experience. More so than just time and other contexts. It's about the right content at the right place and the right channel at the right time and the right format on the right device in the right language, et cetera, et cetera, et cetera. So really personalization is a way to take a digital experience and optimize it with all of these factors so that the digital experience is most effective for the given business objective. So what's new about personalization? When first doing this talk at Drupal camps and other places, one of the questions that came up in early discussion is, why is this a hot topic today? Many of you may be familiar with this topic in digital marketing. Why is it a hot topic today? And if you look, here's an image from Google Trends that shows just the word personalization. We see an increase over the last 10 years or so. And if you look on blogs and other media, we continue to see more coverage of personalization in digital experiences. So think way back. Anybody here, was anybody here developing for the web or working in a web capacity in the 90s? So we have many of you, right? Netscape Navigator. So this is actually a screenshot of my Yahoo from about 1999. And what you see here is personalization calls to action way back in the 90s, right? Personalize this site, customize to see only things of interest to you. So obviously personalization on websites has been around a long time. And certainly if you look at my Yahoo, this is something closer to today, we see the same idea, right? It calls to add content, personalize the experience to your needs. So really the question is what's new about personalization? Well part of what's new is that changes in both culture and technology today have resulted in a shift of consumer expectations. Brands like those you see here have set the new norm. People who use Netflix, Amazon and other services are accustomed to having digital experiences tailored to their specific needs. And so the basic idea is that since this is becoming the new norm, the customers of your given businesses are also having similar exceptions, which is why John and I both feel that personalization is no longer a nice to have or an extra add-on optimization, it's becoming an essential part of delivering an effective digital experience. Amazon is a great example. Almost every aspect of the digital experience or the shopping experience on Amazon is personalized to each individual customer. When you ask buyers what they want from their shopping experiences, they tell you they wanna be recognized. They wanna be valued and they wanna be known. This is a quote from a research director at Gardner. So there's this idea then of what's referred to often as one-to-one marketing. Wikipedia defines it as a marketing strategy by which companies leverage data analysis and digital technology to deliver individualized messages and product offerings to current or prospective customers, which really brings us back to the question what's new about personalization. This is really at the heart of it. Personalization today is really referred to as real-time personalization, which I define as identifying site visitors based on various criteria and serving targeted variations of content in order to deliver the most relevant experiences to each user. Oftentimes, if we're thinking of personalization as a process of site optimization, when we're trying to optimize the site, we're trying to improve something. We're usually trying to increase something. So in most cases, we're looking at some sort of a lift or an increase on a metric. So in a higher ed environment, for example, maybe the business objective is to reach more prospective students. Maybe a publisher wants to reach more paid subscribers. A corporate or B2B site wants to maybe generate more leads off of their website or a social cause or a nonprofit site wants to get more donors, for example. But in all cases, the process of optimization is focused around a specific business objective and therefore a metric that you're trying to improve. And personalization is used as a strategy for just this purpose. In other words, it's a way to contribute to growth, benefits and challenges. The benefits of personalization are clear and there have been many, many studies that won't be able to elaborate on all of them today that talk about why personalization can really yield some very, very valuable and positive results for your businesses. Companies that use data to deliver personalized experiences have a 49% higher revenue growth and 30% higher ROI than those who do not. We see the benefits, including positive impact on conversion rates, higher stickiness of content, increased levels of user engagement and businesses having deeper insights into the customer's needs as a result of this process and really a more effective website or a more effective digital experience overall. Well, that sounds great, but it turns out while this concept is actually easy to understand, the process of implementing personalization is actually very challenging. And I think that's because personalization is not one distinct skill set. It actually touches across a lot of different areas. It involves content strategy, user experience, visual design, digital marketing, and certainly web technology. So implementing an effective personalization strategy involves lots of discrete skill sets that are often difficult to assemble within an organization. And this is not something that is specific to one business or one industry. Many studies have been done to back this up. 75% of marketers believe that personalization is important to their organization's long-term goals, but most have a long way to go to arrive at efficient effective personalization for their customers and prospects. This was from a digital marketing optimization survey conducted by Adobe just a couple years ago, and this remains very much true today. This is certainly something that we found in talking to our clients at FFW. So many, many common challenges. I'm not gonna read them all, but some of them include technical complexity, performance, and caching problems that are introduced by the overhead of dynamic content, barriers with IT, privacy concerns, depending on what country you're in. This can be more or less of an issue. Lack of in-house digital marketing, et cetera. So the whole process can be overwhelming. So the question is really where do I begin? How do I get started with personalization? Before you get to a very advanced and complex strategy, what are the first steps to take? And the way we'll approach answering that question is by walking through just a short list of prerequisites, things that you should have answers to or have a process for before you embark on implementing a personalization solution. So the first prerequisite is how you'll segment your audience. The concept of visitor segmentation is really important to personalization because when we remember what we're doing is we're taking our content and we're tailoring it to each different types of user. So segmentation, therefore, is the process of dividing up our audience into distinct groups based on some set of criteria. And how you'll approach this is specific absolutely to your business. There's no one way. This may be demographic in nature, breaking audiences up by age, for example. This may be more to do with what market segment or customer segment they are. This may have to do with more traditional marketing personas. We spoke briefly before about a higher-ed example, the idea of targeting content to prospective students as opposed to alumni, different segments or audiences in that way. You'll need to have some answers to these questions. Pre-requisite number two, understand how your customers engage. So simple but so important. Many businesses, surprisingly, are not completely in touch with how their customers are engaging. And I believe that's not because they're ignorant to the fact, that's because that the industry is transformative and evolving. So while they may have been really having insights into how their customers engaged a year or two ago, they might be losing touch with how their customers are engaging today. It's important to research and understand clearly how the segments engage with their business and what the buyer's journey is, what the different steps they take along the way in a purchase life cycle or buying process. This typically will involve a research process, some discovery or some process of documenting what the customer's needs are along the way, certainly talking to customers. If these aren't skill sets that you have internally in your team, work with a consultant or a digital agency that can bring these skills to the table. Pre-requisite number three, develop a content strategy. Or if you already have one, ask questions about how your content strategy should adapt to personalization. And remember, it's not just about writing content, it's about writing lots of variations on content that are targeted to different types of users. And producing content and producing quality content is certainly a challenge for many organizations. In personalization, we need to be thinking about the reuse of content and the content across different channels. And of course have a great CMS that enables non-technical users to effectively update content. Rock on Drupal. Pre-requisite number four, define how you will measure success. A process of optimization is essentially pointless if you don't know if it was successful or not. So it's important to know going into it what metrics you're gonna use to determine if it worked. Oftentimes this involves configuring your analytics to surface important metrics so you understand. Metrics may be something as simple as a conversion. In other words, maybe the number of people that hit a thank you page after a sign up form. Metrics could also be much more complex KPIs. But in any case, it's important to know what those metrics will be so that as you implement personalization, you know what you're gonna measure your optimization against. And finally, prerequisite number five, adopt a data-driven mindset. Personalization is inherently experimental. It's about making some changes, targeting some content and seeing if it performed effectively. So as a result, we rely heavily on the data-driven approach. We rely on our analytics. We rely on the numbers to inform if the process was successful. If you don't have in-house expertise with analyzing your analytics, again, work with a consultant or a digital agency who can bring those skills to the table and enjoy digging into the numbers if you're not already doing so. They're gold. They're absolutely full of insights. As a tip, for those who are not really into analytics but wanna develop some just basic familiarity, Google provides free online training through what they call Google Analytics Academy. It's very easy. You can walk through some of the key concepts in that way to get yourself up to speed. Be prepared to experiment. Good optimization is about testing and determining what performs best. So you'll probably have some optimizations or some personalizations that don't work out. And that's okay. In getting started with personalization, it's important to be aware that this process is inherently experimental. So again, following a data-driven approach to determine what works and what doesn't and being willing to try some tests and make some experiments is the name of the game. Try using a tool that makes building quick variations of content easy for non-technical users. A, B tests, for example. And as always, focus always on experiments that can be measured. So we're gonna walk through briefly some of the criteria that's used to personalize the digital experience. What do we use to tailor the content? How do we know who gets to see which content and who gets to see the other content? In this conversation about personalization criteria, the categories involved are often two things, implicit and explicit criteria. And conversations around personalization strategy often think of criteria in this way. Implicit criteria being criteria that's implied but not plainly expressed. These are often the basis for predictions or indicators of a user's intention without actually knowing what their intention is. So an example would be looking at the click path a visitor takes through your site and making assumptions essentially on what their interests are based on what content they viewed. Explicit criteria, by comparison, is criteria that's just clear, leaving no room for confusion or doubt. Examples would be this visitor is connecting from Safari on iOS, or this visitor has chosen a language preference of English. It's explicitly stated, it's not assumed. Other criteria involves personal data provided by the user, personal data such as age, gender, language preferences or interests, et cetera. This often involves something called self-selection or self-identification. So an example might be topic subscription. Someone on a news site fills out topics or categories they're interested in and news is displayed relevant to the categories they explicitly stated. Here's an example of just that thing on NBCNews.com. Another category of criteria is non-personally identifying attributes. So these are attributes that are automatically detected by the website in this case. This can be based on IP address to determine their approximate physical location. The type of computer or mobile device, the browser they're using, the operating system they're using. And a simple example of this would be geo-targeting for regional content. If you've ever typed in Huffington Post, if you're in the US, it automatically takes you to HuffingtonPost.com. If you're in the UK, it takes you to HuffingtonPost.co.uk. The user doesn't have to choose their country in that way. This is detected automatically and the user is directed to the most relevant site for them. User interactions, how are they interacting with the site or app? What are the attributes of that user session? For example, what's the date and time when they're accessing the site? What is the referring URL that brought them there? What click path did they take through the site? If your site uses a search feature like a Drupal's built-in search feature, for example, what keywords are they typing into the search feature? If they started to fill out a form and then abandoned that form and didn't complete it, what fields did they fill out and where did they kind of fall off in that way? So all aspects of the interactions can be used to inform a personalization strategy. And finally, first and third party data. Visitor history profile data collected from third party services. For example, a CRM like Salesforce has a customer record. If you can identify the visitor as a specific customer, then you can make that connection between that user and the record that is in your Salesforce CRM and use data in that Salesforce record to inform what content they see on the site. For another example, if your site uses a login with Facebook feature where they're identifying themselves, you can use data from the Facebook social profile again to inform what content you present to the user in the digital experience. Earlier I talked about back in 1999, my Yahoo had personalization features in it. Personalization for authenticated users is oftentimes a lot simpler because the user is logging in inherently identifying themselves in the process. In this way we see content being personalized on retailer sites like Amazon.com, membership sites, dating sites for example, match.com, highly personalized experiences, recommendation engines like Netflix and Pandora, but in all these cases the user's logging into an account where they have some history and preferences to personalize against. What tends to be a little trickier is personalizing for anonymous users where there's no person logging in necessarily. They start out as a completely anonymous visitor and in this process we build a profile over time and we take any information we have initially and we start to store that in the profile and we go slowly from completely anonymous to someone that we start to understand more and more about as they continue to interact with the site. I'll now hand it over to John who's gonna walk through an example use case. Thanks Dave. Before I start how many people here in the room already have personalization on your own properties or for your clients that you're working on right now? That's about half, that's fantastic. So I ask that about, I do a lot of demos, many, many, many demos in my job and I would say well over half of them involve personalization today. So it's a pervasive topic. I'm gonna take the framework that Dave kind of laid out and boil it down for actual clients that we've implemented. I've kind of protected the innocent and scrubbed the actual clients in this case but this is how we approach personalization on their properties. In this case we're gonna talk about Drupal University. And the first thing we wanna talk about when we do an implementation like this is taxonomy, right? You really have to understand the categorization that's specific to your business. This is probably one that's adaptable if there's any universities or EDU institutions you can probably take that as is, more or less. But your business is gonna differ. But this is the critical first step is building your taxonomy. This next step is identifying the journey. What is it that we want visitors to do throughout their life cycle with your property and what are the specific goals that we want them to achieve? And this is again is something that we've mapped out for some of our clients in different industries. I'm gonna focus on just the first step because when we think about implementing personalization as David said earlier, it's about showing immediate result, right? It's increasing the funnel. It's increasing the value of customers. So for a university, it's usually about acquiring new prospect students. So drilling in, we're gonna look at an example here. This is Taylor. Taylor is a high school junior. And she's coming to your website for the first time. She's going to immediately begin to tell you things about herself just based on her click trail. We call this behavioral personalization. Based on her behavior, she's raising her hand and telling you what she's interested in. So she's gonna click on the admissions page there and she's gonna drill down into undergraduate admissions and right away, we can begin to segment her into an audience. We can segment into her based on what she's looking for. And when she comes back, whether it's the same visit or a week later, we're gonna tailor her call to action. In this case, we want to have her move to the next step of some sort of funnel. Usually the first step of a funnel for a university is come on site, right? We want you to come on site and see the campus. And so this would be a good example of a call to action. Moving on, we might say that maybe it's a month later, she reads an article in TechCrunch and she's starting to think about what she's gonna do with this university. Really picture herself attending there. And the next step would be what's her major going to be? So we want to begin to tailor the experience based on that major, that Express major. Smartly, she's going to major in computer science and starts to read some articles. And the key thing here is that it's not always, it's not always when you're doing behavioral personalization, you don't want to just pick up and automatically put someone into a category. She might have accidentally looked at anthropology. I hope there's no anthropologists in the room, but she stumbled in a different field. We want to see what her interest is and then aggregate that and say, where does it rank among all possible interests? So there's going to be some sort of ranking algorithm for saying that she's really definitively interested in computer science. And it's a very simple example. It might be a trigger that she read three or more articles on this particular topic. So again, when she comes back to the homepage, there's your call to action. We're trying to give her messaging that is specific to why you want to come to DrupalU, why you want to major in computer science. Look at all these people that we're graduating and they're getting great careers. And the next step, apply now, right? Continuing to drive towards the funnel. I'm going to switch gears here and look at another audience. This is going to be Taylor's mom. Taylor's now talking about DrupalU all the time, every night at dinner table. And so her mom comes to the site and wants to see what this is all about. So her experience is the same. She starts out at the homepage. It's not personalized. She clicks on the parents link up top. And right away, we're going to be able to put her in an audience that just like we wanted Taylor to come to this campus, in this case, we want D to come and we're going to highlight there's a family weekend, come see other parents and that sort of thing. So we can personalize the content that we're delivering to her right away. But really what we want to do is overcome her, she's going to have natural barriers to should I apply at this school? Have my student apply at this school? What are the issues? And financially, it tends to be one of the big ones. So we want to drive Taylor's mom now and D through this process. And what that's going to look like is, again, trying to pick up cues on the things that she's interested in. In this case, she's reading articles about, is it a good value school or investing? Am I going to get a return on my investment for Taylor, her child? And we're going to put her into a segment. She's now a value buyer. We know that's what's driving her. And the call to action here is financial aid. Back to the homepage, apply for financial aid. Let's go ahead and try to get her through this process, the beginning of this process so that her child can actually come to the school. So we might present a price calculator. So she has a good understanding of how much it's actually going to cost to attend DrupalU. But based on her completing that price calculator, what we're going to be able to do now is really surface to D as she comes back to the site, the things that are really important to her. It's not just driving her towards a decision. It's when our financial aid deadlines and have you applied for these scholarships and really kind of making DrupalU a better experience for their consumer, parents and children than other competing universities because presumably Taylor's looking at other schools as well. So I'll stop there and turn it back to Dave. Thank you, John. So now we'll talk a little bit about how to implement personalization on Drupal specifically. Implementing personalization today on Drupal actually depends very much on whether you're using Drupal 7 or Drupal 8. But in both cases with Drupal 7 or Drupal 8, the name of the game is taxonomy and metadata. In other words, structured content is key to any personalization solution. Specifically in Drupal speak, using taxonomy vocabularies and lots of them to describe content in many different ways. These taxonomies, tags or categories can then be used to inform how the content is targeted. Let me walk through just a few quick examples. Imagine five different taxonomy vocabularies that are exposed on one or more different content types. And as the content editors or marketers are filling out the content type forms and adding new content, they're filling out and tagging the content in all these ways that are not showing up in an outward facing way to the customer. They're showing up internally in the Drupal CMS so that we have classified the content in a lot of ways that are relevant to digital marketing or business objectives. One would be persona. We showed a slide earlier for higher ed with different tags or taxonomy terms to describe basically the marketing persona that the content is intended for. So if you run a corporate blog, for example, tag each blog post with the type of customer you're trying to speak to with that blog post. Other examples might be customer level. In other words, distinguishing between content that's really written for someone who's a new customer or someone who would like to become a customer or someone that is a long-term customer has been a customer for a long time, having different voices in those content and tagging them appropriately. Another one is a buying process step or what step of the purchase lifecycle or customer journey. For example, content that's targeted towards people who are in the evaluation stages of making a purchase of the given product or service might be distinguished between content that is written for customers who are ready for purchase or maybe have already made a purchase and are looking to become a repeat buyer in that way. Content, what I call content subtype or content format can often be a way to classify content a little bit further than just content types. So a good example of this would be a blog. Many websites that have a blog will use the blog content type in Drupal for all of the blog posts. But in reality, when you are maintaining a blog, maybe some of your blog posts are in the format of a short kind of update. Maybe another format is like a Q&A format, et cetera. So sort of subtype classifications of all of the content within a content type to define how that it might be segmented or targeted or recommended. And finally, content lifespan. Sometimes we write content that is time sensitive. The content or the nature of it is really only relevant for a period of time. Other content, a little bit more evergreen that lives for a long time. And we can tag our content in this way to indicate how it might be shown or not to a user. If you are using Drupal 7, like many of us still are, and you wanna have a proof of concept, a way to kinda get your head around what's involved with setting up personalization on Drupal. You maybe wanna do a prototype internally to do a demo. There's a module called personalization that I think is really ideal for this purpose. And the reason is you can download it, install it, and sort of out of the box, so to speak. It provides some of the functionality we've described today. Basically, it uses a taxonomy-based approach that maps either the user's location, physical location, or browsing history to relevant content. It provides a connection with a third-party service that does the location detection. And it provides the means of automatically associating what content they viewed to other content. And the way it's doing that, again, is with taxonomy. In other words, if I view a number of articles that have all been tagged with baseball, then it knows to recommend in a block other content that's been similarly tagged with baseball. And it provides this built-in functionality. It also includes a customizable scoring algorithm so you can use code to hone and tweak. What that looks like very quickly is when you install it, it enables a site personalization option in the configuration screen. You would set up your personas in the form of a taxonomy vocabulary like this. It also provides a search keyword mapping option, so if you do use the built-in search feature of Drupal, the words that they type into that feature can be used to map to a taxonomy term, which in turn can be mapped to content that's also tagged with that term. And basically what it's doing is setting a cookie on the anonymous user with some unique ID like that that's depicted here. And it's creating tables in the Drupal database that store this information and the individual profiles of the user. If you wanna do something a little bit more advanced, again with Drupal 7, then you can use the personalized module and the accompanying module, Visitor Actions. These modules are developed and maintained by Acquia and they're good for a more comprehensive or a complex implementation on Drupal 7. They use what's called a decision agent approach to define criteria for automatically serving the most relevant variations of content. There is no Drupal 8 roadmap with this approach, I should note that. But if you do install this on your Drupal 7 site today, similarly it exposes a personalization settings option in your site configuration area. And you'll see instead of just one module, it actually comes with a suite of modules which can be enabled to provide lots of different personalization functionality. The site structure menu in Drupal exposes some new options that allow you to configure how your personalization campaign is structured on your site. And basically a simple example using this module might look like this. Let's say we have two blocks in Drupal. In this example might be for a travel company. And there are two promotions. One is a travel package for Paris and one is a travel package for New York. So the idea is we configure these two possible blocks as a variation or a variation set. And we configure that using the UI provided by this module. Then it has this concept of a campaign, meaning once this has been configured we can turn the campaign and the personalization campaign is then running on the site. It can be paused or enabled at any time. And it uses a kind of who, what, when metaphor to configure how the personalization campaign works in your Drupal site. In other words, what variation set should be shown? Who is the targeted user group or persona or visitor segment that should see it? And when should that be displayed? This again is from the configuration option from that module just showing some of the details on how it exposes UI to make these types of configurations. What we're looking at here specifically is a very simple implementation that just uses URL parameters. In other words, we have a page that depending on the UTM term parameter in the URL a different block will be swapped out and displayed. Simple URL parameter block swapping. So again, there's many different types of criteria that can be used. This example is just showing some URL parameters but this can be completely customized and configured as well. So everything we've talked about so far in terms of these modules is enables you to personalize content with Drupal without the use of a third party service. But most effective personalization solutions today involve the use of a third party service and there are many reasons for that. One of which is that when we're personalizing to anonymous visitors, what we're doing is we're making pages that might have been completely cached before, completely one size fits all. All of a sudden those pages are dynamic for everybody and there's a performance overhead to that. All of a sudden anonymous page views have database reads and writes. So there's a performance overhead to doing this. A best practices approach is to externalize the user profiles for these anonymous visitors into some other system. And there are many of them in the marketplace today. I'll touch upon just a few right now. The first I'll mention is Acquia Lift. Won't be going to too much detail on Acquia Lift today but if you're evaluating a personalization solution for Drupal, you might wanna take a look at Lyft. It provides deep integration with the Drupal API and it provides this idea of an externalized user profile. It works across channels and allows you to target content using Drupal and an external web GUI interface. Other examples in the marketplace of a third party service that enables you to do personalization on Drupal sites are Optimizely. Optimizely historically has been a testing and AB tool, AB testing tool optimization tool. They now have a personalization product offering. This works unlike the previous example, this works using more of a JavaScript approach where you're embedding JavaScript in your Drupal site or in your templates and the third party external personalization engine is swapping out content for you dynamically. And another one is Everdage. Again, similarly a third party service integrated into your website platform independent allows tracking visitor behaviors and provides the real-time personalization option that's configurable externally through a third party GUI. So I'll pass it back to John. Thanks, Dave. So I wanted to kind of take it high level and take a step back where Drupal con and I'm often asked why would I use Drupal as a CMS and then I'm further asked what advantage does Drupal have for personalization relative to WordPress or Adobe or site core or something like that. And I thought I'd share up some thoughts with you on that today. And regardless of which way you choose to do personalization whether it's a Drupal only approach or use a third party service, you should be leveraging these kind of fundamental building blocks of Drupal and I'll highlight what it means for personalization. So here's that word again, taxonomy. And I think we've said it 15 times but it really is the alpha and omega of personalization. And what I specifically mean is that because it's a core functionality of Drupal we have the ability to do things that other systems don't. For example, there's UX considerations. I want to lower the burden for my content editors and marketers to tag all of this content. How do I do that? Well, there's lots and lots of modules that improve the taxonomy interface. Taxonomy in term reference is one of my favorite but there's also automated tagging based on textual analysis using tag API or open Calais. So we can continue to tag our content for appropriate personas and audiences and segments and all that good stuff without human intervention which is an important thing. A second major benefit of taxonomy relative to other systems is that it's core entity. And for those that don't mean the room what that basically means is that it's fieldable. I can add other fields to the taxonomy term and it's exposed through services APIs. Why is that important for personalization? Well, sometimes this taxonomy or categorization needs to sync up with other things. For example, analytics. How am I going to sync up my categories between Google or Site Catalyst with Drupal? Services API is a perfect way to do that. I can move the terms back and forth between these different systems and have my analytics match up what Drupal sees. The fact it's fieldable is also pretty important. Imagine we have a vocabulary describing location and it's very simple. In Boston and New York and LA and New Orleans there's other ways I might describe location. I might describe Boston based on zip code 02109. I might describe Boston based on its DMA code 508 if I'm coming from the advertising world. The idea is that I can take a single concept, Boston, and through the power of fields, extend what Boston means. It could be just the text Boston. It could be zip code. It could be a DMA code. Having these things fieldable turns out to be a really powerful thing. Second thing is the content modeling. And one of the things that I'd love to talk about with Drupal is that all the content required to move a visitor through some sort of journey, buyer's journey, can be done in Drupal. And it was the best practice I would suggest that you model it that way. So if you have a very simple model, this is a very simple model of awareness and research and consideration and decision, you might choose a different model. But there's corresponding content types that apply to each one of these stages. So if I'm just trying to get, are you aware that you have a problem that I can solve? I might do that through a blog post or an infographic. And that content type of what needs to be served to a visitor at that stage of the path. Now that I know that I have a problem, I'm starting to do research. Is this the right solution for me? And how do I do that? I do that through education materials, customer reviews, testimonials. I'm basically trying to get peer support in terms of is this, they're solving a problem. Just like mine, that seems interesting, great. Now I'm actually gonna consider, yeah, I might purchase this thing that you're selling. What I need for that, I need content like webinars and videos and white papers and analyst reports. And then finally, I'm at the final decision. I've narrowed it down to a couple of vendors. You're on the short list. What do I need now? I need case studies. I need ROI calculators. All of this content is modeled. You can model inside of Drupal. And the power of doing it that way is I could pull out the appropriate content based on what stage you're on. We've talked a little bit about reusable content. I call it atomic content. But the idea here is that as you're beginning to think about personalization for Drupal, you may be breaking apart some of your content types that work perfectly well without personalization. But now I need a really atomic. The good thing is Drupal's happy to do this. We don't presuppose it's a page that you're rendering this content on. It might just be a block. And this block can play in lots of different places. That block might be delivered to an email, for example. That block might be delivered in other channels that I want to personalize your content on. Maybe I want to take the content from that block and put it on a social channel, for example. A lot of what we talked about is rules-based personalization. The easy way to think about that is if then else. If you are in segment A, then I will show you content B. Drupal, of course, does dynamic personalization. And for any sort of strategy at scale, you're going to end up here. You're going to end up with programmatic personalization hopefully because there just aren't enough hours in the day for marketers to build campaigns. Fortunately, these are again cornerstones of what we call Drupal. Views and particularly views arguments is a very powerful way to do personalization. What I'm showing here in the little sidebar is I'm going to build this segment for a particular location. Again, here's Boston. Do I really want to build 500 segments, one for every possible city? Probably not. What I really want to do is just feed in the city and let Drupal figure it out. What content works for Boston? What content works for a given persona? So there's ways to do that. Views, basically looking at term analysis. The similarity by terms is for both D8087, content recommendations using external libraries. These are all ways we can do dynamic content with Drupal. And the last thing I want to talk about with Drupal is if we break down how we create our content, we can get really powerful results. And I call this contextual rendering. One of the first steps that we do with personalization is we're going to do a content audit. We're going to figure out what content you have, what personas you want to talk to, and it just becomes an M by N sort of grid. You've got five personas and five possible products. Great, I need a lot of content. Go to work. Go to your homework and create a lot of content. In reality, that's probably not scalable. In reality, what you probably want to do is something closer to contextual rendering. And the best example I can think of this that we all do or at least think about doing is mobile versus desktop. The things I want to achieve on a mobile device are going to be different. The content I want to consume on a mobile device is going to be different than what I want to do on a desktop or long form versus short form content, depending on who the visitor is and what they've told you implicitly like I'm watching lots of videos. Great, let's surface more videos because that's what you like to see. I'm reading all the way to the end of page of really long form content. Fan, you're in the research phase. I'm going to show you more long form content. So we can prioritize and reorganize it by putting meta content around the actual content. What I'm showing here on the side is I've broken up a page into individual paragraphs and this is using the paragraphs module and then I'm adding the actual taxonomy segmentation to the paragraph level. I don't want to do that because with that metadata and this is pretty easy for an editor to say, great, this paragraph is related to multi-car family. If I feed in multi-car family as my segment argument, I can have this paragraph float to the top and be more prominent. The rest of the content is still there. I don't have to write a landing page just for multi-car families. What I want to do is highlight what's important to them. So we've lived a little bit of time here for some questions. Thank you so much for coming to our session today. If anyone has any questions, there's a mic right over here in this aisle if you wouldn't mind stepping to the microphone and we'll take any questions you have. I'm really loud so I just want to... Okay, cool, I'll repeat the question. I think, no, it's feeling like you're all up. That is a good question. The question was, how do we not get up in our customers' grills? Great question. The question was, personalization can be creepy. I consider this to be, refer to this as privacy concerns, right? Anytime we're capturing personal data, capturing users' data and using that data in some way, we absolutely have to be sensitive to that. There's no one answer to this. I believe that the way to do this, number one, first and foremost, is implement personalization in small steps along the way, using basic information that is based on criteria that can be automatically detected by the browser or data that the user has explicitly provided and to make sure that the user is aware contextually as to how you got their data, I think is key, but it really does depend on the business case. I think it's an excellent question and the name of the game is being sensitive to the privacy policy of your given organization. I would add that a lot of what we do with personalization is analytics in another name, right? I don't think there's a single person in this room who doesn't use analytics on their web properties. You'd have to. So the type of information we're personalizing on, you're already capturing for the purposes of analytics. If we're talking about PII, then that needs to be explicitly called out and just don't put it in the system if you don't wanna record it. There's ways to anonymize the PII and still make it unique through hashing and things like that. So we work through those concerns in certain industries. So healthcare industry, that's a pretty big concern. Even in government, we see personalization in government. So there's a state of Georgia wants to do personalization, but they don't want the big brother effect, right? They don't wanna know you for all of time versus maybe a B2B company wouldn't have that concern. So what they've done is they've shortened the session of personalization, meaning that I'm gonna learn about you in the current session that you're in and then I'm gonna forget about you. Well, what's the point of that? Well, the point is just very quickly, I can see, oh, you're from out of state. Now, let me surface relevant information and let you find what you're looking for. You're looking for relocating to the state. You're looking for starting a business in the state. So in that session, I can be a lot more relevant, but not know that you're moving here a week from now. Does that help? Question right here. I've done personalization in D8. Thank you for asking. Great question. So I think what we were emphasizing in the talk today is taxonomy and metadata. Obviously, that's the focus of an approach as far as Drupal is concerned, and whether D8 or D7, that's gonna be true. I used examples in this presentation of specific contrib modules that provide a starting point or a framework. Those modules are only available for D7 today. That's why I didn't show D8 modules in that way. So a D8 solution today, at least at this point in time, in terms of the D8 cycle, is gonna be more of a custom approach, again, based on taxonomy and metadata in that way. That's how we would approach it, for example. Yeah, I would say that from AQUIA's perspective, that D8 is really exciting for personalization. So if you're going down the road of using AQUIA Lift, D8 is something we'll absolutely support today. The exciting part about where we're headed with the product is that, because of the way we've approached building campaigns, we can deliver personalized Drupal content onto other platforms. That's where we wanted the product to go. So that Drupal becomes the source of truth for all this content, it's used with, but the actual, what we call the actual class, yeah, the actual displaying the page, doesn't necessarily have to be Drupal anymore, which is fantastic. So that's, we think about D8 in personalization. Cool, question in the back. Absolutely. Sure, so there's really two, there's two parts to that solution. One is where am I putting the profiles in the event stream and fundamentally building infrastructure for recording massive event streams is not the same as a web infrastructure. You wouldn't want to record that event stream against your web infrastructure, which is why storing the profiles inside of Drupal is not a scalable solution, right? It looks a lot closer to what analytics looks like from an infrastructure perspective. So that's where the profiles live there. In terms of actually delivering the content, there's a couple approaches. One is dynamic rendering using AJAX and that sort of thing. So I have a placeholder and it calls back to the web head, the web server to get the dynamic content. The way we do it with Lyft in the current version is we actually, by default, render the variations in the DOM and deliver that so it's fully cacheable. So you don't have to go back to the web head to get that content. That doesn't work for every campaign, but for most it does. Yeah, similarly I would add even the proof of concept module example that I showed, personalization, works in this way where the HTML returned, HTML start tag to end tag is fully cacheable. It contains some JavaScript that once the page is downloaded, the JavaScript fires and does the dynamic pieces in that way. So that high level architecture of JavaScript doing the dynamic pieces and making the pages cacheable as possible, we see that across different solutions. Again, one of the reasons why we recommend using a third-party service for doing this is that we externalize not only the user profiles, but we offload a lot of the performance overhead to the service in that way as well. Question in the back right there? Yeah, so basically all the dynamic bits are client side, so it's cached and it'll work with a CDN for sure. One of the things I'm really excited about and haven't seen yet is how big pipe is gonna impact personalization. Because we've talked about big pipe being for authenticated users and speeding up that rendering process, it's a hop, skip, and a jump to have it work for anonymous users too. I haven't seen a module that begins to use big pipe in that way and if I don't see it for too long then we're gonna roll up the sleeves and do it. By the way, if you haven't heard of big pipe or you're not familiar with it, John was just talking about Google big pipe. It's amazing, it's a new technology that's now being built into Drupal 8 and it basically makes Drupal 8 a lot faster. As soon as I learned about it and read about it, I'm very excited about it. So if you're not familiar with that, definitely check that out. Yeah, sorry about that, it's a Drupalism. So everybody's used big pipe in this room, I bet. Cool. No, hold on, hold on, you guys used Facebook, right? Yeah, no one's used Facebook, you haven't used Facebook. Everybody else uses Facebook. So the way Facebook renders a page is effectively a big pipe is, right? It renders the containers of things that can be cached immediately and then filters in dynamically the dynamic bits. Drupal 8.1, that's part of core. So every one of our sites using Drupal 8.1 or later has that rendering technology for free. So we get Facebook style and quality of page rendering. That's primarily for authenticated users, right? You think of an authenticated user, most of the page is cached, a cacheable, excuse me, but the little bit says welcome back John and maybe the block over here that's personalized for me, that's not, Drupal automatically without coding, any further coding, pick out those bits and dynamically render them. So fast forward to personalization, we can use the same underlying mechanism to deliver personalized content. Right, and from a user experience point of view, what this means is that there's also a perceived speed increase. The page appears quicker, but is actually continuing to load dynamically, although the body of the page, if you will, has already been displayed. There was a question over back here, yeah? Yeah, I'll take a stab at that and certainly. So oftentimes with personalization, we're starting off with the idea that there's some default content, if you will, there's like some base version of the page. Typically Google will index that. We can additionally, once we detect specific attributes, dynamically swap out versions of the page to enhance or optimize the experience in that way, but oftentimes the way we might think about it is having an initial version of the content that is displayed if we have no information, remembering that all visitors start out completely anonymous, so we need to display something without knowing something about the person, and that's typically what you would start by optimizing for SEO in that way. Anything else? Yeah, we're not seeing any penalty from personalization. Google now renders JavaScript on the pages too, so they're seeing the default experience. For good measure, we do wrap the default content into NoScript Tag, so for search crawlers that aren't as sophisticated as Google, that's what they're indexing. Cool, question over there? Yeah, so let's repeat the question. So the question was, is the data shared across third-party services, is that correct? Okay, it depends on which service you're using. So generally speaking, you own your own data warehouse with Acquia, so we don't share it between clients. Other people do. They call those data management platforms or DMPs. They begin to aggregate the things you do across all the web into a profile. So for example, if I pay for a DMVP provider from like, say, a low to me or a blue-kai or somebody like that, they know that I like surfing and soccer because they're collecting me over all the websites, so there are platforms that do that. From my perspective, corporate website is a private database data storage. If I could add to that too, with the Solutions Architect hat on, we're often thinking about identifying where does the customer data live. It often doesn't just live in one database. There's data about the customer, for example, in an email marketing platform about emails that have been sent to them or have been delivered or not, there's data in a CRM like Salesforce, et cetera. So the name of the game is identifying where the database, where the data lives and seeing if we can programmatically make connections between these systems to unify them from a personalization strategy perspective. Question in the back over there. Oh, you want to track one visitor across multiple sites. So this would absolutely be, depending on the solution you use, John can certainly speak to Lyft, which supports this very idea. Again, one of the benefits of externalizing the personalization platform is so you can do exactly what you're talking about, right? If you're personalizing entirely within Drupal, but then you have another non-Drupal piece of your digital ecosystem that you want to track on, Drupal would have to kind of have insight into that. Whereas we externalize the personalization platform, whether it's Lyft or one of the other services, we can plug that into all different experiences or channels. Yeah, generally speaking, we want to use first-party cookies, not third-party cookies. And what I mean by that, it's tied to the debate. The reason why is because, increasingly, because of privacy concerns, browsers are shipping that don't even accept third-party cookies. So most solutions are going to fail for personalization before too long. Using first-party cookies, it's probably not going to get turned off. First-party cookies are used for lots of things like your session and stuff like that. People aren't going to just willy-nilly turn off first-party cookies. So for multi-site, what I need to do now is be able to say, okay, you have an ID of xyz on this site and an ID of abc on this site. How do I reconcile those two profiles? Depending on the solution you choose, you probably have the ability to merge profiles. That's a fairly automatic process with Lyft. Other platforms might have different views on that. I don't know. We're going to be running out of time shortly. If we don't get to your question today, I've got our Twitter handles on the page here. Feel free to reach out to us. You had a question right here? In terms of the Drupal technical integration? Yeah, so using contrib modules, for example, to integrate with the Salesforce APIs where we'd start there. What more specifically are you interested in? Yeah, I mean, at a high level, what we're talking about doing is integrating with the API provided by Salesforce, there's some awesome modules that take a lot of the hard work out of doing that for us and identifying which fields on the Salesforce side are going to be corresponding which fields on the Drupal side at a high level is how we might look at that, anything else? Yeah, I would say that if they're known visitors, that's what we're talking about, is in Salesforce, then the transporting Salesforce data to Drupal and back forth is pretty well supported by the community. It's a mature solution using the Salesforce APIs, particularly difficult. When I think about your problem, what I'm really thinking about is account-based marketing and vertical marketing, right? And that also has to apply to anonymous users. So how can I do that for them as well? So there's other solutions that I mentioned, third-party data you can buy. One of them is demand-based. So your solution stack would involve Salesforce plus demand-based plus Drupal. Demand-based is going to identify what the company is just based on the IP address. And you can say, great, for this company, they're in this particular vertical, I want to do this to them. I want to show them this content. Or based on this company, actual company name, I know this about them, they're a preferred customer, or that sort of thing. I want to show them this type of content. So there's more to the stack than just Salesforce if you're doing account-based marketing. Yeah. I'm afraid we are out of time. If you do us a favor, go to the Drupal.com website and evaluate the session. And thank you again so much for coming today. Appreciate it. Thank you.