[Music] [Darshil Shah] Amazing. Thank you so much, everyone, for joining in. So yeah, let's get started.
So yeah, before we begin, I'd like to give a brief introduction about me. As Kristin told, I am two times Marketo Engage Champion, and, of course, Champion of the Year 2022. And I also am 2x Marketo Engage Architect and Expert. I also work with Adobe in authoring their certification exams. So that makes me their Subject Matter Expert and Community Advisor since 2022. And I love contributing to community. That's the place where I actually find a lot of interesting use cases that actually makes me go home, solve those use cases, and provide my inputs. And yeah, I personally learned a lot from the questions that come there. And of course, I was a 2023 Marketing Nation Member of the Year as well. And 2x Experience Maker or Finalist, unfortunately, this time I've won. And yeah, Loyal Marketo Engage Advocate. I started my entire career, and I have built it so far on Marketo. Absolutely, passionate about this product and everything that revolves around this product. Yeah.
Okay, so let's see what are the things that we are going to talk about today. So first, we are going to be talking about setting up Adobe Dynamic Chat. What are some of the steps that you should be following while setting it up? Then we'll be talking about the integration of Adobe Marketo Engage in Dynamic Chat, basically. And of course, we'll be seeing what are some of the filters triggers that get enabled in your instance when you integrate these two products. Some of the gotchas, some of the best practices around this will also be following across all of the sections. And of course, I also have some of the cool Adobe Dynamic Chat use cases. And in a couple of Dynamic Chat use cases, I'll begoing into a little depth. I'll be discussing in a little depth. And towards the end, I have some summarized version of the gotchas and pro tips from my experience. And before I begin, I would also like to tell that I was involved with the entire PM team since the inception of Dynamic Chat and currently also, working with them in alpha and beta testing all of the new releases and the new features that they keep on adding product. So yeah. So the first step is, the setup and deployment of Adobe Dynamic Chat. So the one convenient thing about this integrating like Dynamic Chat with Marketo Engage, of course, we'll be covering that. But the setup, just the plain setup of Adobe Dynamic Chat is pretty simple. There is no coding requirement nothing coding requirement. It happens in a breeze. And you unlock a lot of use cases. You unlock a lot of functionalities when it comes to conversational marketing, as soon as you deploy the Adobe Dynamic Chat. So first up, of course, you can build your dialogues in Adobe Dynamic Chat. And you deploy your dialogues on the website. And then we also have ability to target and personalize these dialogues to the people that visit your web pages. And this, the Adobe Dynamic Chat uses the same Munchkin JS that you have on your web page from Marketo. So a person who is known on your website would also be known to Dynamic Chat. So you can personalize based on those elements. And then, of course, you can create, if you are using some of the advanced features of Dynamic Chat, you can create the routing rules. And of course, you can integrate your sales team calendars as well. And of course, once you deploy it, you would, of course, be engaging your site visitors. And in the end, you also have got good reporting and the performance with regards to Dynamic Chat as well. All of this entire thing is available out of the box in the suite of Adobe Dynamic Chat. Solet's talk about some of the basic configuration steps when it comes to deploying Adobe Dynamic Chat. So first off, when you are starting with the deployment of Adobe Dynamic Chat, you should be focusing on aligning the styling of the Adobe Dynamic Chat, of course, with your brand styling. So all of this comes out of the box as well. There'sa neat little section where you can do configure all of these things. And of course, once you're done updating your styling, you can also work on adding the privacy policy link. So this policy link will appear on all of the dialogues, of course, that will popup on your web pages. So in case a person wants to visit that you're like, wants to see your privacy policy page, they can click that link and go there. And of course, once you are done with all of this, you get a nice little JavaScript. This entire JavaScript is a single JavaScript snippet that you put on your web pages. Or, of course, you can hard code it on your web pages. You can also add it to your tag management software. So if you have a tag management software, I would highly recommend you to edit that instead of hard coding on all the landing pages because that's a little bit, it's difficult to like, in case you have like 100 different landing pages, you would need to add the JavaScript on 100 different landing pages.
Then let's, of course, once you are done with the styling, adding privacy policy links deploying, you should also be integrating it with Marketo Engage. So again, the integration with Marketo Engage is pretty simple. Of course, it's a native integration. It comes out of the box as well. So you go to configuration. You go to integrations. There's a little, nice Marketo Engage widget there. As soon as you click on Integration, you are popped up with different fields that are in your Marketo Engage instance. So basically, it will pull all the fields, including your custom fields, of course, the standard fields as well. The one caveat with integrating Marketo Engage and Dynamic Chat is that you are limited to 50 fields as of now. So think wisely and only sync the fields that matter to you. And of course, when this Dynamic Chat was launched, there was no capability to remove the field once it's synced with the Dynamic Chat. But now you can remove the sync field as well. And apart from integrating with Marketo Engage, I also recommend integrating the Dynamic Chat with the Adobe PDF API as well. So with that, you can track all the PDF engagements that happen on the dialogues where you will, of course, put the PDF file. Instead ofputting the blank link, consider putting it via the Adobe's PDF Embed API.
So next up, once you're done integrating Marketo and Dynamic Chat, there are a plethora of filters and triggers that get unlocked for you. So all the triggers, all the filters, you can use it in your Smart Campaigns. You can trigger off your scoring campaigns. You can trigger off your lifecycle campaigns based offon these activities. And of course, all of this integration is native. All the data comes right from Adobe Dynamic Chat to Marketo Engage in real-time. And of course, if we have a trigger campaign, all of those actions in the flow step of the campaign will also happen in real-time. So yeah, in case if you are not using Marketo Engage, if there's a different product that you are using, the integration is not that seamless. And you gotto use Custom Objects, custom activities to get all of that data in Marketo and then run your Smart Campaign. So all of those things get slashed down when you are using the, Adobe Dynamic Chat with Marketo Engage.
And apart from the triggers and filters, you also get to use the trigger tokens. So trigger tokens are the tokens that you can, of course, add it in your Create Task Flows tab or Interesting Moment Flowstab. So these Flowstabs will basically sync data out to Salesforce so that sales people can see it in the MSI or, of course, in the task as well. So any of the data that you put in here pertaining to the Dynamic Chat will get synced over to the CRM. So you see the information seamlessly it is flowing from Adobe Dynamic Chat to Marketo Engage and thento CRM as well. And all of this, again, it's happening natively and in real-time. There's no sync delay that you would see.
And again, apart from all the things that we have seen, the chat engagement data also syncs over to the MSI. So if you have MSI installed in your Salesforce, you will see all of the chat data, including the details when the person engaged. If a person engaged with a live chat, if the person has downloaded a PDF, basically, all the triggers, all the filters that get created in Marketo Engage that are available to you, all of those data get also synced to the MSI. So if a sales person comes to this and they see, like the entire activity log, it will also include the activity or the engagement that the person has did on, like, with your chat channel via Adobe Dynamic Chat. So you see a neat little integration between Adobe Dynamic Chat, the Marketo Engage, and then your CRM.
Yeah. And that's what I've been talking as well. So you see, by collecting data from Adobe Dynamic Chat basically, you are able to enrich your lead data. And we have a use case where I'll be talking about that in the later slides. But you see you are able to collect all of the data from people in a conversational manner. So forms could get boring, but getting data from in the conversational format would be a little bit better than getting data from form. And you can use this data for personalization. And of course, with all of the triggers, with all of the filters that get enabled in Marketo, as soon as you integrate both the platforms, you are able to do a cross-channel targeting. So if you have a person coming in from chat as a channel, you can send out an email. You can send out a push notification to them. You see the cross-channel targeting also happens very seamlessly. And you can use all of the data that you have collected so far for that person in those communication as well, be it email, be it push notifications. Sothe personalization, the cross-channel marketing. And then the third, the third is the sales integration as well. So as we saw, all of the data gets flowed to the Salesforce ultimately, of course, natively. So there's a sales integration right there. So you see the personalization, the cross-channel marketing, and the sales integration, all of the three coming together and delivering the right message to the right person at the right time in a very efficient manner.
And let's, like, we'll probably spend a little bit time here going through the use cases. And we have a couple of use cases that I would like to cover in detail as well. So the top four use cases that I have actually implemented at our customer's place are like one of the use cases to enrich the profile information. So basically, something that I touched upon a couple of minutes back. So basically, forms could get boring, but you always have an option by collecting data in the conversational format from people who are visiting our website. So that's what you can use Dynamic Chat for. And the second is, this is one of the favorite, one of my favorite actually, use case to promote the events and, of course, ease the site navigation so we can have an entire website. And there could be, like, multiple sections, multiple pages, multiplelike, all, sort of, things. And in a lot of case, the website navigation becomes a little bit difficult. So you can use the Dynamic Chat to actually ease the navigation. So as soon as a person lands on your web page, you can have a dialogue popup and see, like, where do they want to go? Do they want to visit the blog section? Do they want to see the, like, some of the product section, etcetera? So you can have the Dynamic Chat popup and navigate the person to the right section very easily. They're just a click away instead of them having to go through your website, multiple dropdowns, like, multiple sections, and then have to find the right section where they want to go, you can do it this way. And of course, promoting the event. So if in a conventional manner, you would promote your event in the form of an email probably. But apart from that, what about people who are visiting your website? And they're anonymous. You are not going to be able to promote the event because they're not a known record, and you might not have sent out an email since they're not a known record. So what you can do is you can have a dedicated dialogue where you are promoting your event and deploy it on your website, probably not on all the web pages, but probably on the web pages where you see, like, people coming on to those pages and you see a propensity for them to sign up for those events. You can deploy those dialogues targeted on some of the web pages. And then you can promote your events. So you can have a link to your event registration page right in a dialogue and provide some of the key information as well along with it, so people are navigated to the event page from the dialogue as well. So you see you are, like, adding a chat as a channel to get people sign up for the event as well.
And then dedicated chatbot dialogues for basically your key pages. So if you are having some of the key and this third use case, kind of, talks is pretty similar to the second use case, the website navigation, but it is, like a little narrowed down version of it. So if you have some of the key web pages that you want toreally want to popup, you really want people to go there, visit those web pages, you can do that. And of course, using the Dynamic Chat, you can do that. And then reduce forms and make them interactive. So as I've been saying, getting data in a conversational format is better, it's seamless than getting data from the form. So you can use conversational marketing using Dynamic Chat to get the data and, of course, to get information from the people in a seamless way. And of course, reduce the form as well. So if you are having a really long form on your web page and you are seeing a little less conversion, you are seeing less conversions on that form, you can reduce the form size, reduce the number of form on your web page as well and convert those forms into Dynamic Chat.
So one of the use case that I want to discuss a little bit on detail is about promoting the events, basically. So what you can do is you can create a dedicated dialogue for promoting the events deployed on the web pages where you feel people visiting there would also be interested in attending those events. So as soon as the person would visit that particular page, they would be seeing this entire dialogue. Like, of course, it will not be shown in this way. It will be shown like this is the backend how we design the dialogue, but they will be shown with this dialogue. And they will be given little information about the event and end of the dialogue. They'll be asked whether they want to sign up for it or not. And of course, you are driving your registration process from the chat as a channel. And you can also have a goal stage as well at the end. So if a person signs up for the event, a goal stage or a goal activity also gets created in Marketo.
So that's how you also can gauge the success of your dialogue in Marketo and run your scoring again as well.
And the second use case is basically, regarding the triggering Conversational Flow on a click. So Conversational Flow is one of the advanced use case of Dynamic Chat. And it basically, allows you to open up a chat popup as soon as somebody fills out a form. So basically, that's one of the way you can use the Conversational Flow. But one of the interactive, one of the second use case for using Conversational Flow is to trigger the Conversational Flow using a click, click of a CTA. So you create the same Conversational Flow in the same area where you'll create the Conversational Flow for a form. It's just that you use the Java it's like the entire JavaScript. The JavaScript would go to that CTA. So as soon as somebody clicks that CTA, and it could be anything. It could be any of the JavaScript DOM event. And that DOM event could actually trigger that conversation flow, and people would see that Conversational Flow as soon as that event happens.
And yeah, you see, somebody, like, clicks that particular CTA. They see the conversation flow live in action. And this Conversational Flows JavaScript code that we saw in the earlier page will be added to the landing page be it. In this example, I have shown a Marketo landing page. Need not be a Marketo landing page, just any of the Marketo page or a non-Marketo page. You can add that particular JavaScript code, andit will run. And the entire JavaScript code, the system gives you out. You are not supposed to, like, code anything, do any customization with it. The entire thing is like a no code thing.
You basically do not write any of the code for this.
And some of the gotchas and pro tips from my experience, basically. So there could be a way where a single landing page can have multiple dialogues on it. And a person on it may also qualify for multiple dialogues. So for avoiding that, for that, always consider assigning the right priority to each of the dialogue that you create. So a dialogue with the highest priority will get picked up in case multiple dialogues get qualified for a person visiting the web page. And secondly, consider creating dedicated dialogue for anonymous visitor as well. So these dialogues allow would be created in a certain way so that people who are anonymous, who are new to our website would be, they would see what you are offering, and ultimately, you would be adding these people to the database as soon as they provide the information. And prioritize essential fields while integrating Dynamic Chat with Marketo as well. So earlier, as I said, there is an upper limit of 50 fields that you can sync, like, with Marketoand Adobe Dynamic Chat. So you, like, if your instance has a lot of fields, you gotto be prioritizing the fields that you would be using in the Adobe Dynamic Chat flows.
And if your site utilizes a content security policy, consideradding like white listing all of the Dynamic Chat URLs. And these URLs, you can get it from the Chatbot Settings, Configuration, and then Installations.
And there are multiple ways in which you can share PDFs through dialogue. But always consider using the PDF Embed API that I talked about earlier. Because if you do it the other way by linking out directly, you would not be able to actually get those data over to market. We'll be losing only engagement data.
And of course, Conversational Flows can also be triggered via SDK on a click of an action. It's not just on the form fill or form submit. And the availability toggle in the agent inbox will override what to enter in the Live Chat Availability tab. So this is something that not a lot of users know. But yeah, and yeah, one of the last step is it's not a mandate but consider updating the account profile picture for Dynamic Chat so it aligns with our brand statement and people are able to relate it with more. So yeah, that was my little presentation.
And apart from that, when you get back, I have certain next steps when you get back. So of course, explore and set up. So explore the areas where you can use the conversational marketing, the Adobe Dynamic Chat in your company. And apart from that, of course, consider integrating Marketo Engage with the Dynamic Chat. And the Dynamic Chat comes free, of course. The select free, it comes free of cost with Marketo. And once you are done identifying the use cases, implement those dialogues, deploy it on a web page, and along with that, continue measuring the performance of the dialogues and improvising on it. So yeah, thank you so much.
[Kristin Farwell] Thank you so much, Darshil. We have one more presentation. If you guys have questions, please hold them. We're going to invite Darshil back up right after our second presentation, and I'm going to get right to it because prepare to be entertained. Our next presenters are from CrowdStrike. We have Jake Schlan and Foley. They're going to be talking to us about Custom Objects. [Jake Schlan] All right, so I'm Jake Schlan, Senior Director, Growth Marketing at CrowdStrike. Team is 96 people now, so analytics, ops, operations, obviously, digital marketing, demand gen, all that fun stuff. CrowdStrike is always hiring. So if you're on your laptops, a lot of you are, crowdstrike.com/careers put in that application. You saw us at Summit, so we'll put you at the top of the list. Foley, what are you? Champion, A few times. Foley. [M. Foley] I work on Jake's team. My team manage integrations, platform integrations, all the APIs, kind of, all of the backend magic.
He's a smart one. Old and busted, new hotness. That's the theme of our presentation. You're going to see it play out here. First of all, though, I told my brand team I would help them out. They spend a lot of money to do things. Does anyone know who these guys are? Can I get a show of hands? You know who they are. See? We're failing. Not doing well. It's from our Super Bowl ad. You don't watch the Super Bowl? No? All right. Vegas is the wrong spot for you then. Next year, we're going to Milwaukee, all right? Who is CrowdStrike? So CrowdStrike's huge. A lot of you don't know us, right? We're a cybersecurity company. If you work for a large fortune company, there is a fantastic chance that CrowdStrike is your security provider. They're the ones that power your InfoSec team that tells you that no, you can't do that integration. No, you can't buy that tool. Nope, you need a DPA for that. That comes back to us. Keep the company safe. Keep you safe so you can get your jobs done. Some great stats up there on the board. One more ask from the brand team. Different brand team this time though. Do we have any F1 fans in the house? See? Better than the adversaries. Giant robots? No. Race cars? Vroom. Let's go. All right. So obviously we are for many years the safety car. That's us. It's our safety car. So of course, we never root for bad things to happen, but that press coverage and that red flag comes out is fantastic. We also sponsor Mercedes. You'll see us right on the, in front of the drivers this year on all of the helmets of the Mercedes team, so fantastic on that front. Now I really did mean that on the old busted new hotness. So, Foley, tell us what we're going to be learning about here today. Yeah, so the big thing we're going to cover with Custom Object is how they, kind of, went from something that was more obscure to now a core thing that we see offered from all vendors that are integrating with your Marketo platform. So we're going to cover the history of it in five minutes. But the big thing is knowing how we got here and understanding why more and more vendors so whether it's your webinar vendor, your content syndication vendor they're on the sly sometimes. They've just added a Custom Object Integration, which is very valuable. And you can get started on it without any APIs. And so we want to, kind of, talk about a very targeted use case where you can keep things simple, right? You don't need a blown-out instance. You don't need a huge stack where you have lots of custom API tools or many to many relationships. We just want to focus on how you can leverage this right now without any custom API. Yeah. Keep it simple, Supen. My favorite, Jake hungry, Jake eat. Keep it simple. It works out fine.
So what does that curve look like, right? So we have advanced, home-grow. This is Custom Objects curve, right? So back in the day, they were there, they were cool, they were there. You know, a lot of you saw them in Marketo Engage. You didn't do shit with them. The product team knows that too. They've gotten better over time. I will watch the cursing. I got notes on that. I will not watch the cursing. We moved in novelty. It's a little there. Now we're at the end, preferred integration. So again, new and busted, old hotness, but it's where we have to go. It's where you do, It's where your vendors are going, so we're going to walk you through. You have to do it. If you use Dynamic Chat, you don't. We're going to give Darshil a shout out there too. But if we look at the larger third-party ecosystem, this is the way they're bringing the data in today. You gotto embrace it. You gotto go there, you're going to get left behind. And there's a multitude of benefits to you besides that.
A peacock. Why do we have a peacock on our slides? Because we're going to Strat.
So the whole thing is this, Don't Be Basic, Be Slaysic. So the thing with the Custom Objects, it gives you all of these benefits. We have a more flexible data structure, got better analytics, all of the things that all of the stakeholders' love. And so as Jake mentioned, it's really just you want to dive in, right? It's like they're sitting there. They're waiting to be activated from the vendor. And you don't need to build all of this complex stuff to get it going. So this is all of the stuff that the back-office loves, everyone enjoys. So we just really want to make sure that people are getting the most use of them. Sitting and waiting. Don't put baby in the corner, Foley. We've talked about this. All right.
So three main integration types, right? Back to the theme last time, I promise. I just love it. MIB watched it on the plane here. Shitty selection on United Fly Delta, you saw ad on that one. Person field sync, field and program, Custom Objects. So I'm going tohandle the old and busted because I don't spend as much time in Marketo as I'd like to anymore. So I remember that 'cause that's where I built my career on. Now we have the new fun stuff, right? But before we jump into those, this is a lot of dots. Seems complex. Foley, take us away. Yeah, so when thinking about, "I got to get these Custom Objects going. "It's like, okay, we have all of these channels, content syndication, webinar, events, surveys, all of these different platforms that you're using. You may have several vendors for each of those channels and it's like, "Okay, I got to do custom-- It can be very overwhelming to be like, how am I going to get these Custom Objects spun up?" And it can just seem like everything everywhere all at once.
And so the thing that we're going to focus on, though, is if we look at what's actually happening in those platforms, right, someone downloaded content syndication, they watched a webinar, they attended an event like this one, right, they're starting to sound like Marketo program statuses, right? So can we get the bigger goal here is can we just get these complex objects into an object we're all familiar with like the Marketo program, and then let all the magic happen, right? You can just assume the rest works for this discussion. Like, assume scoring and assume routing and everything that you have afterwards works because it can get very complex, right? If you're trying to map all of this out with your Custom Objects, you can really weigh it down. But it's like, if I can get it in the Marketo program, then I can trigger all of my scoring, my routing, and my sales or CRM sync.
Cool, and just to underscore that, in our instance, when we're creating Custom Objects, when we're in that platform so if you're in your content syn vendor we have an attribute a field on our Custom Object called Target CRM Campaign ID to literally say, this is where it's supposed to go. All of this other stuff could happen, but at the end of the day, this has to reach this campaign. So this is really this is the core of what Operations does, right? Our field teams are out there. Our demand teams are digital teams. They're getting people to websites, to download pieces of content, to engage with chat, Darshil, to come to an event, to do whatever it may be.
That's great. That doesn't make money. My core KPI at CrowdStrike, the one thing I'm on the line for is pipeline generation. That's it. That was my job. Ops helped me do that. How does Ops help me do that? They get all of the work from marketing into the hands of sales. We're a B2B company. You can't just put in your credit card and buy us. You actually can. That's not true. But most of our revenue comes from sales doing it. So how do we get this to there? How do we arm our sales reps, our SDR team to have that conversation? So how do we used to do this back in the day? Back to when I actually started, 20, 15-ish, 20 years ago here before mops was mops like some of you in the room.
It was nice and simple, right? We were like, "Wow, there's these things called Forms. They write it. There's a marketing automation platform." You know, I was started on Silverpop not Marketo, which y'all look young for the most part, so never mind. But okay. API call, incoming person fields, create update person, create update CRM. You see it through here. This is the basic flow, right? Now if I look at JD, JD's like, "This shit's going to break. I already know this." I've been there, seen this game, right? But this is where we started. This is how it worked. Unfortunately, in the data that we worked with the Adobe product team on, this is where most of y'all are still in your instances. And this is way back in the day. There's more that we can do here. We're going to run through in a bit the litany of reasons why you can't use this, what you're going to run into. This is where we were back in the day, right? Then we got to two. We're like, all right. We knew what those pitfalls are. Pitfalls are a slider too damn. So we got to two. Slightly more complex. Look at that. It splits. There's two arrows. There's an extra box. But in essence, it's the same thing.
You update a field from a list upload or form. You sync that field to Salesforce, whatever your CRM may be.
So walkthrough, write what I just said. There, sync it over. Some of you got complex and you were like, "Okay, I'm going to use the previous value of the field and append that in and then append the new value on top." And then you end up with this long field that you can't actually use for anything as you go on.
Easy set up, though, that's a benefit. Requires only person, program objects, right out of the box. It's simple. It's there. It's in the tree that hasn't been updated in a dozen years. And it can, route leads that are there, right? So yes, I accomplished everything fully put out there in this very complex file. I did it, guys. Nice and simple, right? Except it doesn't actually work that way, right? Why doesn't it work that way fully? Yeah, I mean, mapped out, the simple thing works. But the problem is, in the real world, we've got the gremlins, right? Once the system stress starts, your Campaign Queue gets backlogged. Who knows when that's going to resolve? Everything's going to resolve at once and crazy things start happening. You will also have some vendors that are batching their activity, right? Content syndication, we're going to give you all the leads once a week. We'll give them to you once a day. The same lead might hit multiple times.
And then stakeholders, understandably, they're like, "Well, wait a minute." When I'm in the webinar platform, I can see all of this data on how long they were watching the video. I can see if they were like binging. I want that data. Why can't I get that in the system, right? So they're like, give me every field ever.
So it starts to look like at this, right? We think it's going to go well. It goes well when you have low volume, one vendor, two vendors, not batching in. It works. It's fine. Maybe that's why a lot of us are still using it. But as you grow over time and more data comes in, it breaks. That's the reality of it. You get to go and look at your SFDC sync errors, and you got your lock errors and this error, and then we all know that's a pain to actually get Marketo to do something there a second time on it.
So there's a better way on the frontend. Don't structure it like that, right? That's what I said on that previous one. See how it tracks out of there. So perfect world, it would look like this. - Foley? - Yeah. So again, when you're first setting up people like, "I don't need a lot of fields. I just need the webinar ID and the status. I just need the program name." Everything's fine. It's going to be great.
You go to the next one. Sorry. No, you're good.
But we all know how this works. Three months later, it's like, "Actually, I need all of these things." There was a chat, there was a poll. I just need it all actually. And we think about this for every single channel you have and then every vendor within that, right? So now the lead person object has exploded. You have 900 fields, you don't know what's going on at any given moment. It's all getting crisscrossed. Sales is like, none of this makes sense, and it's just kind of a mess. But, Foley, I want all the fields. Darshil said we could only have 50. You can have them. We can have all the fields? We'll get to that. You can have 50 fields. 50 fields.
And the big thing with this, too, is when we talk about getting it in the Marketo program object, I've seen more and more, even at Summit here that attended will no longer be you just access the webinar, right? It has to hit a two-minute mark or a one-minute mark, whatever you agreed upon with sales, for scoring and other purposes. But that data does matter, right? We can make fun of people saying, like, "I need all of the fields, but that is really important." Right, telling sales that this person watched it for at least this long is a big deal. Huge. Cool. All right. So that was the old way. We solved that, right? We got a nice iceberg. All of the fields are out of there. It doesn't work for a litany reason. Do you want to ask us after, come up to the mic? I was in stroke, could you have to come up to the mic, no shouting? We'll tell you of litany, we can go on about all of the reasons it doesn't work. Large enterprises, even smaller ones that we've been in, it's going to fail, it's going to go. This is the solution. They've built us the solution. We just need to embrace the solution. Bring it in. Big hug, y'all. Don't do that with the mic. My bad. Sorry, Amy. - Foley, what should we do? - I don't know.
Cool. So Custom Objects, obviously, Type 3. So the thing is there's lots of documentation on this. It can get very heady. There's, like, many to many relationships. Again, people building, like, proto CDPs. There's really advanced use cases. But again, if we just want to focus on this current context that we're talking about, right, just getting it into the Marketo program, it will help, right? So when you're working with a third-party vendor, a different platform, there's usually three ways that they're going to work with a Custom Object, right? They're either going to create it, so you'll be in their platform, you'll be in the webinar platform, and you will enable the Custom Object, and then they will just take care of all of it for you, right? Their API will just build it in Marketo with the fields and it will all be great. Then there'll be ones with the service will define it. They're not going to build it, but they'll give you detailed documentation. These are the exact fields you should create. This is how you should do it. All good. And then there is ones where they're like, we're not really going to help you, but we do have it. So if you create a Custom Object, you can map it yourself. Again, you won't need to do these API calls, yourself. You'll be making the calls from the platform that you're in. But that's basically the three ways these are going to break down. And then you're with a Custom Object, you have to pick a linked fields. But for all of these use cases that we've talked about that just getting this core activity in, it's either going to be person ID or email address. The documentation get very heavy because of all of the different use cases, but for this one, that's all you need to worry about. And the linked object is always going to be the leading person, right? So easy-peasy so far. And then the only thing to worry about is what are the Dedupe Fields are going to be? What is going to make that object unique for whatever you're doing, right? And so it can be something as simple as there's an event ID and there's a person, right, the email address. But some vendors, depending on how they've set it up, if we're at an event with multiple sessions, the session ID would ideally be unique, but some of them aren't, right? It could be session just 123 and then another event is session 123. So in that case, you have to have three fields that make it unique. You have the event, the session that it's in, and then the email address, right? So that's all you need to worry about is what makes it unique for that vendor. Foley, so what you're saying here is that if I didn't want to just know that Foley, James, came to Adobe Summit, I want to know the eight sessions that Foley went to. So you're saying that I can just put all of that in a Custom Object and not just write over the field and hope the sync makes it in time for the creation of the campaign members? Exactly. In fact, it will create multiple Custom Objects for you, and it will be even cleaner, which we'll get to. So this is just covering the Dedupe Fields. Again, you'll see that this is the only one you need to worry about, and just think about what's unique. So in this one, it's the session ID.
When we think about how the Custom Objects what they'll look like, we'll take the content syndication example, right? So we've got our field set up, we've got the Custom Objects set up, data's coming in. Great, september 5, person downloads White Paper A. Fun. It does it again a few months later, White Paper B. Then they download another White Paper in February. Awesome. So all of these objects are there. It's all nice and tidy. We're not dealing with, like, data value change hell and going through the activity log and, like, all of that craziness.
Another thing is it can look intimidating when they go over how the Custom Object work, but it's actually pretty simple. That first step, we've added another call, but that's just 'cause the lead needs to exist, right? You can't add somebody to a session. You can't say that they attended a webinar if they're not in Marketo. So again, just encourage, like, look past the documentation that's trying to make it more complex, and it's just like all we're doing is just adding that one call, and then it's everything else we discussed.
Cool, and so for Custom Objects in action, we're going to see here flow steps. We're trying to get people in programs, right? So when you create a Custom Object, it will give you new triggers and you can then filter on those, right? So in this case, we're saying if someone is added to this session, to this event, and their virtual attended date time is not empty, great. That probably means that they attended virtually. We also have a Smart Campaign that's for in person, and we'd expect a different field that has an update about in-person attended daytime. So again, you're just using that to bring them into the object, and then great. Scoring and everything just works. Another nice thing is you have the field depth and access. So what Jake was talking about, like, how do we actually access all of this stuff? It's a mess in the activity log. Here in your Smart List, in your triggers, it has access to all of the data that's for each of the objects. What I love with PathFactory that just not the last asset that they looked at is what syncs over. I actually get to see that they clicked through several of them, how long they clicked through them. All of that is still there. And the new triggers in this case are actually a good thing. My therapist tells me I should not be getting new triggers, that I have enough. Gotto keep that BP down. But this is a good one in this case, you're saying. Absolutely. Yeah. Well, similar to what doctor was saying, the trigger tokens will have access to all of the fields, which is really great.
It's only on creation, but there are many great use cases for this. UTMs obviously should not change, so you can just take the trigger tokens for your UTMs that are coming in and just put it right in the Program Member Data. And like Jake was just alluding to, when you have your system stress, so you have the trigger hitting multiple times or you have the backlog and they all resolve at the same time, these will resolve as three different values because it knows that they're different triggers, right? It is not the last lead dot, right, and you're stuck with that. So when you're syncing to your CRM in the previous sync models, the ones that Jake went over, one and two, you will only get the last one, right? It's the last value that resolved. All three will resolve in this case.
There are a few gotchas which we could talk about, but the biggest is that the trigger tokens only work on creation. And you can't edit through flow steps, right? And that is very annoying, right? If you don't have a custom API thing, but again, now that so many vendors, third-party vendors, are enabling this on their side, that's where you're going to be editing it, right? That's where you're going to be making the updates. So it's really opened up a lot of doors that so many vendors and now that so many have done it, they're all like, it's competitive now, right? You don't have a Custom Object Integration? That's going to be a problem, right? So they're all trying to make it happen. And that's really where you're going to be editing your objects.
Cool. So for advanced use cases, one thing that we talked about, this framework of just, here's the CRM campaign that we're trying to get into, Custom Objects have a bulk endpoint that's very clean. You can just get all of the objects for a specific vendor or a specific integration. And then we know this is the campaign it's supposed to be in, right? So now we have the campaign, and we have the person ID or the email address. We can just put that in the data warehouse and join it to the Salesforce table. We can just skip and say, did everything that was supposed to happen to Marketo happen? And whichever one's failed to join, send alerts, right? So we just find out right away. The vendor said they sent these leads for these activities. Did it make it into Salesforce? And then for more advanced use cases, you can actually edit the Custom Object. So a vendor may create the Custom Object in your instance, but that doesn't mean that you can't make some edits to it yourself, right? So you can we add our own fields, and then we have some real time processes that are running to tag these objects to say, "Wait. This campaign ID doesn't even exist." So there must be an error on the other side. Like, someone put in they may have fat-fingered the campaign ID. Or, like, this status doesn't exist, so this is going to fail. This is not the right channel status.
Or you may have row locks or other really fun things, and so in real-time you can just evaluate these objects, stamp them with their errors. That can create more triggers for retrying and repairing.
But the last piece of this is just those are the advanced use cases, but you can get started right away. In database, there's the good old import Custom Object data. It's easy to forget that it's there, but you can just take a CSV and start uploading Custom Objects. You can do practice triggers. I've done this myself, like, the ones we were showing earlier, where you're just messing around with the object, and you want to see if it's going to work. Well, if you don't have the API service set up yet or you're still working with the vendor, you can start testing that right away. You can just fake the object in the import and see if all your triggers work. And so it's just a really nice way to, like, pretend you're the vendor that's sending that data over.
Plus, you said my favorite phrase in the English language. - Edited it-- - Yeah. - Great. Love. - Edited it-- Edited it-- Yeah. It's just so much fun to say. All right. That's what we got. [Music]