The B2B Podcast Index
The Revenue Room

How to Set Up UTM Attribution Properly in Your CRM

The Revenue Room · 2026-04-27 · 27 min

Substance score

32 / 100

Five dimensions, 20 points each

Insight Density10 / 20
Originality7 / 20
Guest Caliber4 / 20
Specificity & Evidence8 / 20
Conversational Craft3 / 20

What our scoring noted

Our reviewer’s read on each dimension, with quotes from the episode.

Insight Density

10 / 20

The episode contains a reasonably detailed walkthrough of UTM capture mechanics - cookie expiry, 'not provided' fallback, first/last/conversion buckets, and account-level dynamic parameters - but is padded heavily with repetitive filler phrases and re-explains basics multiple times, diluting the useful density significantly.

make sure that if no UTM parameters are detected, it can use the referring URL to help to create its own UTM parameters
if a contact has first utms set, they are locked, they can never be overwritten

Originality

7 / 20

The self-reported attribution recommendation (free-text field over dropdowns, keyword-bucketing on the backend) is a mildly differentiated take, and the argument that reluctant form-fillers are low-intent is slightly contrarian, but the vast majority of the content is standard UTM best practice circulated widely in digital marketing circles.

I think if someone is not willing to tell them what brought them there, they're of low intent anyway
you want this to be a free text field. So not a drop down, not a multi select

Guest Caliber

4 / 20

This is a solo episode with no guest whatsoever; the host is an agency operator with hands-on client experience but no notable seniority, scale, or credibility signal is established in the transcript itself.

it's just me in the studio this time. So Daniel won't be joining us for this podcast

Specificity & Evidence

8 / 20

There are a handful of concrete specifics - 30-minute cookie expiry, five UTM parameter fields, three named buckets, HubSpot as the named CRM - but the episode lacks any measured attribution improvements, client revenue data, or substantive case study metrics to back the methodology.

Thirty minutes, for example, after 30 minutes, local storage of the cookies are cleared
40 people have come in to book a demo off the back of it, but we don't know

Conversational Craft

3 / 20

The episode is an uninterrupted solo monologue with no interviewer, no questions, no follow-ups, and no possibility of pushback or productive disagreement; structure is serviceable but delivery is repetitive and meandering.

it's just me in the studio this time. So Daniel won't be joining us for this podcast

Conversation analysis

Computed from the transcript - who did the talking, and the verbal tics along the way.

Filler words

so116actually18uh16obviously8um6basically6like5right4er2you know2kind of2I mean1anyway1

Episode notes

In this episode of Unqualified Leads, we walk through how to properly set up UTM attribution inside your CRM. It's one of the most overlooked pieces of marketing infrastructure, and one of the first things we audit when we start working with a new business. Most companies rely on the default attribution that GA4 and their CRM provide out of the box. It's not necessarily wrong, but it's rarely set up in a way you can fully trust when it's time to make real decisions. Channels get mis-assigned, direct traffic balloons, last-touch dominates the story, and the data ends up patchy enough that nobody quite believes the dashboards they're reporting on. This episode is designed as a practical podcast for marketing teams, founders, and operators who want attribution data that holds up under scrutiny. We walk through the exact UTM framework we build for clients, from capturing parameters at the form level, to segmenting them into first, last, and conversion touch buckets inside the CRM, to layering in self-reported attribution to bridge the gaps machine tracking can't close on its own.

Full transcript

27 min

Transcribed and scored by The B2B Podcast Index.

