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.

Grab And Hold Those UTM’s: Advanced Touchpoint Attribution Techniques

In the past, determining marketing attribution using UTMs with Marketing Cloud Account Engagement was limited to a same-page-same-visit form fill. What if you could hold those UTMs across multiple pages and even across multiple visits, until the visitor completes a form?

This session lays out a process using a simple low-cost third-party tool that works on ANY website and enables tracking of UTMs across site pages. It even tracks visits between landing pages and your main site. The process works by capturing first- and last-touch UTMs in hidden fields on any Pardot form and on any page.

We will further explore the process of setting first- and last-touch UTM fields that flow through Salesforce from leads to opportunities. Ultimately, you’ll have the power to attribute newly acquired business to specific UTM campaigns.

UnFettered Marketing

Bill

Fetter

Keep The Momentum Going

Gemini and Marketing Cloud at scale

Increase your Marketing Qualified Lead Pipeline with Agentforce

Video Transcript

Speaker 0: Hi, everyone. Um, while Bill is pulling up his screen, I’m gonna introduce myself. My name is Jennifer, and I work for Sercante. Um, very happy to be introducing today’s speaker, Bill Feder, to speak about, uh, UTMs, how to grab and hold them, advanced touchpoint attribution techniques. Um, we’ve got a jam packed session today, so I’m gonna slip away into the background and pass things over to Bill to take us through the content.

