Attribute submissions from Tally forms to the campaign, keyword or referral that brought the visitor.
How a Tally submission reaches SourceTrack depends on where the form lives. The webhook is the dependable route for an embedded form.
How a Tally submission is recorded
- A native form on your own page: The tracker’s browser submit listener records it. Nothing to configure.
- A Tally form embedded as an iframe: It submits inside Tally’s own frame, which that listener cannot see. Use Tally’s webhook. The tracker can also listen for Tally’s own completion message (
Tally.FormSubmitted) and read only the form id, never the answers or the email. That route is still being rolled out, so do not rely on it alone.
Carrying the visitor to the submission
- Hidden fields: When your Tally form declares hidden fields named exactly
st_aid,utm_source,utm_mediumandutm_campaign(names are case-sensitive), the standard tracker adds the visitor id and the UTM values to the embed as parameters, so Tally stores them with the response. It skips this when the visitor sends Do Not Track or Global Privacy Control, and the Cookieless Mode build never hands the id to a third party. Values containing an @ are never sent. - Webhook: Tally posts each response to your SourceTrack source URL with
/form/tallyadded. SourceTrack readsst_aid, the UTM fields and the email answer. Withoutst_aid, a submission is matched to a visitor by email only when SourceTrack already knows that email. Otherwise it is recorded as a lead with no source. - Ad click ids (
gclid,fbclid) are not read from Tally submissions.
Step-by-step setup
Step 1: Install SourceTrack
Add the tracking snippet to the page that holds your form.
Step 2: Declare hidden fields in Tally
In the Tally editor, type /hidden and add a hidden field named st_aid. Optionally add utm_source, utm_medium and utm_campaign.
Step 3: Embed the form
Embed the Tally form as usual (inline, popup or modal). The tracker adds the values to the embed when it can.
Step 4: Add the webhook
In SourceTrack, open Integrations, then Webhook sources, and use the steps under “Form hosted on another site?”. Copy the source URL, add /form/tally to the end, and paste it as a webhook in your Tally form.
Step 5: Test a submission
Open your page in a new private window with UTM tags on the link, submit the form, and find the lead in SourceTrack.
What you will see in SourceTrack
A Tally response that arrives with st_aid is linked to that visitor’s journey. You see it as a lead with the source, medium and campaign that brought the visitor, and the pages they viewed before submitting, in time order. A response that arrives without st_aid is matched by email only when SourceTrack already knows that email from an earlier form on your site. Otherwise it is recorded as a lead with no source, which you will see as an unattributed lead.
How it works under the hood
There are two separate pieces, and they do different jobs.
- The hand-off in the browser. The standard tracker looks for Tally embeds on your page and adds the visitor id as
st_aid, and the UTM values under their own names, as parameters that Tally turns into hidden fields. For Tally it writes the values onto the embed’s address or onto the data attributes of a Tally button that opens a popup. If an embed already has its own value for a name, SourceTrack does not overwrite it. - The webhook on the server. SourceTrack reads only the four hidden fields and the email answer, which is used to match a returning visitor. No other answer is read.
A form on your own page, built with your own HTML, is a different path: the tracker’s submit listener records it directly and no webhook is needed. Tally can also send a completion message that the tracker may read for the form id only, never the answers or the email. It is still being rolled out.
Test it end to end
- Declare the four hidden fields in Tally:
st_aid,utm_source,utm_mediumandutm_campaign, exactly as written. - Add the webhook in Tally with your SourceTrack source URL plus
/form/tally. - 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.
- In SourceTrack, find the lead and open its journey. Check that the source and the pages before the submission are there.
Common problems and fixes
- Hidden fields are empty in the response. The field must be declared in Tally under the exact name. Names are case-sensitive:
st_aid, notSt_Aidorst-aid. Tally stores a value only for a field you created. - The form was already loaded. A Tally iframe that is already loaded when the tracker runs is left alone, because changing its address would reload a form in use. Make sure the SourceTrack snippet loads before the embed, or place it in the page head.
- Do Not Track, Global Privacy Control or missing consent. The tracker adds nothing, so there is no visitor id.
Related guides
- How to track UTM parameters in Tally
- Troubleshooting tracking problems
- All integrations
- UTM validator tool
Frequently Asked Questions
Do I need hidden fields?
For an embedded Tally form, yes, if you want the visitor id and UTM values to travel with the response. Declare them in Tally first; Tally only stores a value for a hidden field you created under that exact name.