Speaker A: Hi and welcome to what is a long overdue episode of Unqualified Leads. Now we actually did record this episode uh, a week ago after going through and trying to edit the video, realized that we actually made a mistake with uh, the sound on there. So we're redoing this podcast this week. It's just me in the studio this time. So Daniel won't be joining us for this podcast, but we are going back over UTM M attribution and using UTM parameters in your marketing campaigns and your marketing analytics essentially. So we have already produced a podcast on this and it's likely a longer episode than what this one is. But for new listeners who haven't gone back and listened to it, we thought now is a good time, especially after our previous episode, just to go back in and just touch on, um, I suppose at a little bit of a higher level around UTM attribution and why it's important because it does continue to come up for us with our clients day in, day out. So most companies will utilize UTM parameters. A lot of different marketing platforms and channels will automatically add UTM parameters to the links that they're using. GA4 can basically apply the source and some of those native uh, UTM parameters essentially. And that will assign, you'll uh, see in GA4 that will assign your traffic to paid social, direct, paid search, etc. Etc. And also in your CRM this can happen too. So in HubSpot for example, HubSpot will also apply similar logic and HubSpot also has its own native kind of UTM attribution fields if you like, which you can see in there, they're called original source inside HubSpot. Now I'm not here to tell you that they are all wrong and that they don't work effectively, but they can be made to work in a much better format for you and you can put much more trust in using them as a source of attribution and a source of storytelling for understanding your wider uh, marketing attribution essentially. So the way that we set it up, and this isn't revolutionary, there's a lot of other agencies, a lot of other businesses that set it up like this. We certainly didn't create it. But it is something that is overlooked time and time and time again. Most companies I go into an audit and check out, one of the first things I'll look at is do they have a UTM attribution set up, built and working effectively? And that's one of the first things I'll ah, order and it's also one of the first things I'm likely to build when I start working with a new business. Now, in a very, very simplified manner, the way in which this works is, okay, any possible link that a customer can find you on to your business, we want to append UTM parameters to them. And if you're unsure of what a UTM parameter is, that's where you have your URL. So for us, mayfairmediagroup.com utmsource and the UTM source is then the channel that you're using. So for example, that might be paid search, paid social, whatever it might be, UTM campaign, and so on and so on. And there's around five different UTM parameters. Can that you. You can use every clickable link that somebody can go to your website from. Ideally, we want to be able to append UTM parameters to them. Now, as I said before, most of the time that's done automatically. But you should also have a framework where you make sure that you are using UTM parameters that you have set and that the whole company is happy to agree on and that you use those consistently across all of your links and all of your setup. And I'll come on to how to create that framework shortly. And so essentially, anytime that somebody clicks those links, so they're the. And so, and so once you have all of those UTM parameters set up, somebody clicks the link, they land on your website. Now, GA4 will obviously track that from an analytics perspective. So it will understand, okay, this website viewer, uh, came from these sources. But what we really care about is not so much the website viewers. Yes, that's important. But in this instance, what I'm talking about is when people take an action on your website on your platform, okay? So any of your website or your platform where somebody can take an action or join your CRM, for instance, that they are the parts where we want to be capturing those UTM parameters. So let me give you an example. So if you have the ability to sign up to a newsletter on your website, so I'm a new customer to your website. I've never visited it before. I'm not in your CRM. I, come on, I sign up to your newsletter, therefore I should be in your CRM. So that's an opportunity to capture my UTM parameters and store those against me in your CRM. The same with Booker demo, the same with downloading a white paper. Any action where somebody is giving you their details, that is a potential for you to capture their UTM parameters. And that's the really, really crucial part. So the first thing that you really need to do is a build out your UTM frameworks. Okay? So this is where we have a. Just use an Excel spreadsheet, a Google sheet, keep it nice and simple, okay? And you can use this to generate and create your utm. So just use a very simple formula setup and then you can have UTM campaign and you will list all your campaigns in there. Uh, you'll do the same with source, the same with terms, and so on. And by doing that, if you have a single owner in your business that owns this spreadsheet that owns your UTM parameter set up, then that means you will have consistency across everything that you do. Okay? And that's really important. What you do not want to happen is to have every person in your marketing team using their own UTM parameter setup. So one person might say for source, they might use Facebook paid, another one might use paid Facebook, another one might use paid social. All of a sudden you've got three different UTM parameters, which is going to cause you issues with attribution later down the line. It's going to give you more data and it's going to be confusing. You have to go through and tidy it up. So make sure that you're consistent with what you use. Decide on it, have one owner, and make sure that anytime that somebody uses a link in your business that you can generate that link for them using this setup. Okay? That's really, really key. So you've got that. Now the second part is to audit your entire website to understand, okay, where can a customer input their details, or where can a potential customer input their details that enables them to become a part of the CRM. Okay? And once you've found all of those, make a note of every, every section of the website where that can happen. So download a white paper, book, a demo, contact form, newsletter sign up, webinar, sign up anything, make a list of all of those. And then you want to go into wherever it is that you create those forms and those inputs, okay? And you want to add hidden fields. And this is the crucial part. You need to add the 5 utm parameter hidden fields so the user never sees them. This is simply done on the back end of the form. Okay? So you would have a hidden field for UTM source, UTM campaign, and so on. Now once you've implemented that for each of your input areas of your website, so that's done, the next thing you need to then set up is the piece of code that enables your Website to capture and store the UTM parameters of someone that visits your website and then injects them into that form. So this is really, really important because I've seen people make mistakes on this part, particularly the code snippet. Sorry is quite simple. Use AI to help you to do this. There's two ways in which you can store the UTM parameters. You can store them in your local storage or you can store them in the cookies. Use whichever way you prefer. But the important thing here is to set an expiry time. The mistake that I've seen before is where people have added this script to their site which will take on the user's UTM parameters, store them, and then when they complete the form, fill it injects them. What they haven't done is they haven't set an expiry date. So a good example, okay, I come to the web to your website for the first time. I've come from a Facebook ad. The code snippet has stored my UTM parameters in cookies or local storage. Okay. I then decide to come back a week later. But this time I've actually come by Google Google Ads. I then actually convert this time. Last time I didn't convert, but this time I do convert and I do submit the form fill. Now, if you haven't cleared the local storage on your side, it will have retained my original UTM parameters that made me first come to the website. So that Facebook ad. And it's then going to use those and inject those into the form. But actually that's not true. I actually came from a Google Ad, not the Facebook ad, and that's what I actually executed on. Um, okay, so make sure that you do have an expiry date. Thirty minutes, for example, after 30 minutes, local storage of the cookies are cleared so that the next time they come in, the UTM parameters are refreshed. The other really important part to the code snippet is to make sure that if no UTM parameters are detected, it can use the referring URL to help to create its own UTM parameters. So that can typically help with direct or with organic search. For example, especially if you see the referring URL as Google or Bing. That can help with organic search, but if it can capture nothing, okay, which is quite common, especially nowadays with so many people using VPNs and ad blockers and so on, is that you need to make sure that it has a fallback which says not provided. So if nothing exists, we always want to make sure that we record that as no Data has been collected, so, so not provided. If we do not do that, we just have five blank UTM parameters in our CRM and then we don't know exactly what's gone on there. We want to know that we couldn't capture them. And that's really, really key for your data hygiene. Okay, so now somebody's come to your site, your code snippet has grabbed their UTM parameters and you've just submitted the form fill, it's injected them into the form fill. You're now part of their CRM. So you've joined into HubSpot as a contact, and those UTM parameters are now existing against your contact profile. Now the next important thing is to then assign those UTM parameters inside your CRM to your contact. Okay? Because now you set this up custom and you're not using the original source for HubSpot, you need to assign them in the correct way and use the correct workflows. And this is where most companies will fall short, because most companies will just accept those UTM parameters as they come through and, and they will assign them to UTM source against the customer profile. Or most of the times they don't even do that and they just use the HubSpot native setup, for example, of original source. But what we actually do and what we always suggest to do is to segment the UTM parameters in three different areas. You don't always have to use three, but you can certainly always use two. And what they are is you have your set of first UTM parameters, a set of last UTM parameters, and potentially, if applicable, a set of conversion touch UTM parameters. Now, moving the UTMs into those three buckets has nothing to do with you capturing them. It has nothing to do with adding more hidden form fields. Again, I've seen that mistake before where I go into, uh, the back end and look at the hidden form fields and somebody has created five first touch utms and five last touch utms and they're trying to get the code snippet to assign first and last. You do not need to do that. You can do all of that through the workflows inside your CRM. So just capture the utms at the form and then move those and then let all the rest of it happen inside your CRM. So the three different buckets, I'm a new customer, I haven't visited your site before, I'm not contacting your CRM and I download a white paper. So I submit the form, download the white paper, you've now got my contact Details. You've got my UTM parameters against the contact. You need fields for the first five UTM parameters. So UTM campaign, source, etc. Label those all as first and there should be five. Do this exact same thing again and label them all as UTM source, last UTM campaign, last, etc. And then you can also do the same with conversion. We'll come on to conversion at the end of this. So because this is my first time entering your CRM, all of those 10 fields will be empty. So the workflow should take my 5 UTMs that is captured in the form. I'm going to assign them to the five relevant fields against my contact as a first utm, because I've never been a contact before. So now my contact Harry in your CRM has five different UTM first fields and they're all filled out. Okay, great. I'm now part of the CRM and you can see what brought me in the first place to your website and into your CRM. Now fast forward to six weeks later. I see a Facebook ad and it's to book a demo. I go through with it, I go into your website and I book a demo. And again, it's going to capture my UTM parameters the same as it did the first time around. This time the workflow is going to go, okay, we can see that he has first utms, so we're not going to do anything to those first UTMs. We're now going to move these UTMs into last UTMs against his contact. And this is really, really important. You need to make sure that if a contact has first utms set, they are locked, they can never be overwritten because we want to know what exactly brought this individual into our business for the first time. And that's really crucial. Last utms, however, can always be overwritten because again, it's the last touch that somebody made to make an action on your website. So I came in by the white paper. Then I came in via the form fill. So that form fill was last. So now all of a sudden, against my contact profile, I have a set of first utms which shows what brought me there. And then I also have a set of last utms which showed the next action that I took and what took me to taking that action, which in this case was a Facebook ad. Now, where conversion touch comes in is if you're a business that has many, many ways to contact or submit your information, then you could look to bring in a conversion touch. So, for example, if you have white paper downloads Webinar, uh, registrations, event registrations, book a demo, et cetera, newsletters. If there's multiple ways in which you can contact the business or submit your information to the business, then conversion touch can be another layer that you add in. So it's the exact same situation where you've got your first five touch against the contact, you've got your last touch and you've got your conversion touch. The only difference is in your workflows you're creating your CRM. You only apply the conversion touch to the point that creates an opportunity for your business. Okay, so that would be book a demo, for example. So if somebody goes to book a demo, then that would then trigger your utms to flow into UTM source conversion, UTM campaign conversion. So then you would have three sets of information because that person, then again, another six weeks later they might come in and they might sign up to webinar. And it's useful. Even though they're an opportunity in your business, it's still useful to see what brought them back in again later down the line to then convert on that event or on that webinar or on that download. So that's when it can be important to have those three buckets. So it's either first and last, or you have first, last and conversion touch. But the most important thing is to set up those workflows in the back end of your CRM to make sure that the UTM view capture flow into the right buckets. Now the next step you can then do is if that contact, if they then become an opportunity, is to then make sure that you also have a workflow that transfers those utms from the contact and transfers them into that deal. So again, you can then have UTM attributions against the deal and not just in the contact. That's also another important point to have. Again, it just gives you an easier way to view the deal and your deal sources via, uh, UTM attribution. Now you might ask, well, what do we do with all of this UTM data that we have? So you're in a situation where you've been capturing all of this UTM data, which is great, but what do you actually do with it? Now the simplest thing to do is to create a dashboard inside your CRM. Now you can go as deep as you want with this dashboard. For example, one client I just built one out with, where you just have first and last touch. So we have built out a dashboard which on the left side has all of our first utms and on the right has all of our last utms and we break this down by week, by month, by quarter, by year. And what this will do is, is we break it down by UTM source. So first UTM source, first UTM campaign, and so on and so on. So what that enables us to do is to very quickly, at a snapshot level, look at what sources for first and last are, uh, bringing people to take action on the website. Now that's obviously a very, very simple level. You can obviously go levels deeper where you can edit this based off of the action they're taking. So if it's book a demo, for example, you could build out a dashboard which is just showing the sources and campaigns and the UTM terms that push someone into booking a demo versus a white paper versus a webinar, versus the contact form. So you can go as deep as you want to with this. Again, you want to be careful. You're not giving yourself too much to analyze. But it is important to be able to show this because it might be very, very interesting to see that there's a difference between the first utms you're seeing and the last utms you're seeing for booking a demo versus the white paper and versus the webinars, for example. So that might be quite a nice difference to look at. But those dashboards provide you with a very nice top level way of understanding your attribution and understanding what's bringing somebody in and then what's making someone convert. And that's really, really important because that's one of the answers that we're always trying to find is we know that last touch is not a sensible attribution model because we know there are so many different touch points along the way way that just measuring the very last one is an ineffective way, um, of measuring your marketing success because you're going to ignore all these other 10 touch points that happened before they actually finally took the action. So this kind of helps to bridge that gap, essentially. Now what I'm not saying here is, I'm not saying that this UTM dashboard and this UTM setup is going to solve your attribution problems. It will not. Because we don't always capture UTMs because of the nature of cookies and people using VPNs and ad blockers and so on. So we know that there are flaws in capturing UTMs, but what it does is it enables us to bridge the gap and it gives us another story, okay, that we can use alongside the other data that we're looking at in app. So the data we're looking at in Facebook, the data we're looking at in Google and GA4, etc. It gives us just another layer to look at. And there's also just a couple of things that I want to touch base on here is that you will often see your direct UTM source as one of your highest sources most likely. And if you're running email or you're running sms, and this certainly happens with paid social too, is you also have to remember that not everybody will convert by clicking your link. So what I mean by that is somebody sees your Facebook ad, they see an SMS that you sent, an SMS is by a long way. This happens all the time. This also happens in email. You see the ad, you see the sms, you see the email, but you don't click on that link and you don't convert there. And then, but two days later you go, oh actually yeah, I remember I was actually supposed to go and look at that website. So then you type it in because you remembered and then you go, look, you're going to come through as a direct source, not as sms, not as email, not as Facebook paid. But it was that that actually influenced you to do that. Okay, so it's important to remember that when you are making decisions based off of the data that you're viewing here, it's very easy just to go, ah, uh, okay, Facebook page is really low, SMS is really low. It doesn't work. That's not the case. The chances are they probably viewed it, they viewed your information and then they came back to via direct somewhat later. So just always make sure to think about that and take that as a note when you are analyzing the impact and then one of the other bits that's important here and a nice one to layer in. And again I've touched on this many times in podcasts before is self reported attribution. So in those form fills. So when someone's booking a demo, downloading a white paper, you want to ask that person how did you hear about us? I know that this is something that people have in form fields all the time. Most people try to avoid having it because they believe that it will ruin their conversion conversion rates. I completely disagree. I think if someone is not willing to tell them what brought them there, they're of low intent anyway. So it's irrelevant whether you lose them or whether you don't. But you want this to be a free text field. So not a drop down, not a multi select. It's a free text field that anyone can just type in the information that they want. And again this is where it comes a little bit tricky because you obviously then need to take that data, you need to take that free text in the back end of your CRM and then you need to basically using keyword analysis go, okay, it recognizes Facebook, it recognizes Google and it moves them into self reported attribution buckets and then assigns them. That takes a little bit of work. Yes, we build that out for clients, we build out those individuals workflows and then we go in and we check each month to see which entrants weren't picked up by our keyword buckets and then obviously we constantly adjusting and tweaking those. Capturing that data is very, very valuable because it gives you another layer above and beyond just machine reported attribution. It gives you self reported. It's what the user is telling you, brought them to you or where they first heard about you. And that's really, really crucial information. And that's why we want to give them the space and the opportunity to tell us that. Not by a click, because they might just click the first one they see so actually might be false. But if we give them the free text, they're more inclined to actually tell us what brought them there. One of you know, a named person they saw on LinkedIn, a YouTube ad, Google search, ChatGPT, Claude, whatever it might be, they're more inclined to tell us with more detail if we give them the opportunity to do so. And you'll be surprised at some of the results that you'll see from that. Okay, so then you assign them via buckets and workflows in the back end and they then go into categories and then that's something you can then layer in alongside your UTM attribution dashboards. So then you can actually see, okay, first, last and then also self reported. And so you can start to make up some of those differences. And again it just starts to bridge that gap and gives you just richer data, uh, more data to help you understand the user story that help to create the opportunity or bring someone as a contact into your CRM. And the more data you can bring in, the more you have to analyze and the more you can trust, the more you can patch up this story. If you're just relying on last touch from the platform or you're just relying on the native UTM setup of your CRM, that is simply not good enough. You need to be doing more. And this is one way in which you can close that gap. You can gather more information and you can help to build a better and, um, more accurate story for your marketing analysis. Okay. And just a final couple of things from me to touch on is if you're an established business, so you've been running for a few years or many years, and let's say you're using HubSpot. I'm using HubSpot just because it's fresh on mind. It's what we've been doing with the last couple of clients we've worked with. HubSpot obviously has its native UTM, so it has the original source. What's really important here is that you do backfill this UTM setup as much as you possibly can. Now, this will take time and it is quite a, uh, it's not the funnest thing in the world to do, but it's worthwhile and you need to do it because what you do not want to have is you do not want to have a system where when you're trying to run your analysis, that you have patchy data that doesn't quite make sense. So you need to close all of those empty gaps up. So the way in which you need to do this is you export all of your contacts and all of your UTM data. Okay. And then you basically will create workflows that assigns their native UTM setups that they've already got. So obviously these are people that are already in your dashboard, already in your CRM. Sorry, so they've come to your CRM. You've probably captured their UTM through the native setup. You now want to assign them to the first or to the last or to the conversion, and also convert them in line with your new setup, not just using, obviously, the native setup. If it's Facebook paid that you've set, or paid social, you want to make sure that you convert, uh, the one that's already set up and to make sure that it's consistent with all of the new UTM campaign and source names and terminology that you're now using. That's really important. Now it is possible to do all the VUTN backfills. We do this many, many times for our clients. Like I said, it does take work, it does take time, but you need to do that. You need to patch it up. So if they're an existing customer, an existing contact, you already have what brought them there from first touch through the native HubSpot fields, then you need to make sure that you transfer them into your first UTM fields. So then the next time they do convert, it only fills up the last for Example, that's why it's so important. And it also enables you to then go back in and start looking back over, back in time and understanding exactly what brought people in. So really, really important, you go through and you backfill your data. Please do not skip that. And then the final point is also just to make sure that the platforms in which you're running your ads, for example, is to make sure that you do actually set your UTMs up at the account level. I know some people do this at the ad level, which is a, uh, terrible, terrible pain. I never suggest that you do that. Some people do at the campaign level. I always set mine at the account level. So you can do this in LinkedIn, you can do this in Facebook, you can do this in Google, so that you can go in and you can also make sure that they're dynamic. So you will manually set up UTM source. So LinkedIn paid Facebook, paid PPC, for example. But then the campaign you can set as dynamic. So using the curly brackets again, the platforms will tell you how to do this. So then it will automatically pull in the LinkedIn campaign. You're running the Google campaign, the meta campaign, and then that is dynamically ingested, um, into your UTM parameters. And using those dynamic is really important. And by doing at the account level, it safeguards you from having any inconsistencies at the ad level or from people going in and overwriting them and basically causing you inconsistencies, because the account level will always override what's happening at the campaign or the ad level. So really, really important that you do that. And then the final, final point is just to make sure that anytime someone's using a link to make sure that they use the UTM parameter setup again. I've seen this many, many times. Somebody launches a new edm, a new email goes out, a new QR code, they're using a trade show, but they actually didn't come to us and they didn't ask for the UTM parameters. So all of a sudden you've just got a bear link that's sitting there. They've run the trade show for three days. Four, 40 people have come in to book a demo off the back of it, but we don't know, you know, we can't basically assign it to that QR code or to that EDM because we don't have those UTM parameters. So just always make sure that you're super, super stringent with applying those UTM parameters and setting up that link for every external link. That you use. Whether you're using it in an organic social post, a thought leader ad, anywhere that you have a link, make sure that your company is set up that they can use your spreadsheet to basically automatically create their own UTM links and then you can lock the campaigns and the sources so all they do is they type in the URL they want, they select the campaign and then it will auto fill URL that they can just copy and paste and use. That's always the setup that we suggest to use. I hope that's useful. Like I said, we do have a longer podcast that goes back that talks about UTM attribution. I recommend that you set it up sooner rather than later. The longer you leave it, the more data you're missing out on. Um, like I say, it does take a few days work and you want to get it right, but spend the time doing it now and it will save you so much time in the future. And also it's a fascinating insight and data dashboard to look at and everyone will thank you for setting it up. So yeah, I recommend you set this up if you haven't already. Take the time, set up correctly and if you do have any questions on how to set it up or you're a little bit confused or a little bit lost, please feel free to reach out to us. Visit our website. Visit my LinkedIn shoot me a DM. I can help you and just push you in the right direction when it comes to setting this up. So I hope you enjoyed today's episode, yet feel free to reach out if you have any questions or any issues on setting this up for yourself or for a business that you work with. Thank you so much and look forward to seeing you on the next one.

More from The Revenue Room

All episodes →
Explore the best B2B Marketing podcasts →
All The Revenue Room episodes →