Speaker 1: Alright. Thanks, Jennifer. Uh, like like she said, my name is Bill Feder. I’m a Pardot, uh, marketing cloud account engagement. I just can’t get used to that. I’m sorry. Um consultant uh for several years on my own and many more years before that at a large corporation but what I’ve been doing the last few years is helping out a lot of small and mid sized businesses, help their, um, get their Salesforce and, uh, marketing automation systems in order. And one of the big things that, um, they often will talk about is how do we figure out how to attribute our marketing spend to the deals that we have, um, the deals that we’ve, uh, put into opportunities. So we’re gonna start with the question of who is this presentation for. And the first thing is you can do this with any addition of marketing cloud account engagement. Um, it will work this technique will work with any addition, so, uh, you don’t have to worry about having certain features or not. It will work with anything. Um, and it’s generally for people who are using third party traffic generation for your website using UTM, uh, UTM codes. So they might be banner ads. It might be pay per click. It might be some kind of remarketing. It might be ads on some third party site like an industry site. And this, um, particular technique does necessitate the use of Pardot forms, um, marketing cloud account engagement forms. I will give you examples. Also, you can use this technique with landing pages, which is rather interesting because, um, oftentimes your website and the landing pages don’t play nice together. This technique will allow you to do that. Um, also, we’re gonna talk about how to make this, uh, information flow forward using leads and opportunities. Um, so that’s, uh, kind of part of the deal. And what we’re looking for is a simple solution. What again, I’m I’m talking to small and midsize businesses generally. They don’t have a lot of money to be building elaborate third party, um, third party data systems and so forth. So we’re what we’re looking for here is a relatively simple way using tools that we have and and one third party plug in, um, to be able to, uh, make this make this thing work. And, really, the purpose for this is figuring out where the money go. Right? Where did all the money that I spent on third party ads, did it result, uh, did it result in anything? Now the the challenge that we have with the built in, uh, capabilities inside of account engagement is that, really, it only will capture those UTM values on the first first touch, first visit. Um, and sometimes you see them, but but most times you don’t because people don’t necessarily convert the very first page that they, uh, that they visit on your site. They’ll do something else like, for example, this. Um, if UTMs are only good on the first page, but people go, uh, people are very good at seeing squirrels and deciding to go somewhere else, so they might hit your landing page, but then they might go to your website and hit a page there and another page, and then maybe on the third page, they find a contact us form and decide to fill that out there. Now with the standard capability that we have in the system, we only get the attribution if they fill out the form that’s on the first page. The third the the fourth page on this visit, we wouldn’t see anything because it’s not first page first visit. So what do we do about that? The other problem that that we often will see is people will visit, and then they’ll come back later, um, And they don’t have UTMs because they were like, oh, I’m gonna, you know, start going back to that site, and they type in your website, uh, address, and they come back as a direct visit. And they might fill out the website the the form on that second visit, and your UTMs again are gone. So how do you keep hold of these UTMs so that you can see, did my advertising actually bring someone to the website to do something? So how do we fix this problem? Well, first of all, we need to just ignore the default UTM capture capability completely and just rebuild it with first party cookie capture of these UTMs. So here’s the elements that we’re going to use. Here’s the recipe, if you will. First of all, we need a first party cookie, and I’m recommending this tool called UTM Simple. Um, it’s very, very lightweight, um, and and pretty inexpensive. So it’s it’s depending on your site traffic, but it’s it’s relatively cheap. Um, and it is it creates a first party cookie with a few lines of JavaScript. You can deploy it via Google Tag Manager. It’s very easy to do, and you just basically put this on your site pages and then on your forms, this JavaScript. And that’s gonna capture the, um, that’s gonna capture the UTMs for you and hold them for up to thirty days. The next thing we do is we need to create some custom fields, and I generally recommend creating those custom fields with the name that exactly matches what’s used in the, um, in the cookies. So first underscore UTM source and UTM underscore source and so forth. So we have a first source and basically a last source. So the idea here is we’re gonna have the first source hold the first UTM that was seen and let the last source the last one float. So we let we have the first one be static once it’s captured, and then the last one, we let we let move, uh, move around if somebody comes in on a different, uh, UTM. So this way you get basically first touch and last touch. And then forms, um, we need to create account engagement forms with the custom fields as hidden fields in the text input. And as I mentioned, the first one doesn’t change. We let the second one change over time. We’ll let we’ll get to how that looks, uh, in a moment. And then the process is that we have downstream field mapping in Salesforce from lead to contact to opportunity. Now the idea of this is that we have in this in this sense, a, um, we have an attribution that relates basically net new net new prospects that are coming into the system to, um, to our prospects, and and we’re able to capture that forward to opportunities. Now you notice I haven’t mentioned campaigns here at all, and I talked about campaigns last year. This all is independent of campaigns. You can also do lots of stuff with campaigns as well with the campaign capability. But all of this all of this is working in the completely independent of the campaigns. So it gives you another element another element of attribution information in addition to how your campaigns are working. Alright. So I’m gonna show you a a very small demo that, uh, I did at Dreamforce because this is this is, uh, basically, uh, let’s say it’s a a repeat or enhancement, if you will, of the presentation that I did with Dreamforce. So I’m gonna show you three pages, uh, off my own website. So I’m gonna show you a blog page with UTMs, and then we have another page on my website, and then we have a Pardot, um, marketing cloud account engagement landing page with a form on it. Okay? So I and and I’m gonna show you this. And the reason I’m showing you all these slides is this will be available for download, and you can kind of play with it, um, you know, play with it as you as you wish. Um, but I’ve actually got I’ve actually got the pages already loaded here. So the first thing is that first blog page that we mentioned. Um, and up here in the top, we can see that we have a bunch of UTM UTM values in that address bar. Okay. So that’s let’s call that my landing page right now. The second page I clicked from the first page, and there’s nothing in the bar. There’s nothing up here. There’s no UTM at all. So are they still here? And and this this page kinda shows you where to look for them, but I’ll and we’re gonna do that together right now. So I’m gonna hit the inspect here, and we’re gonna get our inspection window. And now we’re gonna go to application and look at the cookie. So here’s the cookie for my website. Okay. And I got a whole bunch of things in here. So easiest way to find this is just type UTM. And you can see now I have I have UTM values on this page, even though this page itself, there’s nothing in the there’s nothing in the browser that says UTMs. But these UTMs have been put into the cookie. And you can see I’ve got an expiration of a month from today because I click this today. And I’ve got these five values I’ve got these five values in on this, uh, stored in this cookie on this page. And now we’re gonna go to the third page, which is the account in, uh, account engagement landing page. See the go up here, go unfettered. Um, for some reason, my demo org has decided to not like the the secure site license. So if you try this yourself, you may get a an error and, uh, just, uh, it’s okay. Um, I’m not sure what’s going on. I’ll have to see if I can fix it. Um, so I’m gonna type in an email here. Let’s type in, uh, dragon@margreeman.com, and I’m gonna hit submit. And we should see here that I have those are all that I I what I did here was on the form, I created a thank you page that which use merge fields for all the hidden fields with the, uh, all the hidden fields with the UTM codes in them. So, um, this is all the UTM codes we’ve captured that show up right here on the page. And let’s inspect this one, and we’ll see once again in the application and in the cookies. Now see the cookie is go.unfeddermarketing.com. But if I type UTM here, again, I’m gonna see look at that. I’ve got all the same I’ve got all the same values from the UTMs even though this is actually a complete this is this is this is account engagement. This is an account engagement landing page, but it’s passed those, um, it’s passed those UTMs from the root domain down to this subdomain. Now the other thing, um, that you get here that, um, I didn’t talk about at Dreamforce, but I’m gonna talk about here is, um, you’ll you’ll notice there’s an extra field here that’s that says handle landing page. And if I type if I type handle h a n d l here, it’s gonna show you a bunch of additional fields that you get with this, uh, solution. And you can you can pull these into your hidden fields as well. So what this gives you is the referring domain. It gives you an original referrer if there was an original referrer. It gives you the landing page, which is the first page that you hit in order to, um, to visit. Um, it gives you the URL, which is the the, um, the page that the the form that the page that you’re on right now, um, and then it gives you the referring domain. So there’s there’s additional fields that you can actually, uh, pump into your, um, pump into your hidden fields here and get even an even more additional attribution. And it’s all part of this it’s all part of this, uh, this little, uh, UTM simple tool. Um, so I didn’t mention that, and it’s not in the presentation, uh, information, but it is something that you can definitely do with this tool, and it’s just part of it. Okay. So now we’ve we’ve we’ve sort of explored our scroll trail here of three different pages and the UTMs were held. So let’s let’s go back and look at now what we have to do to set this up. So we look remember, we we saw the root domain. We saw the root domain, and we saw the cookie there. We saw the cookie here on the tracker domain, and here’s how you set up the form. So, again, this is a this is a account engagement form, and the reason for that is it gives us this capability to hold the initial value upon subsequent form submissions. Now a form handler doesn’t necessarily have that capability, so that’s why using the Pardot account engagement form is useful here because we can hold the original value on subsequent form submissions, and that’s what we wanna use for the first one. So the first UTM campaign content, etcetera, we wanna maintain the initial value. But the second one, we wanna allow that one to change. So we wanna we want to grab the first one and and grab the second one, but allow the second one to change if they fill out a different form later. Now what this is gonna do because of the way I’ve set up the JavaScript is when it’s the first one, both these values for UTM will be the same because it’s saying just grab UTM medium and pump it into the UTM medium field and the first UTM medium field. The difference is is that on the second time, if that’s different, it won’t allow first medium to change. So on the second one, if there’s there’s a difference, uh, it won’t allow that one to change, but it’ll it’ll change the second one. Then there’s some little bit of JavaScript. Again, I’ve given you I’ve given you a whole bunch of resources in this in this presentation. They’re all in links in the back of it. So if you download this from the from the conference and, uh, go through it, there’s a whole bunch of links, uh, with all this information, including the JavaScript that you need. You put the JavaScript below the form. Um, that’s what is, um, that’s what is pulling the UTM simple, um, the UTM simple, uh, cookie, and it’s pulling the individual fields out of the cookie and placing them into the hidden fields on the form. So embedding the forms. So there’s one other trick with the embedding the forms and that you need to add a class to it. You need a class add a class to it called utm dash src, um, after the opening iframe in the embed code. That isn’t automatic. You have to add this one. Um, I will warn you, your mileage may vary depending on your, uh, your CMS. This works beautifully in most CMSs, um, but my website’s running in Wix. It Wix has a very odd way of dealing with iframes. It doesn’t actually work in Wix. Um, but, uh, but it works beautifully in WordPress and, you know, most other most others that are, um, that are much more, you know, dedicated to, um, letting you do the development on the site will will let the iframe embed just fine. Um, you can also do this with the landing page builders, either the old landing page builder or the new landing page builder for, um, account engagement, um, because we now have the ability to embed that, um, uh, we have the ability to embed that JavaScript, uh, in the above form section on the new landing page builder. So that will let this, uh, let this cookie tracking information run, um, on the landing page. So let’s talk about lead conversion, and, um, I’m a big proponent of how, you know, how to use this properly. Um, use the standard lead conversion process to make this work. It’s there for a reason, um, because what you end up doing when you have all of these I’m I’m using these, uh, I’m using these sort of, um, five pips here to represent the five, um, that represent the five UTMs for both first and last. So when you capture them in account engagement and you assign it to a lead, you map those to the lead. So you map those 10 fields to the lead. And then when you do the conversion, you can map that to the contact, and you can map it to the opportunity. Okay? And when you do this when you do this lead conversion, and I talked about this last year, you also get an automatic contact role on the opportunity, and that’s one of the reasons to to do this. So you map all those fields from the lead onto the contact, and you also map them onto the opportunity. And what does that get you? It gets you a converted the the lead, once it’s synchronized from account engagement, it pulls into these it pulls you in these 10 fields, and you can put them on your page layout or you don’t have to. Just make them available in, uh, reporting if you want to. Um, but that begets this information onto the opportunity. And what that gives you is basically a first last for that opportunity at the time you converted it. So it holds that at the time that the conversion was made. Basically, at the point at which you decided, this lead is worth actually, uh, converting into an opportunity to have a sales conversation. So the at this point, when you when you do the conversion and you get the opportunity, this is fixed. This does not change. This doesn’t change no matter what happens with your, um, with your campaigns. It doesn’t matter what happens with the opportunity. It doesn’t matter what happens with the contact, um, because because we’ve mapped those things. So it it it puts it onto the opportunity and it leaves it there. Um, and then you have that information throughout the opportunity’s life cycle so that you if you wanna go back to the opportunities and see later, did I have any UTMs on any of these opportunities? There they are. And as I said, it goes to the contact as well. And the UTM the UTMs that are floating will continue to float even though the first source remains as such. Uh, the last ones will continue to float over the contact’s lifestyle or life cycle because, um, we are allowing those to change. The the one last thing I’ll mention is that there’s also a very nice, um, feature with the new Slack connector. And I’ve I’ve written this up on my blog, and I’ll give I’ve given you a link in the presentation as well, um, as to how to make this work. Um, one thing you can do is if you wanna use one of your precious conditional completion actions on your form to notify, um, notify some somebody in the marketing team, let’s say, or the owner of the opportunity or something, um, it it that a, uh, a record, um, a record that has been created that has a UTM, you know, a UTM, uh, fields, you know, maybe some with some specific value in it, or maybe it’s just simply, uh, one that has a UTM in it at all. Um, if the UTM is not blank, we can send a Slack message with all of those UTMs as merge fields. Um, and if the record is assigned, you can at mention, um, you can at mention the owner, and, uh, that technique for how do you at mention an owner of a record in the in the new Slack connector is on my blog. I’ve given you a link in the in the resources, uh, page. So, um, that’s kind of a neat thing, um, to use this to use Slack for so that you can actually, you know, in sort of more or less real time, notify, um, notify of what’s happening, um, what’s happening when things are being captured with with specific characteristics like, hey. We our UTMs are actually doing something here. And you can drive it into us. Maybe you wanna have a marketing channel that you wanna drive it into so the marketing team can see here are all of the, um, here are all the new records that are coming in that have UTMs, uh, that are that aren’t blank. So as I mentioned, this is the slide. It has all of the information that we’ve talked about here. It has where to can you find UTM Simple? Again, I just like the tool. I get nothing for telling you this other than, hopefully, it’ll help you. Um, there is a WordPress equivalent to this. Um, it doesn’t work with a with a landing page, but if all you’ve got is WordPress, there is a WordPress equivalent that is a plug in that you can buy. Um, that’s one’s called UTM Grabber. Same developer, just a different, uh, execution methodology. Um, their knowledge base is really good. All the information about how to get this thing to work is in their, um, is in their knowledge base, either the either the, um, the WordPress version or the general version. Um, and I’ve given you a couple of links again with the JavaScript. The JavaScript that you need is is here and the Slack markdown tips, that’s the link for my blog. So we are at the end of the presentation, and I have a couple of minutes for questions. So, um, Jennifer, if you’re still there, were you keeping an eye on is there any does anybody have anything that’s that’s on their mind? Like, I

