We’ve all been there, you’ve spent a week crafting the perfect ad campaign, only for HubSpot to tell you that your shiny new leads all came from "Direct Traffic". It’s frustrating, it’s messy, and it makes reporting to the higher-ups a bit of a nightmare.
By capturing UTM parameters (source, medium, campaign, term, and content) directly in your forms, you stop relying on HubSpot’s best guesses. Instead, you get the hard data baked right into the contact record. This hack is the first step toward actual attribution and knowing exactly which marketing efforts are worth your time.
Steps to Set it Up
Step 1: Create your UTM properties
First, we need a place for this data to live. You’ll need to create five custom properties in HubSpot.
Head to Settings > Properties and create the following as Single-line text fields:
- Campaign (Internal name: utm_campaign)
- Source (Internal name: utm_source)
- Medium (Internal name: utm_medium)
- Term (Internal name: utm_term)
- Content (Internal name: utm_content)
The Golden Rule: The internal names must be exactly as written above (all lowercase with underscores). If you name the internal property UTM_Source with a capital U, HubSpot’s form engine will ignore it. Computers are literal like that.
Step 2: Add and hide fields in your form
Now, let’s get those fields onto your form. Open your form editor and follow these steps:
- Search for your new UTM properties in the left-hand sidebar.
- Drag and drop all five properties to the bottom of your form.
- Click on each field and toggle the Make this field hidden switch.
This ensures the data is captured in the background without making your leads fill out five extra boxes of technical jargon. They won’t see a thing, but your CRM will see everything.
Step 3: Test your handiwork
To make sure the plumbing is connected, you need to test it with a real URL string.
- Publish your form and grab the live URL.
- Add a dummy UTM string to the end of it, for example:
?utm_source=test&utm_medium=blog&utm_campaign=hacks. - Fill out the form and hit submit.
- Check the contact record in HubSpot. If the "Source" property says "test", you’re officially a tracking wizard.
The "No-BS" Disclaimer
This native HubSpot method is brilliant, but it has one limitation: it only works if the user submits the form on the exact same page they landed on. If they land on your home page and click through three other pages before converting, the UTMs in the URL will have vanished. If you need to track users across a longer journey, you might need to look into persistent cookies or a bit of custom JavaScript.
The Bottom Line on UTMs
Setting this up might feel like a bit of a technical chore, but it is the only way to stop your attribution from being a work of fiction. Once those hidden fields are live, you will have the hard evidence you need to double down on the campaigns that actually work and bin the ones that are just burning through your budget. No more awkward "I think it came from LinkedIn" conversations with the boss.
If you have followed these steps and your reporting still feels like it is written in a foreign language, we can help you translate it. Whether you need a full portal audit or just some help mapping out your custom objects, we have your back. Book a chat now.
Want more HubSpot hacks?
Follow us on Facebook and YouTube. We regularly share walkthroughs and tutorials, so you can get more out of HubSpot without breaking your brain or your data.
Happy HubSpotting!