Use HubSpot with SourceTrack to connect your marketing sources to what happens later in your sales pipeline.
There is no one-click HubSpot connection today. You use HubSpot’s own forms and workflows, and SourceTrack’s inbound webhook and API. A managed HubSpot connection that writes source onto contacts is being built and is not available yet.
What works today
- Leads from HubSpot forms on your page: A HubSpot form placed on your own page is captured like any other form submission, with the visitor’s source attached.
- Deal and lead stages from HubSpot: A HubSpot workflow can send a webhook to your SourceTrack inbound webhook URL when a deal or lead reaches a stage. SourceTrack records it as a conversion against the visitor who came from your marketing.
- Closed-won revenue: Send the closed-won amount to SourceTrack through the Offline Conversion API (
POST /v1/events), so revenue is credited to the channel that brought the customer.
How stage events are matched to a visitor
SourceTrack can only credit a stage or sale to a source if it can find the visitor. Include one of these in the webhook or API payload:
st_aid: the SourceTrack visitor id. You can store it in a hidden field on your HubSpot form and pass it along in the workflow.- Email: the contact’s email, when the same person already submitted that email through a form on your site.
If neither matches, the conversion is still recorded, but it is not attributed to a source.
Being rolled out
Some related pieces are built but switched off while we test them, so do not rely on them yet:
- Updating a lead’s status in SourceTrack from the stage you send.
- Capturing embedded HubSpot form submissions and HubSpot Meetings bookings.
- The managed HubSpot connection described above.
What you will see in SourceTrack
- A form on your page: the submission appears as a lead on the visitor’s journey, with the first-touch and last-touch source, medium, campaign and landing page, and the pages viewed before it.
- A stage event from a workflow: it is recorded as a conversion against the visitor it matches. When it cannot be matched it is still recorded, but shows no source.
- Closed-won revenue: it appears as revenue credited to the channel of the matched visitor.
How it works under the hood
- Forms on your page. The tracker listens for a form being submitted on the page, and recognises HubSpot’s own form markup. It records form metadata such as the form’s id and name, not what the visitor typed. A HubSpot form rendered in the page is counted once, not twice.
- Stage webhook. Your HubSpot workflow calls your SourceTrack inbound webhook URL when a deal or lead reaches a stage. SourceTrack matches it to a visitor with
st_aidfirst, then with a known email. - Offline Conversion API. Your own system sends the closed-won amount with
POST /v1/events, using the samest_aidor email.
Nothing is written back into HubSpot. SourceTrack does not change contacts, deals or properties.
Test it end to end
- Add the SourceTrack snippet to the page that holds your HubSpot form.
- Open a new private window with no Do Not Track or Global Privacy Control signal and visit the page through a link with UTM tags.
- Submit the form with a test address.
- In SourceTrack, find the lead and open its journey. Check the source and the pages before the submission.
- Create a test workflow that sends the inbound webhook when a deal reaches a stage, including
st_aidor the same email. Trigger it and check that the stage is recorded against the same visitor. - For revenue, send a test closed-won amount to the Offline Conversion API with the same
st_aidor email and check it appears against the same channel.
Common problems and fixes
- Do Not Track, Global Privacy Control or missing consent. The tracker sends nothing for that visitor, so no lead and no visitor id exist to match later.
- The SourceTrack snippet is not on the form page. Both must be on the same page. A HubSpot form opened on a HubSpot-hosted page is outside your site.
- A stage event shows no source. The payload had no
st_aidand no email that SourceTrack already knows. Addst_aidas a hidden field and pass it in the workflow.
Related guides
- How to track UTM parameters in HubSpot forms
- Troubleshooting tracking problems
- All integrations
- UTM validator tool
Frequently Asked Questions
Does SourceTrack write anything into my HubSpot account?
No. Nothing is written to HubSpot contacts, deals or properties today. Data only flows from HubSpot to SourceTrack, through the workflow webhook and API calls that you set up.
Is this a two-way sync?
No. A managed HubSpot connection that writes source onto contacts is being built and is not available yet.
Will a stage event always show a source?
Only when SourceTrack can match it to a visitor using st_aid or a previously submitted email, as described above.
Does the tracker read what a visitor types into a HubSpot form?
It records that a form was submitted and form metadata such as its id and name. It does not store the answers in the journey.
Can closed-won revenue be added without the webhook?
Yes, through the Offline Conversion API. Send the amount with POST /v1/events, including st_aid or the contact’s email.