Speaker 0: can move this here because

Speaker 1: I’m gonna move I’m gonna move this I’m gonna move this page over here so now I can see the other screen. Oh, no. Maybe I don’t wanna do that. No worries. We don’t wanna stop the sharing. There we go.

Speaker 0: There we go. Uh, we do have quite a few questions, so we’ll get through as many as we can. Um, Melanie asked a great question. If you have any ideas for how to get visitors to accept your your cookie messaging so that you can then launch the JavaScript and follow their visit.

Speaker 1: Great point. Um, you can make this, you you know, you can you can incorporate this into your, um, you can incorporate this into your, uh, cookie management system because it’s just a piece of JavaScript. So you can, um, execute that by way of, um, tag manager or, you know, you can run it as part of your cookie management system. How do you get people to accept the cookie? Well, I mean, this is a legal this this becomes a legal question and how how much are you willing to, uh, how much are you willing to, you you know, adapt adapt to the to the what we’re finding to be the new normal? I guess I don’t have a I don’t have a great answer to that question, but, uh, there are lots of different interpretations of what, um, of of what the cookie consent banner actually means, and that depends on your geography and it depends on your business, I would say. So, um, you know, that that that’s that’s a great that that’s a great way to say it depends.

Speaker 0: Um, I’m sure try trying to decide which question to grab because they’re all great questions here. Um, for potential duplicates where you can end up with two sets of the first UTMs, Is there a way to select which should win?

