[Music] [Ivan Mironchuk] This is Adobe Lightroom's approach to Mobile and Customer Engagement. Welcome, everyone. Happy Summit 2024. Anyone come last year? Make it to the first one post-pandemic. So it's getting back into the groove. It's feeling good. We're actually going to end the session with a big crowd wave. See how that goes, like, the stadiums. So some introductions before we roll in. My name is Ivan Mironchuk. I'm a Principal Product Manager on the Adobe Journey Optimizer team. [Joy Wang] I'm Joy. I'm from the Lightroom Mobile Growth team, and we've done a lot to implement AJO to support our use cases. Great. Okay, so what are we going to talk about today? When you think about personalized engagement, what do you normally think of? Do you think of personalized path, different journeys? Do you think of personalized content, or some combination of both? So today, we're going to discuss personalization in AJO from audiences to individuals with mobile channels, and we'll show the different personalization tools available to marketers within AJO. Then I'm going to turn it over to Joy to discuss Lightroom's product-led growth strategy and how Journey Optimizer has played a key role in personalizing the engagement for each user. Then we're going to talk a little bit about getting user feedback, and how user sentiment has played a key role in them shaping the future development of their product.
Okay, so today, there are two primary channels for mobile engagement in Journey Optimizer, push and in-app messages. Each channel has a variety of options to author and customize the display of the message, and both channels are available within AJO campaigns and within the Journey Canvas.
One of the unique features in AJO when authoring in-app messages is the ability to connect up your mobile device to help determine the best trigger options. So normally, it's very easy for marketers to create an in-app message that is displayed to all users on app launch. But if you want to create a more specific trigger to show the screen based on a particular screen or action, it can require a bit more guesswork or sometimes a phone call over to your dev team. You'll see that with AJO, I can connect up my mobile device, scan a QR code, and then as the marketer taps around on the application, any of the screens or actions that they hit can then become triggers that I can use within my in-app rules window.
Another great and useful feature in AJO is the ability to preview your in-app messages instantly on device. So when creating an in-app message, you have multiple ways of simulating what the message will look like for individual profiles. But if you want to see how the messages will appear or render on a physical device, you don't have to activate or publish the campaign. You can simply scan the code, type in the pin number, and you're connected instantly into the AJO authoring interface. You can click the Preview on device button, and you'll see the in-app message render on your device, making it much easier to iterate your designs and test positioning.
Beyond journey, paths, and audience selection, there are a robust set of personalization tools to help you create engaging content that is tailored to the individual or the audience. When you open the personalization editor within AJO, you'll find some of the tools below, including profile attributes that will let you select and bring in any profile tokens. You have audience membership, which lets you create conditional content based upon whether or not the user falls into a particular audience segment. You have contextual attributes, which can be used to bring in journey or campaign metadata properties or content from external sources and events such as abandoned cart items, places geofences, or any other streaming event.
Decisioning can be used to bring in HTML, JSON, or text items based on different ranking rules, policies, or machine learning models.
And then the Assets tool gives you the ability to browse and select assets to be inserted into your personalization as links, which makes it easy to create conditional content that can swap image assets. The helper functions, we have a large library of helper functions within the personalization editor to create and manipulate, strings, to work with arrays, to concatenate and format integers. And we have the Condition Builder tool. This is a visual tool for creating complex if-then-else, kind of, personalization, making it easy to save any of those condition rules into a library that can be used across your organization, which makes it much easier to create dynamic content across any of your channels. And lastly, we have the Fragments tool, the Fragments Library. This was introduced over the summer and allows you to create and save visual or expression snippets into your AJO library. And this is a great way for you to be able to create things like email headers and footers, or save style sheets, or a global list of variables. And the great thing about this is you can author those fragments independent of your messages, and then any messages that are in a journey or a campaign will automatically receive the updated content from those fragments.
So beyond personalization options that are found within the personalization editor, there are some other great ways to personalize the user's experience. And one of those is computed attributes. It's a great option in a marketer's toolkit. The creation of a computed attribute is simple. And once calculated, this dynamic attribute lives on every profile. You can look to get a number count or sum of any event. For example, the most recent value of an event, the number of app launches, the number of push notifications clicked. And you can also bring in any last saved item from a shopping cart. These values are automatically refreshed depending upon the time interval that you select on the computed attribute.
Enrichment attributes, you can find this inside of the audience composition tool. It allows it's a great way for you to extend the personalization beyond what is available within your profile. So using a join on the profile, you can link to a particular dataset and then pull in enrichment attributes based upon a particular key. This provides a quick way to bring in record information that is without having to generate an experience event or store the information directly on the profile.
And lastly, we have data source personalization, which is a great way of bringing personalization in from external sources into a journey. You can set up a Custom Action and define the query parameters that are going to go against that data source and then define the payload that will come back. This allows you to bring in that content as personalization options within your messages or to be used as a conditional logic for a Journey branch.
I'm just going to do a quick click-through demo on a couple of personalization things. So first, we're going to look at how you can build computed attributes. It's pretty easy. You're going to just go into the profile. You're going to click on computed attributes, create a new one. You're going to give it a name. This will take a second for this to load up.
So here I'm going to give it a name and a description.
And you'll see what pops up is a list of different events on the side there. And you can search through those events to find what you're looking to base the computed attribute on. So I'm going to just go over here. I'm going to search for product, and I'm going to drag over product value. So now that's the event that I'm looking for. And then down below, you'll see that you have the ability to select a particular attribute that would be part of that event. So in this case, I'm going to select the most recent product that was viewed, and I want to use that as my last viewed product value. And I'm just going to go over here and choose the number of days that I want to use as the lookback period. So I can see Most Recent is highlighted there. I have the product value there, and I'm going to change that to 7. I'll publish that, and you do have to wait overnight for that to become available, for it to first do the first calculation. But once it's available, you'll see I can go into AJO. I'm going to go into my push notification, and I'm going to go into the body of the message here. I'll click on the personalization editor.
And it shows up as a profile token. So under the profile tokens, you'll get a namespace for your organization, usually at the top, and you'll go scroll all the way down to SystemComputedAttributes, and you'll find all of the different computed attributes that you've created. So you can use that for personalization. Obviously, I chose the last value or the most recent value of that particular product ad. That can display as personalization there. If I'm doing a count, I can use the count of, like, you know, number of times somebody in engaged with a push notification. I can use that for segment qualification. I can use as Journey branch. I can use that in my message personalization. So just a lot of different ways you can use that particular feature.
In this video, we're going to take a look at how I can use dynamic content with the Condition Builder. So in this case, I have a push notification, and you see I have a base set of content here to promote a New Luma Spring product line. And that's the message I want to display to everyone that is not a particular rewards member. But then I'm going to go over to the Condition Builder, and I've already got pre-saved conditions that I've created beforehand to indicate whether the user is part of a gold segment or a bronze segment of loyalty rewards. And I'm just pasting in the different content that I want to appear to a user, depending upon if they're part of that reward. Once I've got that down, I want to just, kind of, make sure that I've trimmed it up so that it's all on one line. And then I'm going to click Save.
Okay, just being there we go. It's all one line. Going to click Save, and I can simulate the content. So I have my test profiles loaded up. I can switch between them and see how that dynamic content is going to work. And then I can obviously, trigger the journey in test mode to see how that's going to appear on device. So the great thing about this is I can use that visual tool to drag and drop different values, save that condition, and put it into my conditions library bank, and that's shared across everybody within my organization. So if you want to create very complex conditions and then reuse them over and over again, this is a great way to do that. So I'm firing the journey into test mode. We'll just wait and see the push notification come up.
You see, I'm, like, waiting for the thing to activate here. All right, trigger the event. Hit Send. And now this particular user, I believe, is in the bronze segment, and you should see the content come up with all of the emojis and everything else.
There we go. So just a quick, you know, little tour of some of the different personalization tools within AJO.
Ivan, thanks for showing us all of the interesting things you can do in AJO. I'm going to give you guys a quick few examples of how we've implemented some of these tools on the Lightroom mobile apps.
Now before I get into the details of our mobile use cases, allow me to tell you a little bit about Lightroom Mobile. Some of you may already know, judging from the few hands that went up earlier, for anyone who might not be familiar, Lightroom is a photo editing app from Creative Cloud, where I'm from. And so if you'd like to give Lightroom Mobile a try and you if you don't already have this on your phone, you can go ahead and download it from this QR code on the slide. And what we aim to do is serve our users' photography needs, and this mobile app was created specifically to serve those needs on the mobile side. Our main goal is to empower photographers from any background or skill level and enable them to make extraordinary transformations with their photos. And we offer ways to do that with presets that allow you to make to get to your finished result in one tap. Or we also have some more interesting tools like healing, which allows you to, correct one spot or remove unwanted objects. And we also have a really cool part of the app called the Community tab where you can use it as a friendly forum to learn from other photographers or post your own photos for other people to enjoy. Now let's take a moment to reflect on how, Lightroom came to be what it is today. As a photography application, Lightroom has come a long way since its inception and historically has catered best to the desktop side. And Lightroom itself has transformed many times over the years with new features and enhancements, as you can see on this timeline. And judging from when we asked earlier, some of you guys are probably already familiar with these features and when they launched. Well, several years ago, we started on the journey to really focus more efforts on our mobile side and meet our mobile audience where they are to improve how can we cater to our users' mobile photography needs.
Now how did we come to start using Journey Optimizer? Well, we had, not long ago, migrated over from the legacy product Adobe Mobile Services, where we were already executing some types of messages that are more simple one-off types of notifications. And we have just recently start to think about how can we step it up and create more complex multistep journeys, and how can we address some of the challenges we previously had, including getting users to be more aware of our features and also, improve the way we're delivering this information. We recognize that some of the previous tutorials we had were a little bit long-winded and a little bit for some people to digest and adopt these tools. So we wanted to really leverage AJO to figure out how can we best serve some bite-sized takeaways so people can start adopting these new tools and get value out of the product sooner. And that has allowed us to improve our delivery, make it easier to adopt usage, and essentially so we can serve Lightroom mobile users the right content at the right time.
So we went to the drawing board to really capture what can we do in terms of mobile engagement with AJO? And we examined our user lifecycle to identify when we want to engage and how. So this user journey, as you can see here is a really zoomed out summary of a user's lifecycle. And like many other mobile apps, we have our potential users discover us through our App Store listings, and we officially recognize a new user at the first sign-on screen. And most users, come into the Premium version of the app where they can play around with the fun free features, like the color grading tool that you see here on the screen. And as users tap into the premium tools, they can then convert and become a premium user where they'll be met with the first welcome screen. And from there, unlock all of the more premium tools such as healing, which allows you to remove unwanted objects, and also masking that allows you to edit one particular part of the photo, whether it be face on a portrait, or a background, or just if you want to zoom in and edit one particular part.
And whether our users are free, or paid, or trialist and that's where they are in their lifecycle, we want to find a way to meet their photography goals. And we believe that that is how we will be able to improve our user retention, which is the primary key metric that we believe will enable us to meet all of our other business goals.
And based off of this lifecycle, we identified the main points where we can address our users. And we identified these three major categories where we can serve relevant and useful content. And for our free users, we really want them to be aware of what are the fun free features they can use right away. And also, where they can preview the paid feature so they can see if they want to convert to a premium plan. And for our trialists, we engage with them so they can be aware of what are the particular features that they can get value out of right away within a very short seven-day trial period. And finally, for our premium users, we want to nurture them to build habit out of using the tools that can really help them get the most out of their plans. So we drew up a comprehensive list of use cases, and then that allowed us to figure out what are our business requirements, what are our technical requirements in collaboration with our marketing partners and our content creation team for inputs on how are we going to have an engagement strategy, which leads us to our use cases.
So we identified three major categories for our use cases that we could implement through AJO. Now like any other product out there, whether you have a photo editing app like we do or whatever your product is, one of the most basic use cases to start off with is how do we drive awareness of our features and make sure our users get value out of our product, especially when it comes to raising awareness of new features as they launch. Now of course, when there is a new feature, the first thing we think about is how do we just not bring awareness, but educate them in a way that it brings value to their goals. And nextly, and we think about this type of, how do we communicate this type of product value? We also are led to think about how can we personalize the content and deliver engagement to specific audiences. Now we know we can be as specific as possible when it comes to personalization, but we identified the major three audience groups that help us get to our key goals for each group. And for the free users, we really want them to reach the goal of having fun with the app and making use of the essential tools for edits they do frequently. And also, prompt them to try and preview the premium features that maybe they can get to, convert to a premium plan. And focusing on these areas tailored to free users enables us to drive to our business goal, which is free to paid conversion. And for the trialists, we really want to drive them to identify what are those features that gets them value immediately within that seven-day period. Specifically, you know, those presets we tap on it and you can see it edit immediately. And then for focusing on these goals for our trialists helps us reach our business goal, which is trial to paid conversion. And then finally, for our paid users, we really want to nurture the habit of getting use out of more sophisticated features like healing and masking that I mentioned earlier for more intricate extraordinary results. And focusing on this type of habit building for paid users enables us to drive to our business goal, which is paid retention.
And then thirdly, after thinking through the different ways that we can engage with our users and what content we want to surface to our users, this led us to think about how can we encourage members of the Lightroom mobile community to interact with each other? We know that we have an amazing community of creators who are posting lots of beautiful content regularly, and they're just waiting for us to consume it. From landscape photos to food photography and portraits, both human and pet portraits. There's a lot of pets out there.
So to show an example, some examples of these use cases, we first have an example of how we raise awareness about a new feature launch. And here is a list of, a few steps about how you can quickly create an in-app message within campaigns. Now first off, we always start off with the goal, which is most important to us. We think about, what is our end user's goal? And just as an example, through some of our qualitative research, we learned that some of our users really want to be able to communicate to their friends and family what did they do to edit a photo, and how can they communicate that in an easier way and reduce the number of steps when they are sharing that. And then we think about what is going to be our goal once we implement that in an in-app message, which is to have them click-through and be guided to a feature that enables them to do that. And for us, if it is going to be a click-through, we can jot this down, and later in the details, you can select Clicks as your success metric. And then next, we want to identify who to target. Who is this information going to be relevant to? And within AJO, you'll find Audiences under Customer. And then here, you can set up the attributes and events, like Ivan mentioned earlier, to target your audience. And for a new feature launch, generally, you might only want to target users on the latest app version and create an audience for these specific users. And from there, next, you can go ahead and find Campaigns under Journey Management and begin your creation.
And next, within Campaigns, you can go ahead and enter in your content, select from different layouts, enter your imagery and text, and select the triggers for when you want your message to fire.
And once that is configured, go ahead and test it out with preview on device, which you can do with connected devices, and it'll surface a QR code, and you can follow through to get this to surface on your device. And once you're satisfied with the setup and the testing, you can go ahead and activate, and that will publish your message to your audience. And here is a screen recording of an in-app message, when we launched a feature called Edit Replay, a feature that allows you to generate a quick video of the editing steps you took to get your finished result. And this will allow you to share that video with your friends and family and tell them just what are the steps you took to get from your video from start to finish.
And we want to target users at the point where they are most likely to use it, which is generally, when you start to think about, how you want to share your photo. So here, we set the trigger to be the event when you enter the export or share menu. So here you can see that I am tapping into the share menu, which triggers the in-app message. And within here, there's an animation that shows you when to create your Edit Replay.
Well, and once that message is done playing, you can go ahead and close it. And then it'll take you back to that same export or share menu so you can resume what you were doing before.
And actually, to think about how to surface this type of content to even more specific type of audience, we are aiming to make, our users' goals our top priority. So we've built a set of use cases around these three major groups of users. And by focusing on our users' use cases, we are trying to get to our business goals for success.
So starting off with the free users, we are trying to highlight what are some of the free tools that they can get value out of right away before they even convert. Here's a push notification highlighting a fun free feature called Remix that allows you to edit other users' photos if they have a Remix enabled on their post. So you can put your own spin on things and show your unique creativity. So this push notification has a click action that takes you to the community to post shown below the push notification, and this did a lot to help us drive adoption of Remix. And prior to us launching this push notification, this post from this user had about 100 Remixes. And after turning it on for a couple days, we quickly saw that jump up to 300 Remixes. And as of today, last I checked, it's up to a couple thousand. So next, we have an in-app message encouraging trialists to check out recommended presets. So this is a premium feature that you can unlock once you start your free trial, and this feature allows you to apply a preset to quickly transform your photo with very minimal steps. And you can see the previews of...
The finished results will display below the picture. And this experience has a click action. Once you click...
That takes you directly to the feature itself.
And you can see there is also a preview below to see what will be the results of the edit.
Now for our paid users, we want to nurture them to make a habit out of using some of the premium features and getting value out of that. So here, we have an in-app message showing what you can do with a new feature called lens blur that allows you to highlight a focal point and apply a blur effect to the background or a particular part of the foreground, whatever you choose.
So these examples are a culmination and the results of the vision that we had come up for. How do we want to nurture all types of users to learn and get value from the product? Now the vision that we wanted to build is a stepwise learning journey, if you will, that enables users to learn one tool after the next and build on that knowledge from the simple essential tools to maybe the more complex features. And we wanted to create learning paths specific to each type of user and what their usage history tells us might be useful to learn next. Here is just a snapshot of a part of a longer learning journey. And to show you what is happening, we first recognize a user when they come in at the first app launch, and they will have a chance to play around with the app, do whatever they want to do, just get familiar with the product. And after a few days, we will want to prompt them to learn just, kind of, nudge them in the right direction to learn some of the things that they might not have touched yet. And we first evaluate, using the conditions builder. Has a user tried this feature before? And if they already have, then we'll go ahead and advance them to the next feature to continue them on their learning journey. If for some reason the answer is no, then we want to surface an in-app message so they can learn about this feature. And here is specifically about recommended presets. And as you can see, this will then take them to that experience where they can go ahead and see what the finished result looks like. And after using a three-day wait condition, we reevaluate, has this user used this feature? If for some reason the answer is still no, then we will surface a push notification about the feature with similar content.
And then if you long press on that, it will display the animation within the push notification.
And it also has a click action that then takes you to the feature itself.
And then so we give the user a couple of days to maybe marinate on that information, decide if they want to use it for themselves, and then advance them to the next feature. So you really get an opportunity to learn one thing after the next. It's a little bit more structured learning that way. And then this helps us to identify how do we do our best to serve relevant content to the right user at the right time.
Now beyond us communicating the product value, we also want to encourage users to learn from each other 'cause what better example can you get than from your own peers? So when it comes to the Lightroom mobile community, we have a lot of great talent. And within that Community tab, there are a few key features we wanted to encourage adoption of to strengthen that community, such as browsing content and uploading photos. And by showcasing our community content, we're fostering a strong community relationships, you know, between us working with our content creators and amplifying their content or users interacting with each other and learning from each other. And sometimes people find that they are actually using this place to host meetups and then learn from each other.
And then so that creates a really strong network of artists. And here is an example of how we are encouraging users to share and discover community content within the Community tab. And we're encouraging users to go ahead and upload or browse community photos. And you might already know this, but you can then long press the push notification, which shows you the expanded view, and that can get you a better view of the image in the push notification.
And we also want users to know that they can take other people's edits and click on Save as Preset. So if a user has Save as Preset enabled on their post, you can tap the Save as Preset icon, and then you can apply their edits to your own photos. It's kind of cheating, but in, like, a friendly way.
And then lastly, like I mentioned earlier, you can use Remix. If someone has Remix enabled on their post, you just tap the Remix icon, apply your own edits to their photos, and it's a great way to see how one photo can have so many different renderings.
And so the three examples from the previous slide, the culmination of that entire, all of those features are put into one learning journey here about our Lightroom mobile community where we aim to foster strong relationships. And here, we are taking, you know, what does it look like to take a user through the entire journey? And I'll go ahead and show the video. This is what it looks like when I put my device into test mode, and I am entering my unique identifier, which you guys will have set up on the back end.
And then once the green line shows that your test mode has been activated. And what you'll notice here is it recognizes that I have been to the Community tab before, so it's skipping me past the first notification and taking me to the next one about Save as Preset, and then the next one about Remix. And then once I reach an end node, that completes the journey for me.
And then just to show you what it looks like when I click on the last notification, and then there's a click action that takes me directly to the post itself. And what I really like about test mode is you might have a longer journey with different wait conditions, one-day, three-day, what have you. But if you change the wait time to-- You can change it to as low as one second, then that will get you through test mode faster.
So we thought about why does engagement matter? Do our users care that we're trying to interact with them and reach out to them through in-app messages and push notifications? Does our Lightroom mobile community find this stuff relevant? So we conducted a little experiment through an in-app message to, kind of, and try to answer some of these questions and ask for feedback. And we were hoping to get feedback so that we can also leverage this in our product improvement plans. And so we have this in-app message way where we are targeting users who are a little bit further along in their journey, have had at least 10 app launches, and are more likely to have seen the communication that we have sent to them through in-app messages and push notifications, and also have had at least one export within the last 30 days because our hypothesis is that people who are a little bit further in their journey and have done at least one export, generally have more feedback to give us because these are indications that they have reached some finished state throughout their editing workflow.
And so they see this in-app message where they can also leave us feedback in the App Stores and give us a rating if they choose to.
And then the quick action takes them to the App Store so they can leave us feedback if they want to.
And then after turning this on, we were able to see insights pretty quickly. So as you can see from this chart, we were able to see some results very quickly. Before turning on the test, we generally had pretty low review volume, and the sentiment was okay, nothing too exciting. And immediately after turning on the test, we saw review volume shoot up over 500%. And then there are further audience that we targeted, we saw the Sentiment Score reach 95%. So after the test period, we turned it off just to, you know, get our bearings, evaluate the results, and make sure that this is not a fluke. And after turning it off, we were seeing that the Sentiment Score and the review volume went back to the previous state. So that led us to our decision to just turn on this in-app message and leave it on. And after turning it on, sure enough, we saw review volume go back up, and the Sentiment Score also shot back up. And we were so happy with the level of positivity from our users that we started casually calling this project find happy people in our internal group.
And so that has really led us to identify, like, our users are getting value out of this product, and we're specifically targeting people that have had a higher likelihood of seeing the messages. And that has informed us of our decision that we want to continue engaging with our users and surfacing them valuable content so they can get value out of the product.
Okay, and so what do we want to do next? Well, we really want to hone in on that learning journey and the vision that we had shown earlier and get more benefit out of that, for our users and for our business. And one of the examples that we want to do more of is, work on multilanguage content in a less manual way and use more of the fun awesome features that Ivan was mentioning, like, offer decisioning. And I'll turn it back over to Ivan to talk about some of those. Sure. Yeah, so couple of things that we got coming up. One is multilingual outbound messages. So you'll see here up on the screen, we just completed a beta, so this is coming up pretty soon. But it gives you the capability of defining your different languages that you want to support. And then we have both the ability to create manual translation variations and also link up with any translation service provider that you may have to do automated translations for your messages. So just a really easy way to manage and seamlessly create that multilingual content, and then base it upon a field in the user's profile. So if you're setting preferred language, then this would help drive that particular decision there. Another thing that we just released so its brand spanking new was last week we released the code-based editor. This is similar to anyone that's used Target where you use the Form Composer, but it allows you to send a JSON, HTML, or text payload to any endpoint. And the great part about this is that you can hit this on your mobile website, you can hit this in your mobile app, your desktop website, you can put it on to anything that can accept one of those payloads. We had a customer in the beta that was sending personalized content to ATM machines. So you can think very, very big and broad about the usage of this particular channel, and it's available today.
The other thing I'll mention, I should have mentioned this upfront. You saw a lot of examples, where Joy was showing how Lightroom uses both in-app messages and push notifications. And some of you may have implemented the mobile SDK into your app already, but if you haven't, it's a pretty simple process. We have a number of different tools to get you started on that and walk you through the steps in building that integration into your mobile application. And one thing to just keep in mind is if you already have a push notification provider and you're not, you know, looking to move off of that, that doesn't exclude you from being able to use AJO for in-app messages. So you can do one or both. They're not kind of, you know, a package deal. You can do both. So some key takeaways. We talked about using mobile channels in AJO to create personalized experiences for individuals. We looked a little bit at Lightroom's use of product-led growth strategies to engage and retain their users beyond, kind of, marketing campaigns. And then we looked at how you can solicit your users for feedback to help further drive your product roadmap and understand the overall sentiment. All right. Thank you all. - Thanks. - Thanks everyone for coming. - Thank you. - Enjoy the rest of the Summit. [Music]