MARDREAMIN’ SUMMIT 2025
MAY 7-8, 2025 IN ATLANTA - GA

Days
Hours
Minutes
Seconds
🎉 The Event Is Live! 🎉

NOW PLAYING

View the session live or catch the replay here. You’ll find the recording and all related resources on this page once available.

Looking for the Chat?

Our live discussions are happening over in Slack. That’s where you can connect with speakers, join session threads, and chat with other attendees in real time.

Building A Native Event Ticketing and Check-In System With Account Engagement

With in-person events back in full swing, there are times when we’re hosting no-cost in-person events like open houses, receptions, lunch-n-learns, or seminars. In these cases, issuing tickets makes people significantly more likely to show up.

So, how can we issue tickets to registrants using Account Engagement? You don’t have to use third-party services. Instead, you can manage the entire thing in Account Engagement. This method is very straightforward. So it’s easily re-usable for future events.

UnFettered Marketing

Bill

Fetter

Keep The Momentum Going

Salesforce Live Fireside Chat REPLAY

Video Transcript

Speaker 0: Hello, everyone. Alright. Here we go. MarDreamin. We are so excited to have you joining us today. My name is Catherine from Sercante, and I will be moderating today’s session. Before we get started, I wanted to, um, go over a few housekeeping items. Um, the sessions are going to be recorded and will be available on demand after the event. We’ll also be following up with you via email. If you have any questions, please post them in the q and a tab above. And, of course, use the chat. There’s emojis, GIFs, and more. We want to hear from you. So let’s get started. I’d like to introduce you to our speaker today, Bill Feder, who has an awesome session ready for us all about building a native event tick a native event ticketing and check check-in system with account engagement. So with that, let me pass it over to you, Bill.