Speaker 1: So, um, that’s a good question. And I I saw Matt Smith asked also, do you need UTM Simple to make this work? Um, well, yes. This this suggestion I’m making, but there are other ways there are other ways to get a first party cookie. Um, so the the methodology that I’m discussing here is just dependent on having some kind of a third a first party cookie available. Um, so you don’t you know, this is one this is one means by which to do it. Other and and the, uh, the idea here was to give people something simple that they could deploy in an afternoon. Okay? Um, so that was that was the objective here. Um, yes. Of course, you could develop your own first party cookie, um, and do the same thing. Um, so the the question the other question was, um, and I’ve it was which one, you know, which one do we use? The very first one it’s gonna find is going to be, um, the very first one it’s going to find is going to be the most recent one that was used until the point at which you fill out a form. So the idea and this was asked the same question was kinda asked at Dreamforce, and it was, you know, what if what if they come into one UTM and don’t convert and then come in on a different UTM and do convert? And and I guess the answer to that is you wanna know which UTMs are actually causing the conversion. Right? Which UTMs actually did make them convert. Now, um, um, the the WordPress version has a different methodology for doing this, and they have a first and last cookie or first and last UTM available. So there is the ability to sort of see which was the first one in the last thirty days and which was the most recent one in the last thirty days. So there’s that possibility if you’ve got the WordPress version of this. You can, um, you can potentially grab them both. Um, but, again, it’s within that window of how long does the cookie last as well. I think we’re at time.

Speaker 0: We are at our time. Thanks so much, Bill, though. There’s a lot of really great information. And, of course, everyone, um, who’s with here, you’ll you should be able to view the recording again, uh, later on and also access the materials that were shared in the slides. So we we certainly welcome you to do that. Um, just wanna say a really quick thank you again to all of our sponsors. We couldn’t make Marjorie Mann happen without them. If you have a chance before the end of today’s event, please try and visit, um, the sponsor’s booths and, uh, say hello. With that, I’ll say again thank you so much to everybody who came out to our session today, and, uh, we hope to see you again soon.

Speaker 1: Thank you.