Ask the experts: Useful extensions in Tags (Launch) to help super charge the Web SDK
Are you thinking about migrating your implementation to the new Adobe Web SDK? We will run through some of our favorite extensions in the Adobe Tags library that will help as you take your data collection to the next level.
Be sure to subscribe, like, share and subscribe for meue Hey everybody, good morning, good afternoon, good evening, good night, wherever you are. I’m glad to have you with us on Experience League Live today. And we’ve got a fun show once again available for you, great guests today. I should be used to them by now if you’ve seen them over the last few months. My name is Doug and I’ll be the host today. And this is brought to you by ExperienceLeague.Adobe.com.
Where you will find all of your self-help needs. So if you want the documentation, tutorials, free courses, the community, chat with your peers, go on over to ExperienceLeague.Adobe.com and you can find good stuff there. And yeah, that’s the stuff. So we’re going to go ahead and get started. I’ll bring in the guests here. First we have Rudy Schumpert. Schumpert, Rudy, how you doing? Good, good, Doug. Good, Rudy. Always good to be back in the Experience League Live session. Awesome, great to have you once again. A crowd favorite as you can tell. Yeah. And let’s see, let’s bring in the other guys and then we’ll talk about what you do all day. We also have Jeff, Jeff, how you doing? Jeff is also, Jeff, you got the air horn. What do you think about that? Thank you. Thank you very much. Yeah. And then we also have Eric. There he is. Wait a minute. I got the right one for that, I think. Yeah, there we go. And maybe. I was trying to be frozen there for a second. The glockenspiel as well. So. You got to time it. Yeah, that’s right. So time that. Welcome, guys. So yes, so Rudy and Jeff and Eric are all evangelists for the Experience Cloud. And I know you’ve got a little bit different titles, you know, various titles, but who wants to jump in and kind of tell the gang what you guys do all day as evangelists? In your evangelisms. Yeah, I can. So our team is all about enabling our customers to better understand how they can take advantage of the Adobe Experience Cloud suite of applications, whether that’s one on one with customers or in really big audiences at Summit or a summit on London or, you know, somewhere in between with Experience League Live with our good friend Doug here. Awesome. Jeff, Rudy, anything profound to add to that? I don’t know if we can add anything more profound than that. Words of wisdom. Eric summed it up very nicely. We spent a lot of time, like you said, helping our clients, both internal and external, getting the most out of their investment with Adobe. Yeah, nice. Awesome, you guys. Yeah, these guys all vouch for that. These guys spend some great time, you know, building some content and running webinars and just talking to our clients. And so that’s awesome. So awesome. Well, just to get to know you guys a little bit, we’ll be quick with this before we dive right in. But the question of the day is, wait for it, I should have the, gosh, I really should. Next time I’ll have ready the snare for that snare drum roll. Yes, that’s right. It is favorite cereal either now or as a kid. You get to choose. And we’ll start with Eric this time. And then you guys, Jeff and Rudy will have a second to think about that. Eric, I’m sure that you have a favorite cereal either now or as a kid. Yeah, I’m a Cinnamon Toast Crunch Man. You know, I was able to get away with it as a kid as being somewhat healthy because it wasn’t Lucky Charms and it didn’t have marshmallows. So that was my move. Though, like I think I’ve kind of overdone it a little bit and I’ve reverted to Raisin Bran Crunch lately. So like still sweet and crunchy and delicious. Those are my two top two top two. Nice. I like it. Jeff, it’s to you. A lot of life and Cheerios. You’ve got a lot of life. Life’s life stereo. Mikey likes it. Cheerios. Cheerios. A standard. All right. Okay. And Rudy. My favorite is also Calvin’s favorite. The Chocolate Frosted Sugar Bombs. Nice. A fictional cereal. Absolutely. It is delicious. Never disappoints. Yeah. Nice. Well, Eric, it’s funny that you would mention Lucky Charms. I’m pretty sure that I could just go through any amount of Lucky Charms. You’ve got to get one of the big bowls of cereal when you’ve got the Lucky Charms. But when I’m not being so bad, I’m going to go with the Strawberry Frosted Bite-Sized Shredded Weed. How’s it called? Anyway. Yeah. That’s what I’m trying to do. Yeah. My son goes for the Chocolate Frosted Mini-Wheats. Mini-Wheats. Right. We have a close personal relationship with our dentist. Nice. Yeah. Much appreciated by mine, I’m sure, as well. That’s awesome. Okay. Cool, guys. Well, thanks for being here, everybody. Just kind of FYI. We’ve had three sessions this summer already with these guys talking about data collection and talking about the Web SDK and various data collection topics. So if you go to experienceleague.adobe.com and you go up to the top and it says Learn and you drop down to Events, then you can find Experience League Live and you can look at the past events there and stream those, as well. So anyway, just a shout out to these guys and you guys can see more of them on the other calls, as well. So great. So today we are going to continue our fun with data collection and we’re going to talk about the extensions, favorite extensions of these guys that can help really, we said supercharge, supercharge your Web SDK implementation. So if you’re looking towards implementing with the Web SDK or you already dove into that, then these will be some additional extensions that can help you and make it easier and give you additional functionality, as well. So I think, Jeff, I think you’re going to kick us off here with maybe a shared screen, I believe. Let me just get that going here. It’s Tennessee football season. We should have had a draft. Those are the words. We should have had a draft for these. Yes. Do not scroll down on the nutritional facts. I don’t want to see it. But it’s kind of like… It’s both sugar and high fructose corn syrup. Well, also, yeah, if you look at those nutritional facts and it’s power. It’s not just nutritional facts. It’s nutritional power. It’s like when Brian Regan talks about the ice cream going out with the serving size of a half a cup. I never adhere to the serving size, let’s just say. Okay.
All right, Jeff. Yes, there we are. Useful extensions in tags, aka launch, to help supercharge the Web SDK. Take it away, Jeff. Thank you very much. I just had to check and see if the strawberry frosted… Whatever that was, if it was a real thing. Because Rudy gave the disclaimer that he is eating fictional cereal. But you, in fact, are eating real cereal. Yeah, that’s right. So for the folks at home and the folks watching the recording in the future, this is not just nutritional breakfast tips, although that’s valuable. We are going to try to pack in as much content as we can. I know we only have four hours in this session today. We have 634 slides to go through with lots of small print. But we’re gonna take you through what is an extension, if you’re not familiar. How can they help? How can they be used? And I will use as few words as possible, because Eric and Rudy like it better that way. And we will show you what that looks like. So the first thing, just to sort of set the context and some background, why do we really care about extensions and collecting data and transforming data and looking at curly braces and semicolons sometimes? It’s because we’re trying to manage customer experiences on our website. This slide is a great way to illustrate that there are a lot of moving parts. And I’m sure that the folks that have joined us, and I know that anyone who’s a practitioner, who deals with implementing digital marketing programs and customer experience management tools and systems, knows that there are a tremendous number of moving parts and things that you have to integrate and implement to get things working. But really, what’s the purpose? What’s the goal? The goal is not to collect data or generate a report or do some statistical analysis or even create some real-time segment. While those things are great and they help us get our job done, the point is that we’re trying to create raving fans. We’re trying to get them to sign on the line which is dotted, as they say in the movie. We would like them to buy from us, because we’re running businesses, not hobbies. And we don’t just want them to buy. We want them to buy and have such a good experience that they tell all of their friends to buy as well and that they come back and increase what is commonly called customer lifetime value. And they become very happy customers along the way. So that’s really the point of all this stuff. Again, another slide that we have a lot of challenges. And while we do offer a large variety of tools and information, as Doug mentioned on Experience League, about how to meet these challenges, it all starts with collecting the right data. We can’t really do any of these things or take any of these actions in our digital properties unless we get the right data to the right place at the right time.
Where does this fit in to everything? Folks that are maybe familiar with Adobe technologies have probably seen something similar to this before. If you have not, this is just the layer cake view or the stacked view, if you will, of the existing ecosystem. Cake. Cake is always good. Shout out to cake. The data sensei and content that you see at the bottom, not a great illustration, but trying to fit a whole lot of things into this slide to just make sense of where the pieces fit in. At the bottom here, you see Adobe Experience Platform, the services, the applications, the categories or themes that we focus on. And then these are all part of Adobe Experience Cloud. So if you’re not familiar with Adobe, when we say Adobe Experience Cloud, it includes these things, whether we’re dealing with data and insights and audiences using a tool like Adobe Analytics or Customer Journey Analytics, a real-time customer data platform, or we’re running a commerce store, online store using Adobe Commerce. These things are fed from the bottom up. So data, intelligence services powered by sensei and content are all the things that we work with to feed these themes and feed into these applications that are powered by these services.
So, whoa, built. Didn’t expect that. Sorry. That was fancy. That’s obviously not my slide because that’s too fancy for me. Sorry about that. If anyone is motion sensitive, I should have given you a disclaimer. That threw me off a little bit. Okay. So another view, again, sort of a zoomed in view of Adobe Experience Platform, the things that are sort of a more in-depth view or zoomed in if you will, data collection and query services, a very foundational piece that feed into real-time customer profiles layered with governance and privacy controls and intelligence services like artificial intelligence, attribution and customer AI if you’ve seen those things, all fed by the data collection that the extensions that we’re going to talk about today and highlight will give us some useful tools and methods to make it a little bit easier to do that data collection so that we can feed into all these other systems and, again, create our raving fans and all get giant bonuses and raises and everything else. Which is, I know, why most people showed up today because they want to have a really good end-of-the-year conversation about how they used extensions to do cool stuff. So we’re going to highlight a couple extensions. These aren’t, I wouldn’t say necessarily these are favorites. We’re not really playing favorites. It’s not a promotional thing. These are more in the category of utility extensions and folks may not be aware of the things that they can do that can make your life easier when you’re working client-side. Today’s topic is mostly web extensions. We do also have extensions for mobile devices and for event forwarding. We don’t have a trusted vignette extension yet. We’re going to take a peek at what that might look like. Here’s a peek at the catalog of extensions. You can see there’s a lot of logos here, a lot of cards in the catalog from a variety of vendors. But, again, today we just chose a few for the time that we have available that we think are just handy utility functions, sort of Swiss Army knife functionality. Some of them offer a significant number of features, some of them only one feature. If you’re thinking of making an extension, it’s pretty easy to do. I’ve built two and I’m definitely not an engineer. So we have information about that on Experience League. And here’s a look if you haven’t seen, formerly called or formerly known as Launch, now called Adobe Experience Platform Tags, part of data collection. And so what is an extension? We’re looking at these cards, and I know we’re talking about extensions, but not really sure what that is. And so in the catalog of extensions, when you’re looking at extensions that you may want to use, you can actually download the source code for the extension itself. And so I’m just going to open that real quick. Let’s see if I can figure out how to use a computer. And so what it does is it gives you a zip file, right? A zipped up package. It’s just a compressed file of folders and files. That’s what you get when you download. And that’s what actually exists when someone makes an extension and uploads it. It’s just a zip file. So if I open that up, excuse me. Let’s take a look at that in our text editor. Yes, I trust this. And so just real quick, without getting too geeky into the code, you can see that… Could you zoom in there a little bit, Jeff? No, I can’t. Sorry. Yeah, super. Thanks.
Sorry. So yeah, it’s just a bunch of files, right? So we have this extension JSON file, which is sort of a listing or a manifest, if you will, of what’s included in an extension. And so a developer that makes an extension, they fill in some of these lines with, say, for example, a description, right? So not so fancy. And then we have the source code for the extension. And you see in this extension, which is the Google Data Layer extension we’ll talk about in a minute, they have some actions, some data elements, some events, and then some helper files. And so if you’re not familiar with extensions, if you haven’t worked with them before, those things might not make sense just yet, but we’ll show you that in a second. For those that are familiar, this is how an action, a data element, and an event is supplied by an extension. So here is the Google Tag Manager push event code that handles when the Google Data Layer pushes an event into the Data Layer array. And so you can see these are just text files, right? So let’s put that away. I just wanted to show you what is in an extension and let you know that you are always allowed and encouraged to download the source code for any extensions. So your security team, your privacy team, your IT team, what have you, if they have concerns about using a partner extension, they don’t need to be concerned because they can interrogate and scan and investigate and test the actual code that makes up these extensions. So that’s what an extension is. What it does is it packages together some functionality, right? So the data element assistant from Adobe Partner Evolitics, they have several extensions that they offer. What this one does is it offers some utility functions so that you don’t have to write as much custom code. For less technical users or anyone who just wants to write less custom code themselves, you can use this extension to perform a variety of functions and you can see those on the screen. So if you want to do calculations on values in the browser before you send that data to Adobe or send that to some backend system or populate a media pixel or an advertising tag, wherever the data is going to end up, if you want to do something to it in the browser while the visitor is on your site, that’s when these actions could be applied either before, during, or after. So you can see you can perform calculations. You can join pieces of data together with concatenation, concatenate. You can extract pieces of data. So URL parameters is one place that a lot of people tend to extract data. Or if you have a layer or other objects on the page. And obviously you don’t need me to read this to you, but the Data Element Assistant extension is really sort of a handy Swiss Army knife when you’re working with data elements and values that have to be changed or transformed. Two that are really handy, one is the Eric Matosoff feature, this unique ID, was actually a request that came from Eric and Evolutix said, sure, we can put that in there. So if you need to generate a unique identifier, that’s really handy. You don’t have to write code for that. Or if you have a value that needs to be hashed or obfuscated, so like an email address, if your company or your country or your industry or even just your team prefers to send data like email addresses in a format other than just plain text, you can provide, use this functionality in the Data Element Assistant to hash that value, which changes it into code basically. So you can’t see that it’s read the person’s email address. It’s no longer plain text. I like this one, Jeff. Sorry to interrupt. I really like this one. And I like what I like about the extensions and this one especially is how all of these features and this functionality you can do is before you send it to any endpoint. So yes, I know that there are some tools where you can do some concatenation and do some calculations once the data has been received. But this does it at that first step, that foundational step, before you ever send it to Adobe or any other tech that you’re using. So it’s really powerful to be able to manipulate the data prior to that initial transmission to any endpoint. So I’m a big fan of any of these extensions that allow you to have that kind of control over the data while the client is still on the site without ever having to dip into any of the tools that are ultimately receiving that data. The other nice thing to that point, Rudy, about making those transformations at the point of collection, using an extension like this that’s a sort of a utility that offers functionality, I think it’s a little bit easier for other folks on your team or other folks, you know, different parts of the world on different teams. It’s easier for them to go into a data element and see a data element that uses an extension like this to do a calculation or concatenation because it’s labeled, right? You can see it in sort of plain English. Like, so if I go to the actual, here’s the extension itself, right? And if I go to create a data element using that extension, you can see that the different extensions are available here. And so if I choose data element assistant, here are the different functions that it supplies, right? So if I generate a unique ID here, someone can open this up and say, oh, it uses the data element assistant, generate a unique ID, and it’s here. That’s easier for a less technical or non-technical user to look at and understand what’s going on versus if I have a custom code data element and I open this up and there’s a whole bunch of JavaScript here. It’s a little bit easier, in my opinion, to see what the data element is actually doing. So that’s also a good… We had a good question for you, Jeff, that I’m going to send your way, which is, is it a cookie-based unique ID? So could you go ahead and you were like 90% of the way there. Could you go ahead and create a new data element, assign it a unique ID, and then set the… You don’t even have to do it in a rule. Do it all in a data element, and then you can set the storage duration for it right here.
So if I go to data element assistant and I do generate unique ID, here is that storage duration that you’re… Whoops, sorry. That you’re talking about, right? So you can set it to none. You can set it to a cookie-based storage type. You can give it a name. You can set the expiration in terms of number of days, which is great. I didn’t even know that was there, so thanks for whoever asked. Very cool. You can reset it. Excuse me. So session storage or local storage, which is really cool to offer these options. A great way to have a unique identifier for just about anything that requires one, or you can use it just for your own testing in non-production environments, but that’s pretty cool. Thanks for whoever called that out. Appreciate it. I didn’t even know that was there, so that’s really handy. Set the duration type, and the storage location is very cool.
Yeah, cool stuff.
So that’s the Data Element Assistant from Evolitics. Definitely recommend you check it out. If you’re working with data client-side and you need to do some transformations, you’re thinking of doing something in custom code, extensions like this can be really handy. The time and scroll event extension is sort of the opposite end of the spectrum in terms of functionality. This just does one thing. So wanted to highlight this just so that you know that these client-side extension for websites or web apps, they don’t necessarily have to be really fancy and offer a whole bunch of features or functions. They can just do one thing, and in this case, what this extension does is it supplies a time and scroll event. And so for those that are not familiar with launch, when you set up a rule, it’s a rule-based system so that if something happens and that something is an event, so if that event occurs and some conditions pass, then an action is taken. So the events are typically visitor events, like a visitor downloaded something, clicked on something, stayed on a page for a certain amount of time, et cetera, and the conditions pass, then the action happens, and the action is usually send some data someplace or store some data someplace, that kind of a thing. And so in this case, what this extension does is it supplies this time and scroll event where you can set a threshold for time spent on the page in seconds and then a threshold for how far down they scroll in depth. And then there are some other configuration settings that you can use, but any content, right, media and entertainment sites, blog pages, product detail pages, even product category pages where you’re hoping that they scroll and spend time reviewing your products or your information. This is really handy to get a sense for how folks are engaging with that content. It can also be useful for things like infinite scroll or single page applications. There may be some tricky edge cases there in terms of the configuration and how you set that, but still handy to have this type of an event to trigger a rule, the combination of the time on the page and the scroll depth. Really great to start to dig that next level deeper, pass this into your analytics system and other tools to see how people are engaging with your content. So really just a simple extension for sure because it supplies one thing, but a great example of how you can add something as an extension that you would otherwise would be sort of a pain and pretty involved to do in custom code. That’s really cool. What I really love about this one, Jeff, is the last one was all about creating and manipulating data elements and that’s where the extension showed up. Whereas here, this extension is all about rules and it shows up within the rule event condition configuration. And so it’s in a completely different world and kind of shows the flexibility of where extensions may show up when you are adding them into your Adobe tags property here. And so it’s really, really cool that you have that opportunity to trigger an action, to trigger an event based on these different settings that you’re defining along the way. And it’s pretty unique to be able to say like, okay, I want to customize Adobe tags using variables or data elements or I want to configure and customize Adobe tags in the rules and the rule conditions and the rule events the way that you are right here. Really, really powerful. That’s a cool… It’s kind of the same way that all that functionality is added into tags via the core extension. So not just events and conditions, but you can even have custom rule actions as well that are brought in by extension. So, yeah, I second that feature as being a favorite. And I did not pay either of them anything extra to say that just for the folks watching at home. So each of these parts of a rule, the events, the conditions, the actions and the data elements are rule components. I know that there are some folks watching right now that know exactly what that means. But if you don’t, they’re just the parts of a rule, right? Rule components, it is exactly what it sounds like. And so an event is part of a rule, it’s a rule component. And each of these things, just like Eric and Rudy called out, can be supplied to the system by an extension. And so if I go to add an event, you see the time and scroll event extension because that offers some event types. The Google data layer extension also offers event types. Of course, the W experience platform web SDK has events that quite a few of you are probably familiar with. But if we go to the other areas, just like Rudy and Eric called out, for conditions and actions and data elements themselves, extensions can supply those rule components as well. When you go to an event, actually everything that’s here in this white part of the screen is actually from that extension package that I showed you in my code editor in VS Code. So that’s where it comes from in the system. So a little bit behind the scenes of how this all comes together. But thanks to you both for the callout because that’s a great perspective for folks that may not be familiar. So… And I’m just sorry, one more thing. So when they use that extension to trigger an event or to trigger a rule really through these events, then they get to decide exactly what happens down in the action. It’s like this is just that part of just saying, oh yeah, trigger this event when they scroll down this far, they’ve been on the page this long, and then they get to decide really what happens in the action, how they’re going to send the data in, what they’re going to set, maybe setting something into the XDM object, et cetera, right? Exactly right. So here’s a rule action. This action is provided to the system by the Web SDK extension. So this is a rule component as well. Just like Rudy called out, the core extension, Web SDK extension, they all supply rule components as well. In this case, it’s an action of a send event. And so here are the list of actions that are supplied to the system by this extension. So yep, exactly right. Okay, cool. So that’s just sort of another look at a very specific, an extension that provides a very specific thing, simple, provides this time scroll event. Just so you know that extensions don’t have to be super complicated. They can be very straightforward and simple. Nice. This next one, Web Vitals from Yehui, who’s just a superstar member of the community. Oh, sorry, let me back up real quick. Just shout out to Jan Exner from formerly a technical person, but claims to no longer be a technical person, but will always be a technical person who developed this and pushed it out there. And just want to give him a shout out and thank you for that work and all of his work for the community. The Web Vitals extension from Yehui, who is a superstar member of the community, just always available in Slack and Experience League communities. Seems like he’s everywhere all the time online, with great content and helpful answers. Really, I just want to give a shout out, really a great addition to our community and very helpful. And created this extension to give folks who are using tags a way to implement the Web Vitals metrics. If you’re not familiar with Web Vitals, if you go to web.dev, pretty simple URL, W-E-B dot D-E-V, you can search for articles about Web Vitals and Core Web Vitals and all these metrics and what they mean. But again, the bottom line here is we’re not so concerned with any of these individual metrics per se. We want to create raving fans, right? We don’t really, the analytics report and the chart and the graph is not really the point. The point is we want to create amazing experiences for our customers and help our businesses succeed. And one really important part of that in the last few years and going forward is page performance, right? The performance of our sites. So a lot of stakeholders are, you know, hey, you’re doing all this stuff in our tag management system. You have all these extensions, we’re doing all these media pixels, what’s happening with performance? And so this extension is a cool way to sort of, you know, dip your toe into the world of performance testing. If you haven’t been involved before, this is a real easy, simple way to do it. Again, recommend if you’re going to test these things for the first time, don’t test in production. Do it in a non-production environment. But gives you a way to start to look at these metrics that you see here on the screen. Cumulative layout shift, which has to do with how the browser lays out content using the layout model from CSS. First Contentful Paint, when you’re painting the browser is painting that first initial screen of content. Again, part of the layout process, but getting ready to paint the pixels on the screen and these other metrics as well. So if you haven’t looked at that or you haven’t introduced that, if you’re wondering how performance of your pages is impacting conversion or downloads or other engagement metrics, this is a cool way to get started in that area. Yeah, what I like about this one is, like you said, Jeff, it’s a great way to kind of get started in that performance conversation. I do think that it’s, you know, I don’t think folks should completely rely on this like they would, you know, like a third party performance monitoring system that’s more robust. But whenever you’ve encountered something or you’re trying to troubleshoot something that’s going on with your site or you’re getting feedback from your users or other folks that, you know, the site seems sluggish or slow. This is a great set of tools that you can apply, even if only for a short period of time on your site. Get a good feel for how it’s going and do some, be able to get some data back that will really help you chase down some of those things that can be going on your site that can affect the performance perceived or otherwise of the site. So I love that they’ve got these toolkits. And I think it’s important for folks to realize that some of the stuff they might, maybe they want to have it deployed all the time. And maybe it’s something that they turn on and do some troubleshooting and do some exploration and some experiments with on an as needed basis. But the flexibility that you have with these extensions to use them however it best suits your needs is really cool. It’s not an all or nothing that you can leverage it however you want. Yeah, great use case that I’ve seen for this. And Jeff, correct me if I’m wrong. I’m pretty sure Google uses Web Vitals pretty significantly, or at least somewhat significantly to help with SEO purposes in terms of if you have terrible Web Vitals scores, then compared to a competitor, then there’s a good chance that you’ll be ranked lower, for example, in the web. Yeah, I think that’s a good point. I think that’s a good point. I think that’s a good point. And I think that’s a good point. I think that’s a good point. And I think that’s a good point. And I think that’s a good point. And I think that’s a good point. And I think that’s a good point. And I think that’s a good point. And I think that’s a good point. And I think that’s a good point. And I think that’s a good point. And I think that’s a good point. And I think that’s a good point. And I think that’s a good point. And I think that’s a good point. And I think that’s a good point. And I think that’s a good point. And I think that’s a good point. And I think that’s a good point. And I think that’s a good point. And I think that’s a good point. And I think that’s a good point. And I think that’s a good point. And I think that’s a good point. And I think that’s a good point. And I think that’s a good point. And I think that’s a good point. And I think that’s a good point. And I think that’s a good point. And I think that’s a good point. And I think that’s a good point. And I think that’s a good point. And I think that’s a good point. And I think that’s a good point. And I think that’s a good point. And I think that’s a good point. And I think that’s a good point. And I think that’s a good point. And I think that’s a good point. Google agrees with you 100%. Here it is. The business impact of Core Web. They often do. Totally, totally right exactly what you were saying. For folks that are interested in learning more, this article again, it’s at web.dev, which is really a great site in terms of client-side technologies. And pretty basic, easy to approach articles that don’t take a lot of time. Eric, totally to your point, search engine optimization, search engine traffic, whether it’s organic or paid, huge thing these days for a variety of industries and pretty much all digital businesses. And so an extension like this exactly to your point can feed into your analytics system and help you start to tweak and optimize these things and understand how it can improve your rankings and whether it’s for certain owned or earned keywords or phrases or whether it’s branded terms, product names, et cetera. Yeah, definitely an area well worth testing and optimizing. And this extension can certainly help you with that. If you’re trying to drive more traffic to your Frosted Mini Wheats strawberry flavor landing page, it’s definitely something to look into for sure. Exactly. I also like that it helps with a common vocabulary. And what I mean by that is a lot of times we’ll be sitting down with a client and they’re concerned about performance and we’re like, well, let’s pause and say, what do you mean? When you say performance, what do you mean? What are you talking about? What specifically, which one of these items are you concerned about? Because it’s a big category and confusing for a lot of folks. So I like that it helps bring the right vocabulary in there so that at least when you’re having conversations with clients, you can talk about the right aspect of which part of performance they’re concerned with. Yeah, 100%. That’s a great call out, Rudy. The common vocabulary, I’m sure everyone watching and for folks that may watch the recording, that’s going to resonate in a big way because so much of what we do are these terms and whether they’re technical terms or just business speak things, very often you’ll have 10 people in a meeting or on a call and you have 12 or 13 different definitions of a term. So really, really good call out that this can help with a common vocabulary and common metrics to start to deal with having conversations about how to approach these things and how to make them better. And I think somebody also called out, Rudy, I think you called out about experimenting and not necessarily taking this as the be all and end all measurement of performance. To his credit, the author of the extension does have a call out here in terms about accuracy of measurement. This does load the WebVitals JS code that Google actually would use or that you would use if you were manually doing these tests. But since most folks are loading the Launch Library itself asynchronously, there can be some impacts to those numbers that you want to be aware of. But again, with most things, analytics data, advertising data, click-through data, bounce rate metrics, regardless of what you’re measuring, at least back in my web analyst days, the trend was always more important than the precision of any particular one snapshot of numbers, right? So the trend over time. And so this can help you document and start to collect data to show you trends. If your site or certain site section or very important pages are trending better or worse in terms of performance, that is obviously enough to make this a very valuable extension. And it’s done really well. Obviously here down at the bottom, you can, if you’re so inclined, make a donation to help support the independent extension developer through PayPal. You can open a ticket, read the changelog. They’ve got their terms of service and everything nicely done here. Really, really just a great example of a well-done extension with some great tips that make it easier to use and handy links right where they should be. So I’m a big fan of the way this extension is done. Sorry, go ahead, Eric. Jeff, I have a question for you. Since a lot of these things are happening as the page loads, some of it is available early on, some of it later on, some of it even later on, how are you seeing customers deploy this in a way that, how does it affect the number of server calls on a page? Or how does it affect the amount of times that data is being sent into Adobe Analytics and being sent to the Web SDK? Wow, that’s a great question. So thanks for putting me on the spot. Appreciate that. Yep. I get a goodbye.
First time caller. It’s all good fun on the team here, folks. All good fun. So where we try to throw each other off live in front of a crowd. So hopefully you can see here on the bottom when you’re triggering a rule in the Tag Management System, you can use different page load events in the lifecycle of as a page loads in the browser to trigger a rule, right? So you can do it at DOM ready when the library, the launch, or the Tag Management System library is first loaded at the top. And we’re going to skip page bottom for now. But you can also wait until the window is actually fully loaded in the browser to trigger the rule. So not only do we have to consider how the launch library itself is loaded, whether that’s a synchronous or an asynchronous deployment, we also think about how we’re setting our rule and when we’re setting our rule to fire. But Eric, to your question, when the rule is triggered here by the event, we also have conditions and we have actions, right? And so based on how the launch library itself is loaded in the page and based on which event and when that occurs that triggers a particular rule will determine when these actions are taken. So one thing that folks that are somewhat new to Tag Managers or maybe new to tags is that you can have multiple actions, right? So if I use the Web SDK action rule components or actions and I am going to, let’s say, set my consent level, right, based on the various standards that we have available, whether you’re using an Adobe standard or maybe the IAB standard. But you can set a consent event to be fired by the Web SDK. But since that’s an action that you’re configuring, well, it’s just, yeah, it’s not going to let me here. So I’ll just see if it’ll let me fake a value. And so you see we have the ability to chain the actions, right? So first I can set consent and then maybe I’m going to send an event. And this is just a made-up example. I’m not suggesting that you should do this, but the idea is that you can chain your actions together. So to your point, if you have a sequence of things that have to happen before you send data to Adobe Analytics or to the Adobe Experience Platform Edge Network or to your back-end data warehouse or some API endpoint or a media pixel or what have you, you can group your actions together so that one event in the browser triggers multiple actions to occur in sequence or simultaneously. You can also use data elements as a way to apply transformations to that data. So for example, instead of sending multiple requests in, multiple events and multiple payloads of information in to whether that’s Adobe or some non-Adobe destination, you can work on that in a data element before, excuse me, as part of your action or sequence of actions so that if you want to minimize the number of outbound requests from the browser, you can do that. Does that help? A little bit. I was doing a little research as you were digging into that also. It looks like a lot of that WebVitals information is accessible through data elements. And so since some of those data elements may actually trigger after, depending on what you’re looking to track in terms of WebVitals, they may trigger after the initial call to the Web SDK is made. That means one of two things could happen. One, it could be you don’t care and you want to send an additional server call because that information is really important. Or you could actually save that information and trigger it on the subsequent page and then you would just have to tie it back with the previous page name as well. So you’ve got a couple of different options there. And then finally, if you wanted to create a rule that maybe only triggers 30% of the time or 50% of the time or 70% of the time, we’ve got some rule conditions that you can actually apply sampling to. And this could be one of those examples where sampling is actually good. You specifically specify, yeah, go ahead, click sampling in there. You could say, I only want to collect the WebVitals data on 10% of my visits because directionally, that’s the level of information that I need. And so that’s yet another way to kind of play with your options when it comes to collecting this really vital web, vital data without, you know, all of a sudden you’re doubling all of your server calls that you’re sending in to Adobe Analytics, for example. So lots of different options to be considering there. Yeah, sorry, I totally missed that you were asking specifically about the WebVitals extension. Sorry about that. But yes, absolutely. No, that’s all. We got that. Great call out. There is a variety, just for sure, there’s a variety of things anybody using the system can do to capture those metrics at the most appropriate time based on the page and based on what you’re trying to measure and then to use data elements in a role together, as you said, with the conditions and the actions and other data elements potentially to send that data where you want to collect it for reporting whether that’s you’re sending it to Adobe Analytics or you’re sending it to the Edge, etc. But yeah, great call out. Yeah, you could also use that. That’s a great use case for that sampling. You could also look at the max frequency condition type two, possibly. So if you wanted to use a different way to kind of throttle how many times that would fire that’s a because those are some that I come up often with clients of what would you use those condition types for. But that’s a great example, Eric. Yeah. So I know we only have about… I was going to say, you’re diving into another one here. We have time for about one more quick one here. So this is your choice. Cool. I know we only have about four hours left. So thanks for your tip. So the Google data layer extension is one I wanted to be sure to call out because folks that deal with implementations in the browser folks that deal with client side data collection. We deal with a variety of situations where customers may be moving from one analytics system to another say from Google Analytics. We have quite a few customers who are moving to Adobe Analytics because they’re faced with the whole GA4 thing universal that migration. So we obviously are talking to quite a few customers who are looking to move. And we also in fairness have quite a few customers that use both systems. And so for folks that already have a Google data layer to work with in an effort to make it easier to do less work in the guts of your website so to speak in the data layer itself. We Rob, a shout out to Rob who put this drove this home and put this out in the world. It’s a really great extension for dealing with Google data layer events and working with those events so that when the data layer operates you can work with that data layer from within tags or formally known as launch. And so I’m not going to go too deep into this because obviously there are quite a few rabbit holes to go down here. But I just wanted to quickly highlight it and show it to you that you can in fact work with an existing Google data layer using this extension. And you can send that data to Google or to Adobe or to both to make it a little bit easier if you’re moving from one to the other or trying to leverage the work that you’ve already done. As someone who I know pretty well always says, time that you spend on your data layer will never be wasted. That was not me. Was that Gandhi? I can’t remember who that was. That was close. It was the sage of implementations, Rudy Schumper who may or may not. Wow.
Okay, so quick in the few minutes we have left I’m just going to squeeze in real quick a bonus round even though on the tin as they say the advertisement says that it’s going to be tags, extensions. We have a quick sneak in for Adobe Experience Platform real time customer data platform connections customers. There is an event forwarding feature that lets you send data from an Adobe server to a non-Adobe endpoint or system. So if you want to send data that you’ve already captured client side from your website or your web app or your mobile applications or that your company has sent to the edge through the edge APIs regardless of how you got the data to Adobe once it’s here may as well make use of it and send it elsewhere without an additional client side request. And so we have this cloud connector extension for event forwarding properties. It’s pretty much like having if you’re familiar with Postman working with APIs it’s like Postman on our edge network. If you’re not familiar with Postman that’s okay. What we’re doing really are making these requests to endpoints. And so in this case here’s a rule in an event forwarding property that when it receives a specific event type it executes a series of actions getting data from various API endpoints. So in this case it gets some data from a CRM system and then it saves it and then it gets some data from a weather system and then it saves that response. Then it gets a city with a reverse lookup to a Microsoft mapping API system. And so we’re making a GET request here and then we’re taking all of that data and we’re transforming it and we’re sending it to our backend data warehouse with including the key bits of information that we received back from each of these requests. So again we’re already getting lots of data that we’ve picked up through our rules in tags, our tag management system. We’re sending that data to Adobe and since it’s already going to Adobe why don’t we leverage that data collection and forward it with the additional ability to enrich it or transform it and make a sequence of multiple out and back request and responses a really powerful feature. So I know that’s not a client-side extension. It’s an event forwarding extension but just want to give a shout out for the cloud connector extension because it’s really super useful and can do the work of a wide variety of vendor specific extensions. So just add that in there. And I think that’s it for the sharing. Doug if you want to take it away. Yeah thank you. Those were great. I hope that you guys will find good use from yes our inception there. Find great use from these extensions and the other ones. So explore the other ones in tags as well. But since we’re getting close, running out of time here, we cannot leave you today without of course The unrelated cool tip of the day. And because look because we never quite get enough Jeff Chasen. We are going to turn it back to Jeff. I don’t know what’s happening with him right now. I’m just I’m just it’s too much too much for one day. Because we never get enough. Rudy’s going to mute me for like the next six months. We are going to turn it over to Jeff for our unrelated cool tip. What is our unrelated cool tip of the day Jeff? So the unrelated cool tip is specifically non-technical right? Perfect. Ok cool. So unrelated cool tip is keeping with my ocean theme. I would tell people if you don’t spend a lot of time at the beach or you haven’t been to the actual ocean before. My unrelated cool tip is don’t ever ever turn your back on the ocean. Bad things can happen. Just a safety tip don’t turn your back on the water especially at the water’s edge. That Instagram pic or that you know TikTok video that you want to film. Just don’t do it too close to the water’s edge and don’t turn your back. The other bonus tip that I would leave you with is give people compliments behind their back. Somebody once told me that as a great tip and I try to do that whenever I can. So when somebody is not around that’s a really good time to give them compliments to other people. Just spread the love and goodwill. So those are my two bonus tips. Wow. Both about the back I’ve noticed. It’s all about the back. Something about the back I don’t know. Don’t turn your back on the ocean and give compliments behind people’s back. I like that. I’d give you a compliment right now Jeff but I don’t want to do it. Don’t do it right now. No it’s not the time. We can talk later. Yeah right we can talk later. You can tell us what you think about Jeff.
That’s awesome. Okay. Well thanks you guys. Special thanks to Jeff with all that great info today and to Rudy and Eric. You guys thanks for being our experts again today. This has been awesome. I think this is going to be really helpful to our users out there who are venturing into the web SDK. Thank you to all of you for showing up today. Again go to ExperienceLeague.Adobe.com to not only see replays of this and other data collection shows that we’ve done but also to get documentation and tutorials and videos and all that kind of good stuff. Community as well. So thanks again for coming today everybody. We will see you next time. Thanks Doug. Thanks Doug. Thanks. Thanks y’all.
Questions and comments from the show
Data Element Assistant extension from Evolytics
Question: From a data security point of view, is Evolytics secure to use, as this is third party extension?
Answer: Yes. You can review the extension code if you like, also it does not save any of the date, it merely does a transformation.
Question: Does this capture Adobe ECID as well?
Answer: The Adobe ECID is not captured within that extension. This extension is meant for creating additional, anonymous identifiers (amongst other things).
Answer: The Adobe ECID can be captured in other ways though. We’ll share out that via the ExL notes and Twitter since we cannot share links in the chat here.
Question: The hash functionality does it offer various hashing techniques like SHA-256 and provides public and private keys?
Answer: Yep! SHA-256 is the default
General questions and comments:
Question: What do we click to download the source files for extensions? Is that in the “3-dot menu”?
Answer: Yes! The 3 dots, then Download Source (from the catalog view)
Comment: One of the things I really dig with extensions is the time-saving aspect of them. A lot of them do things you could do with some custom code but with an extension you don’t need to write that code.
Reply: Right on. And it’s repeatable without having to recreate the wheel each time.
Question: How will analytics plugins be supported or replaced with Web SDK implementations?
Answer: Many analytics plugins are actually unnecessary these days thanks to added flexibility of Workspace and Adobe Tags. However, those that aren’t, are actively being migrated for use by the Web SDK.
Question: Any development on Activity map tracking using Web SDK?
Answer: I’m happy to report that Activity Map is actively being worked on for support in Web SDK too
Question: Would we be able to have access to Adobe Edge network to manage events before transferring them over to the end destinations? I understand we can also do it in Launch but in the future would it be possible to do it at the server as well?
Answer: Yes! This is possible via our Event Forwarding feature, which customers can purchase through any of our Real-Time CDP products (Real-Time CDP Connections, Prime, or Ultimate).
Answer: RTCDP Connections (Event Forwarding) provides the ability to have more control before you send it to non-adobe destinations.
Answer: Check out some of our other ExL Live videos to learn even more about this (like this one).
Comment: Quick call out for one of my favorite extensions: There is a mapping table extension where you can read a table for a data element that “if this value is this then set it as that.”
Reply: The flexibility they provide is quite impressive. Also to note, companies can create their own private extensions as well if they choose.
Question: You showed the individual data from CRM like city and weather, so where are we storing the individual response?
Answer: Responses are stored in each unique event that triggers a rule within an Event Forwarding property, and is used in that specific event only.
Continue the discussion on this topic in the Experience League Community discussion.