Speaker 1: Alright. Thanks, Catherine. Um, and I’m gonna get this out of the way because everybody always asks, so I just put a link in the chat with the slides. So you can, uh, you can go get those later when we’re finished. Um, but there they are. Um, okay. So let’s, uh, first of all, say, uh, thank you to our sponsors. And, uh, we’re just we can’t do this kind of a session, uh, kind of an event without sponsors. So we wanna just, uh, big shout out to all the folks that have, uh, made this possible. Alright. Let’s talk about events. Hey. In person events are back, baby. We were we had all stayed home for a long time and, wow, people are excited to get back out, uh, back out and meet some, uh, folks face to face. MarDreaming notwithstanding, maybe this will turn into a in person event sometime or maybe there’ll be MarDreaming locals. Who knows? But, anyway, a lot of you are now having in person events again. And, um, a lot of you are also asking and this is funny because I I put this thing together and then, like, as I was doing the slides and coming up with, uh, my final stuff, I, um, I had a couple of different people, like, ask about this, um, in the in the last couple of months. So, um, it’s a topic people are interested in. And, uh, what I wanted to come up with for for us here is something simple that’s not Eventbrite. So, um, Eventbrite is good if you wanna charge money for your tickets, but a lot of people don’t wanna charge money and they don’t they just wanna have something simple and can I can I do something to keep track of who’s who’s attending and how can we, you know, make it make it easy to find out who checked in? Well, this is for you. Um, now I am not much of a programmer. I’ll say that right up front. So all the solutions that I create on the platform are intended for people with only a little bit of knowledge of how to do programming. And in fact, most of what we’re gonna talk about today is is really pretty standard stuff. Uh, there’s very little that’s super special here, um, but it’s all just taking the things the elements that we have and putting them into a solution that works. So if your skills are limited, that’s great. So are mine. Alright. The first thing we’re gonna talk about is what are we doing today? So first, we’re gonna talk about the process of events. We’re gonna talk about the elements that we need, and we’re gonna talk about the pre event, how you do check-in, and then post event. So, um, this is again focused on local in person events. I also wanted to, uh, give a shout out here to Case nine, which is my, um, which is one of my clients. Uh, they are a specialty Salesforce, um, consultant that does, uh, Salesforce industries deployments. So you’re gonna see their stuff all over this, um, all over this presentation because it’s something I built for them. So I just like to thank them for allowing me to use, uh, their screenshots as part of this presentation. Alright. So what does an event look like? Well, I always like to think of events as sort of a linear process because it is very linear. We have to invite people. We have to register for the event. We have to remind people that they’ve that they’ve registered. Um, they have to show up. They have to attend, and then it’s really always a nice thing to thank them afterwards. So that’s really any in person event sort of follows this pattern. So what do we need in order to do this presentation or sorry, to to do this solution? Well, first of all, we are gonna need a Salesforce campaign. We need a strategy to invite people. We need to register, so that’s some kind of a form. We need some kind of a confirmation email, and here’s the key. We need a ticket in that confirmation email. Then we need a form handler to manage the tickets. We need a reminder engagement. We need a check-in method for our QR code tickets, and then we need a thank you engagement. So those are sort of the elements. So we’re gonna talk about each one briefly. Some we’ll we’ll talk about a little more than others, but these are the pieces that put this, um, that put this strategy together for an event. So what happens before an event? What’s the first thing you wanna do? You wanna create a campaign. So we wanna start with a Salesforce campaign. Always start with the Salesforce campaign. We need to lay a good foundation here. So one thing I wanted to point out is member status is in Salesforce campaign. Because every time I talk about Salesforce campaigns, I actually use an event as the example for it because people know what an event is. It’s very linear what an event is, and it it’s a good way to describe how to think about member statuses. So the first thing you always think about in member status is who do I invite? Right? Who do I invite? Then who signed up? That’s the second member status. Then the second then the third one is who showed up. Right? And then you have this who didn’t attend. And then, um, and so by using these different statuses like this, you can start to get a picture of who did I invite that that registered, who did I invite that attended, and then all the people that didn’t fall into that category, like the people I invited and didn’t show that didn’t register, the people that registered that didn’t show up. All those things become available to you when you use a campaign with multiple different member steps. So what do we do now? We have a Salesforce campaign. Now we need to start planning things. So, um, yeah, I gotta figure out how you’re gonna get people to sign up for this thing. Right? So we’re not gonna talk about this, but these are all the different ways that you might use to get people to register for an event. Now I’ve run tons and tons of events in my career, and I’ll tell you, you gotta use everything you got to to get people to sign up, don’t you? I mean, you gotta use your list emails. You gotta post things. You gotta invite people one on one. You gotta put signature block images custom with custom redirects in your in your emails, uh, that that people are sending out on a daily basis. All this stuff is are ways to get people to register for the event. Some of these things we use to get people to come to our Dreamin’. Send them bribes. Okay. Great, Jennifer. That’s that’s good too. Um, alright. So we gotta invite some people to register. I’m not gonna talk about this. You guys know all the ways you can do is to peep get people to sign up, but signing up is the first thing. So then what do we need? We need somewhere to have them sign up. So here’s a landing page that I built for case nine. Um, and and by the way, this is just a form. This is not even a landing page. This is just a form. Because guess what? A form can be a landing page. All you have to do is send people to the form and because the form has an address, and you can use a form as a landing page as long as it has a template that pretty much looks like a page. So this is actually a form that uses a template that looks like a page, and it just acts like a page. Even though it’s a form, it’s not actually a landing page. So, um, we can use this to register new people or, of course, you can embed that in your website or do whatever you wanna do as as you wish. Right? So we’re using a Salesforce form or account engagement form, uh, I should say, in in this particular instance. Now I’ve also put in, uh, we’re gonna talk about what happens if I have multiple sessions. Right? Multiple dates in this case. The the, um, the client had multiple different dates that they wanted people to, uh, say which date they were coming. So, um, I put in a drop down for this option for multiple dates or sessions. So pick a date you’re gonna you’re going to grace us with your presence. Right? So, um, now we’re gonna talk about how to deal with that because it’ll come into play later. Okay? Now you don’t have to do multiple sessions, of course, but I’m gonna talk about how you would do it how you would do it because it sort of affects the way that some of these other things are built. So the first thing I wanted to point out was, um, you can use a flex field for something like this. So you’ll you’ll see there this field is not synced with Salesforce. It’s just in account engagement. It’s only there. We’re just gonna use it for purposes of our own in marketing. We don’t need to go to the administrator and have them create it in Salesforce because we don’t need it. We’re just going to use this for our own purposes. So I’m creating a special, uh, flex field here that we’re gonna use repeatedly, and that’s the other thing about this whole solution. We want it to be repeatable. So I’m gonna use this drop down for the focus session because this is the kind of, uh, event that we’re that we’re calling this. And I’ve just made this a drop down, but I put no values in this drop down. I have I’ve just said this is a folk this is the name of the field. This is the type. It’s a drop down. That’s it. I didn’t create anything in the values. Why? Because we’re gonna create the values in the form. Okay? This is another part of account engagement that I think people forget about, but I love it because it’s really, really clever and it’s really well you know, it’s a it’s a great thing to use. So there’s three parts of a drop down field that you can use in a form. So the first one is the stored value. Okay? So in this case, I had three different dates in September, the fifteenth, the twenty second, and the twenty ninth. I’m just storing I’m just storing the number. That’s all. Um, and there’s a reason for that, and we’ll get to that in a little bit. The label is what it says when I use the drop down in the form. So I’m saying it’s 10:30AM to noon on Friday, September 15, blah blah. Right? So that’s what the label says when you’re picking it. And then this other one, this third bit, which again is something I think people forget about, if they pick that, add them to this list. Okay? So this is all in the form. It’s not in the field itself. It’s just in the form. So you can make all kinds of forms you want with all different kinds of stored values, labels, and add to list events for the same field if you want to. And that’s how you can sort of make this repeatable. Right? You can just keep changing the form, and it doesn’t matter what that they don’t exist in the original field because we’re just gonna be dropping these values these values into that into that field according to what the form filled it as. Um, so this add to list action is actually also a great way to get around our conditional completion action limitations because I don’t have to burn a conditional completion action asking, well, if they picked the fifteenth, then add them to this list. If they pick the twenty second, add them to this list. I don’t have to do that. I can just do it right here in the form. So I don’t have to use a conditional completion action to place people on list if you have a drop down like this. Alright. And like I said, the reason we’re we’re calling that we’re making those values very, very small and concise for what we’re storing has to do with how we’re going to execute our ticket. So here’s the next part. We’re gonna create a ticket, and we’re not just gonna create, uh, uh, something that says, hey. Thanks for signing up. We’re gonna actually generate a dynamic QR code right in the email that is not generic. It’s a dynamic QR code that is that is incorporating a unique identifier for each person into the ticket. And that unique identifier, what is it? It’s the only unique identifier we have in account engagement. It’s their email address. Right? So we are going to dynamically generate a email that has this QR code in it, and the QR code has embedded inside of it their email address and some other stuff. What are we what else is it gonna be? Well, it’s going to be a form handler. So this this this thing that we see here, this QR code is a form handler with their email embedded inside of it. So we’re using this form handler as a link technique, but we’re modifying it a little bit, and I’ll show you how we’re gonna do that. So we’re rendering the form handler as a QR code. Now when you set this up, it has to be kiosk mode because, obviously, you’re not gonna be registered using this form handler on the person’s device. So it’s gotta be kiosk mode. Remember that. And then you also have to think about and we’ll get to this in a little bit too. The success and the failure locations for okay. If this works, what do I do? If it doesn’t work, what do I do? Okay? And then you can see I have some completion actions there. We can you know, you can do the check-in the the the list, um, you know, add to list here. So this is basically if they go through this and their focus session remember, I had twenty two fifteen and ’29, um, basically, which was the dates of the dates of the event. Um, so when they go through the handler, if they have those numbers embedded into the handler, then I’m I’m checking them in for those specific dates in the in the handler’s completion actions. The other thing I wanna point out here is this bottom thing here, this, uh, the field names. I made it super, super concise. It’s just an e for the email and an f for the focus session. And the reason for that is the simpler the fewer characters you have in your QR code, the simpler the QR code is. So I’m really trying as much as I can to streamline the QR code, um, the QR code individual, um, elements so that it’s as short as possible so the the code is as simple as it, uh, as possible. It has fewer elements in it. So there are several different places where you can create a dynamic QR code on the fly, and you don’t need an you don’t need an account, you don’t need a plug in, you don’t need JavaScript. You are just creating a link that we’re going to render as an image. Okay? Now quickchart I o I o is one of them. I’ve got some resources, uh, that are attached in the presentation that you can look at. Quickchart is one. Um, So what and and if you go to that, um, if you go to that link, it’s gonna show you this it’s gonna basically show you this, um, interface. And you can plug in your your QR code data there and and see what it renders, but we’re not actually gonna use it this way because we don’t want it to render the way they’re rendering it. We want it to render the way we wanna render it. So here’s how we’re gonna do it. You have the API URL in yellow. You have your you have your, um, your form handler code is the blue part, and then we have two we have two we have two I’m sorry. I’m I’m I’m so excited. I’m way ahead on my slides here. Um, the orange parts are your handlebar merge fields for the recipient email and the in the in the individual session, which we collected in our sign up form. So you see that the what I’ve done is I’ve tried to make the form handler information as concise as possible. Um, you’ve got only e as the variable for the email and the, uh, f as the variable for the focus session. Um, and then the yellow parts are the parts that you’re gonna be using as part of the you’re going to be using as part of the, um, of the link that’s going to render the QR code. So how do you get it to render as a QR code? Well, um, what you’re gonna do is you’re gonna use the link that you get from the QR code and you’re gonna render it as an image. So you’re gonna actually use an image. This is the classic builder, basically. But you’re gonna use the image and you’re going to put in the URL as this URL that you created, and it is going to render a dynamic image of the QR code from the quickchart.i0 server. So the code that’s on the bottom of this page shows you how that would work. And if you go through the, um, if you go through the, uh, view as a prospect, you can and you flip to different prospects, you’ll see the QR code changes every time you load a new prospect. The QR code will dynamically render according to their email address. Yeah. Mind blown. Thanks, Kramer. Alright. So that said that said, we’ve got our email. So this this this uses your, basically, your autoresponder. Right? Your autoresponder, here’s your ticket. Right? So boom. You got a ticket. So the next thing we need to do is you need to set up, um, some reminders. Right? So you might wanna build an engagement studio to send some reminders that have that same QR code, uh, you know, QR code in it because we can send a, uh, we can send a, um, engagement studio with a date, you know, a date specific on it so we could set that as the day before the event occurs. And that could obviously, um, then, you know, remind them, hey. You’re coming to this event, and by the way, here’s your ticket again because you just render the same in render the same link again. Um, no problem. And, um, then you can have that ticket. Now the reason I say all this is because if you’re giving them something that you say is a ticket, it kinda makes them feel a little bit more like they signed up for something important or that you’re expecting them to come rather than just saying, oh, hey. See you there. You know, you’ve got this you’ve got this sort of what we would call the the sign up to show up, um, the sign up to show up ratio. And I’ve always found that if you’re issuing people something that they think is a ticket, they’re more likely to show up. So, um, and I was gonna make a comment there about, uh, the wait times of an hour, but I’m not going to. Um, alright. So, uh, for sake of time, um, so the check ins. The check-in. What do we do to check people in? Well, remember I said that was a form handler. So now what? We’ve we sent all these tickets. People are gonna come show up. They’ve got a ticket, um, got a ticket on their, uh, phone. They might have printed out. I have one printed out here. I’ve got a ticket printed out. Oh, it’s not gonna it’s not gonna be very happy. No. It’s not very happy. It doesn’t think I’m a doesn’t want me to show you that picture. Um, but you’ve got a ticket printed out, um, or they’ve got a ticket on their phone. So now what do we do? Well, we have to, um, look at the check-in app. Right? What’s the check-in app? Well, there is no check-in app, actually. I lied. Um, just kidding. There’s no check-in app because it’s a QR code that goes to a form handler. So you can scan it with any QR code reader on your phone. Right? Um, iOS has one built in. It looks like that. Um, if you’re on the lock screen or on the app screen, um, you can use your camera. In a lot of cases, we’ll read a QR code, um, because all you need to do is just read the QR code. And because it’s a form handler, as long as you go to that page, it’s just fired the form handler in kiosk mode. So you’ve signed it, you’ve checked them in, your completion actions fire. You’re good. Right? Now this is why this is so nice because guess what? Everybody who’s working your event has a scanner in their phone. You don’t need to have an Eventbrite app. You don’t need to have a kiosk. You don’t need to have anything else. You’ve got a QR code reader on your phone already. So that’s how you check people in. Just use the reader on your phone. Anybody can do it. Nobody has to download anything. Now here’s the drawback. Here’s the drawback. Because that QR code reader is a separate thing, it’s your camera app, it’s your reader app, getting back to it every time you wanna scan, if you have a bunch of people standing in line or something, it’s a little bit annoying, right, because you have to keep reloading, going back to that app. Every time you check someone in, you have to go back and reload the app again. Um, it’s you know, for most people, it might work just fine. If you’re not expecting a huge crowd, um, uh, what happens if you have multiple prospects to share an email address? Yeah. I can’t do it. Sorry. That’s a that’s a unique key. You know, it’s a unique key. We need to do that. Uh, we need to have something that, uh, individually identifies people. But, um, I have another solution for that if you have multiple people sharing email address and all of them show up. Right? You shouldn’t be using email addresses that are shared anyway. That’s isn’t that the whole, uh, you know, info at, sales at? Anyway, um, so anybody can scan in participants. But what happens if you want something that little nicer than that, little more fancy than that? Well, um, oh, uh, we got the completion actions, like I said. So the the scanning, uh, the scanning of the form automatically hits the completion action. So, um, what else do we what else do we got? Well, um, I actually built rather quickly, um, a little landing page that is a QR code scanner, and it’s run I’ve got it running in account engagement. There is a library out there via scanapp.org that has everything you need to create a little code scanner that you can embed in a landing page. In fact, you can embed it anywhere you want, um, and it works. You just load it as a page, and it works beautifully. I’ve got you know, again, it’s not gonna let me show you. I’ve got it on my phone right now, um, and it’s just asking me to give permission for my camera. So I’m gonna allow um, I’m gonna allow it to, uh, I’m gonna allow it to, um, access my camera, and maybe you can see there, maybe not. Okay? That, uh, it’s running my camera, and this is running right out of account engagement. Right? And the interesting thing here is is you can run this any from anything. I mean, it doesn’t have to run-in your account engagement. It can run-in anybody’s account engagement. Why? Because it’s just a it’s just a form handler, uh, method. It’s a method of triggering a form handler is all. So, um, so part of the resources I’ve given you is I’ve given you this landing page code, and you can modify it to your heart’s content. It’s a template. You just do it whatever you like. Also giving you the access to, uh, or I’ve I’ve told you where to find the scan app library, where this comes from. Use it to your heart’s content. It’s all free. And so, um, this is where we have to I said earlier, we have to think about what do we do about what do we do about landing page flow. Right? Because what happens if something happens and we don’t it doesn’t work. Right? Um, what happens if the, um, what happens if it doesn’t work? And, uh, I’m actually gonna show you something right now. Hopefully, it’s yep. There we go. Alright. So this is the same thing. This is the same thing I was just showing you on my phone. So now we got who? You got me twice. Alright? Um, so this is the the QR code scanner. Um, I’m gonna put up this one that I printed off of my page. I’m holding it even upside down, and, you know, at some point, it’s gonna it’s going to grab it, and it’s going to accept it. There we go. Alright. So this is what it’s gonna do. So it’s giving me a link. That’s how this the standard thing works, and I have to click it to check to to to proceed. You can modify this to do anything you want, but I’m just leaving it the way it was. So if I do this, I’m gonna I click this. It’s gonna go to my success page. The success page then reloads the app. Okay? So, I kinda like this. You get me twice. Um, I but I’ll I’ll move that off so you don’t have to see that. Um, anyway, that was the success page. So it it redirected right back to the original page. So that’s where I was saying that’s a little more convenient than the whole idea of I have to keep reloading my QR code, um, thing. You could also use this through the kiosk, like, on an iPad or something. Um, but if it fails if it fails, you want a sign up form, or maybe you wanna put a link on there for somebody who shows up without a ticket. So you want another kiosk sign up form for if the scan fails or if somebody walks up and says, I don’t have a ticket or I forgot my ticket or whatever. Um, just use a kiosk form to sign them in that basically does the same thing. It checks them in for whatever date it is. So that’s sort of the backup plan, um, and that’s why you might wanna use a a, you know, a code scanner app like this because if it fails, then what? Right? Alright. So post event, what happens after the event? Well, ideally, you would wanna send a check-in handler to advance, um, those engagement studio actions. So see if they checked in, and if they did check-in, then send a thank you. If they didn’t check-in, maybe you wanna move them to a no show status in the, um, in your, um, in your, um, campaign and send them a, hey. Sorry. We missed you. Do you wanna sign up for another, uh, you know, another another session maybe? Um, so that it’s always a good idea to use, um, you know, to to thank people for coming and also maybe to follow-up with people who didn’t come because, well, maybe they forgot, maybe they got busy, whatever. Um, but since that form handler is a trigger, you can use it in an engagement studio. So you can actually use that engagement studio as long as it’s running while you’re checking people in. Um, you can use that as a you can watch for that form handler to be completed and use it as a node in your, uh, in your engagement studio to, uh, push people onto the next step in the process. Alright. So here’s a few further enhancement ideas. I know we’re running short on time. So we talked about the walk in form option. You could put it on the landing page. You know, if they walk up and say, I don’t have a ticket, well, push that button. You can fill in the walk in form. Um, you could base, uh, segment your registrations. You check-in based on their status. Like, are they are they leads? Are they not in the system at all? Are they contacts? Are they customers or not customers? You know, you can do all kinds of segmentations, uh, like that, of course, because that’s standard behavior in the system. You could use external actions to send a text message to the prospect owner when they checked in. If you’re, uh, you know, if you’re inclined to be using external actions, there’s a great use of them. You could use a LinkedIn lead form to a form handler, and I’ve talked about that before, as a registration as well. Right? That would work the same as a form. You could just send them into a go through a form handler, but you could basically do the same thing you’re doing with the form. Um, here’s another one that, uh, a lot of people have, you know, mentioned lately and it’s, uh, you there are some link generator, um, link generator tools out there that you can use to generate a calendar link or an ICS file that that you can include on your confirmation thing so people can put it in their calendar. Uh, I’ll put I’ve put a few in the resource page. I’ve put a few, um, of those resources where you can actually generate one. Now you can’t do it as part of the you can’t really do it as part of your, uh, invitation, uh, QR code, but, um, you certainly can, you know, you certainly can do it, um, as part of the the general, um, the general, um, uh, autoresponder you’re sending. And then as I said, you can also send QR code links from other systems. You know, for example, uh, maybe you’ve got a partner of some kind, um, and they would check into your account engagement account. As long as you’re rendering that email address in the form handler in the correct way, it doesn’t matter where it came from. Right? So you could create these tickets in any other system you wanted and check them in on account engagement as long as the format works. Right? Alright. So here’s a few limitations. Session capacity management, I you can’t really do that with with this as as designed right now. Um, wildcards and emails, like a plus sign, they’re flaky with the QR code generator, so be careful with that. Um, if you’re you know, the store date field like I was talking about, you wanna avoid non URL safe characters. So you don’t wanna do 2023 slash 10 slash ’20 as a date because that would not render properly in a URL that, uh, that would be in your, uh, form handler. So you gotta be careful, and that’s why I was saying just keep it simple. Just, like, keep it as simple as possible if you’re storing something that you’re gonna render in the QR code to use as part of the form handler. That obviously have to be free events. There’s no way to charge for anything. Um, in theory, anyone could scan their code at any time and check-in. If they were inclined to do that, they could do that. Um, I don’t know who would, but they could. But the benefit actually of using this QR code method is that a, uh, a bot cannot scan the code. A bot cannot check this because it’s buried inside of a of an image file. So that’s an actual advantage to this methodology because you can’t use you you the the the email link scanners won’t touch it. Um, and then some of these free image generators, they do throttle usage, so you can’t you know, you couldn’t use this for Dreamforce, for example. So I’ve given you a page of resources. Again, I put if you scroll all the way to the top, I put in a link.

Speaker 0: Alright. If anybody has any questions, please follow-up with Bill. And, again, like he said, thank you to our sponsors.