If you're looking to effectively track your marketing and sales efforts, it's essential to have a robust attribution system in place. HubSpot is a powerful tool that can help you with this. HubSpot has some great pre-defined lead source buckets and attribution reports. But if you want to define your own set of channels and create reporting that goes deeper than HubSpot's out-of-the-box capabilities, you'll need to set up custom properties to capture attribution data.
Custom Properties for Attribution
In this post, we'll go over 17 custom contact properties and 19 custom deal properties that you should create in HubSpot to give you a full understanding of how your marketing activities contribute to your top-line growth.
Attribution Data Definitions
But before we do, let's get some definitions out of the way. I'll be talking about 4 different types of attribution data: First touch, first conversion, last conversion, and self-attribution.
First touch - The first time a contact visits your website
First conversion - the first time a contact fills out a form on your website, providing you with their contact information
Last conversion - the most recent time a contact has filled out a form on your website
Self-attribution - a contact's response to the question, "how did you hear about us?"
By combining data from these different points in time, you can create a full picture of what is attracting potential clients to your website and what types of marketing are resonating with them prior to entering your deal pipeline.
Contact properties
Basic UTM parameter properties
If you've ever seen a very long link that includes a question mark after the base URL followed by bits of code that look like "utm_source=linkedin&," you may already be familiar with the concept of tracking links. Those bits of code are UTM parameters. You can create your own UTM tracking links using HubSpot's Campaigns tool or by using a link builder like this template we created. Each UTM property can be set up as a hidden field in your forms, and HubSpot will automatically populate them when a contact submits the form.
- utm_campaign (single-line text)
- utm_source (single-line text)
- utm_medium (single-line text)
- utm_content (single-line text)
- utm_term (single-line text)
First conversion properties
When a contact fills out a form for the first time, a workflow like the one pictured to the right should copy data from the Basic UTM parameter properties into these FC contact properties. This will let you know what content is helping to generate leads.
- FC utm_campaign (single-line text)
- FC utm_source (single-line text)
- FC utm_medium (single-line text)
- FC utm_content (single-line text)
- FC utm_term (single-line text)
Last conversion properties
Every time a contact fills out a form, a workflow like the one pictured to the right will copy data from the Basic UTM parameter properties into these LC contact properties. Because you want the last conversion criteria to update every time a new conversion happens, be sure to enable re-enrollment for the trigger criteria.
- LC utm_campaign (single-line text)
- LC utm_source (single-line text)
- LC utm_medium (single-line text)
- LC utm_content (single-line text)
- LC utm_term (single-line text)
If you really want to go above and beyond, you could create a workflow and more custom properties to grab the last conversion UTMs whenever a contact changes Lifecycle stages (Ex.: "MQL utm_campaign" would copy data from "LC utm_campaign" the first time a contact's Lifecycle stage is set to Marketing Qualified Lead). That would allow you to see what content is helping to bring contacts through the funnel.
Self-attribution properties
Software-based attribution that uses UTM parameters or HubSpot's default lead source properties is only as good as what you are actually capable of tracking. But not every visitor to your website will come from a tracking link. There are many non-trackable paths to discovering your company.
For example: say a CEO sees something one of your employees posted on LinkedIn, screenshots the post, and shares it in their company slack with his VP of Marketing. Then that VP of Marketing Googles your company and fills out a form on your website. Your UTM properties wouldn't capture anything. HubSpot's default lead source would tell you it came from Organic Traffic. Neither is accurate.
In many cases, it's better to hear straight from the horse's mouth. That's where self-attribution comes into play. By adding a "Self-attribution message" contact property as a required field on your hand-raise forms (Contact us, Request a Demo, Schedule a consultation, etc) with the label "How did you hear about us?" you can let your contacts tell you what led them to you. Add in a date property set by a workflow when the message data is captured (or updated, so be sure to enable re-enrollment).
- Self-attribution message (single-line text)
- Self-attribution date (date picker)
If you do nothing else in this entire guide but implement these 2 properties, it would still be well worth your time. Soon you will have more useful attribution information than the best software-based attribution can give you.
The downside to self-attribution data is that it is qualitative, which means you can't easily report on it and you have to manually comb through the data to gain insights. I'd recommend doing this at least monthly so that you can start to recognize trends (which will come in handy later).
Deal properties
In order to tie revenue to the data you've been collecting on the contact record, that information has to be transferred to the deal record when a new deal is created. When a contact is ready to enter your pipeline the following workflow will create a new deal and copy over the current attribution information, so that you know what marketing initiatives influenced the deal.
You can customize the enrollment trigger criteria to fit whatever qualifications you use to determine when a contact should be converted into a deal. Then, within the "Create record" action, you can specify which contact properties should be brought over to the deal by clicking the "Add more properties" button.
If your company sells to the same contacts more than once, be sure to enable re-enrollment for the trigger criteria.
First touch properties
Some people consider the first touch to be the same as the first conversion (or form fill). However, buyers often have many interactions with your marketing and website prior to filling out a form. Luckily, when a contact fills out a form on your website, HubSpot automatically backfills any website visit data that comes from the same IP address. You can find some of this data stored in the default contact properties "First page seen" and "Time of first session" which capture the first trackable interaction that the contact had with your website. In order to report on this data and tie it to revenue, you'll need the workflow to copy that contact data over to the following properties when you create a new deal.
- FT page (single-line text)
- FT date (date picker)
First conversion properties
The workflow should copy data to the FC deal properties from the FC contact properties, plus grab data from the default "First conversion" and "First conversion date" contact properties. This will help you determine which pieces of lead-generating content are most likely to convert to a deal.
- FC utm_campaign (single-line text)
- FC utm_source (single-line text)
- FC utm_medium (single-line text)
- FC utm_content (single-line text)
- FC utm_term (single-line text)
- FC form (single-line text)
- FC date (date picker)
Last conversion properties
The workflow should copy data to the LC deal properties from the LC contact properties plus the default "Recent conversion" and "Recent conversion date" contact properties. Knowing what marketing initiatives contacts engage with just prior to entering your sales pipeline can tell your marketing team what content is resonating with highly qualified prospects. Driving more traffic to those resources will hopefully result in even more deals.
- LC utm_campaign (single-line text)
- LC utm_source (single-line text)
- LC utm_medium (single-line text)
- LC utm_content (single-line text)
- LC utm_term (single-line text)
- LC form (single-line text)
- LC date (date picker)
Self-attribution properties
The workflow should copy data from the self-attribution contact properties to these self-attribution deal properties.
- Self-attribution message (single-line text)
- Self-attribution date (date picker)
But there is an additional property we can create that will help to quantify and report on self-attribution. Once you start to see trends in your self-attribution message responses, you can create a dropdown that contains options for different common responses (i.e. LinkedIn, Podcast, Webinar, etc.). A workflow can check to see if the self-attribution message contains these common words or phrases and automatically set the dropdown appropriately.
- Self-attribution bucket (dropdown)
By combining HubSpot's default software-based attribution, your own first-party data collected through UTM properties, and self-reported attribution from contacts that fill out your forms, you can create robust, hybrid attribution reporting that will let you determine what marketing initiatives are actually generating demand and driving revenue.
Interested in learning more?
These custom properties open the doors for how you can build upon and really utilize single-touch, multi-touch, or hybrid attribution reporting in HubSpot. Love these ideas and looking for more? Our team loves finding and sharing innovative solutions on HubSpot. Contact us at Aptitude 8 to see how we might be able to help solve your problems!