“We do not have a lead file.”
You almost certainly do. Every submission your forms have taken is stored, timestamped and exportable.
For Jotform
Export your submissions, match them against closed sales, and find out which forms and which sources produced revenue.
No API key Nothing to install in JotformNothing to install No card requiredNo card
Jotform sits on the lead side in CloseRev: every submission carries the contact details somebody typed, a timestamp and whatever hidden fields the form was built with. Exported and matched against closed sales, it becomes the lead file most businesses assume they do not have. Revenue with no traceable submission is reported as Direct / Unknown.
Last checked against Jotform's own documentation on September 24, 2026.
The gap
Submissions arrive by email, get actioned, and are never counted against anything.
What was sold, to whom, and for how much.
The click, the keyword, the call, and what each one cost.
The file
Three things carry the match: who, how much, and when. Anything else is optional and only changes how the report can be sliced.
On the submission, as typed by the enquirer. Whichever fields your form asks for become the join keys.
When the form was sent, which anchors the window.
Which form produced it. A quote request and a newsletter sign-up are not the same lead and must not be pooled.
Where a hidden field captures the campaign or referrer, this is what turns a form file into a source file.
Step by step
Written for somebody with Jotform open in the next tab. Report names vary by edition, so each step says what to look for.
One row per submission with a contact detail, the form name and the date.
Quote requests, contact enquiries, event sign-ups and support requests have entirely different values and should never be averaged.
One hidden field carrying the campaign turns every future submission into an attributable lead at no ongoing cost.
Contact detail, amount, date, from whichever system invoices.
The join runs on the phone and the email, normalised, with unmatched submissions kept visible.
What comes back
Revenue by channel, the count of sales behind each figure, and an honest bucket for the ones nobody could trace. Sample figures, from the worked example on the Home Services page — not from a Jotform account.
| Channel | Share | Sales | Revenue |
|---|---|---|---|
| Google Ads | 54 | $218,600 | |
| Meta Ads | 29 | $66,500 | |
| Email marketing | 17 | $38,000 | |
| Direct / Unknown | 71 | $152,100 |
Unmatched sales stay in Direct / Unknown. They are never spread across the paid channels to make the total look better.
The argument
Businesses are routinely told they cannot measure marketing because they have no lead data, when in fact every enquiry for three years is sitting in a form tool.
Submissions are stored, timestamped and exportable, and they carry the contact details the enquirer typed themselves.
That is all a match needs, and it means the historical report can be run today rather than starting from now.
It is worth checking before buying anything: a great many businesses already have both halves of the file and have never put them in the same place.
Where the forms have been running for years, the first report covers years rather than months, which is a much better basis for a decision.
A form that records only what the enquirer typed can tell you that somebody enquired, not where they came from.
A hidden field populated from the page's query string carries the campaign or referrer through to the submission at no ongoing cost.
From that point every submission is an attributable lead, and the report can rank campaigns rather than merely forms.
It is the single cheapest improvement available on this page and it takes one change to a form, applied once to the template every other form is copied from.
Until it exists the report is honest about the limit: it will rank forms on revenue and will not invent a campaign breakdown.
A quote request from somebody with a broken boiler and a newsletter sign-up from somebody browsing are both submissions, and pooling them destroys the signal.
Because form tools report submission counts as a single number, that pooling is the default and it makes every channel look the same.
Splitting by form is immediate, requires nothing extra, and usually reveals that one form produces nearly all the revenue.
That finding changes where the buttons go on the website, which is a cheaper intervention than changing the media plan.
It also tends to reveal a form nobody has looked at in two years quietly producing enquiries that go to an inbox nobody reads. That is not a marketing problem and it is usually the most expensive thing the report finds.
Public forms attract automated submissions and duplicate entries from people who pressed the button twice.
Counted as leads, they inflate the volume of whichever channel exposed the form most, which is usually the best-performing one.
Normalisation collapses obvious duplicates on the contact detail, and anything that cannot be matched is reported rather than quietly dropped.
The report does not silently discard rows it does not like, because a lead file that has been cleaned by an invisible rule cannot be checked by anybody.
That matters more than it sounds. Every attribution number rests on which rows were kept, and a tool that decides that quietly is asking to be trusted on the one judgement that determines the answer.
Fair questions
You almost certainly do. Every submission your forms have taken is stored, timestamped and exportable.
One hidden field fixes that for every future submission. Until then the report ranks forms and declines to invent campaigns.
Some are, and the report shows what it could not match rather than cleaning the file behind your back.
No. It reads an exported file, so your forms, submissions and integrations stay where they are.
The lead side. Closed sales from your own system are the other half.
Submissions with a contact detail, the form name and the date.
A hidden field populated from the page's query string, which makes every future submission attributable at no ongoing cost.
No. A quote request and a newsletter sign-up are different leads and averaging them destroys the signal.
Yes, and that is the main advantage: the first report can cover years rather than starting from today.
Unmatched rows are reported rather than silently discarded, because a file cleaned by an invisible rule cannot be checked.
Collapsed on the contact detail during normalisation, and the report shows how many were collapsed.
Whichever your form asks for. Both phone and email are used where present.
Any revenue with no matching submission, usually phone calls and walk-ins.
A contact detail, a form name and a date on one side; a contact detail, an amount and a date on the other. No file uploads, no free-text answers, no payment fields. Encrypted in transit and at rest and deleted with the import.
Revenue per form and per campaign where a source field exists, duplicates collapsed and counted, and everything unmatched kept visible.
By trade
What the report looks like once the export is in, written for each one.
Other systems
Running more than one system, or comparing? The method is the same and the columns are not.
Jotform and the other product names and logos on this page belong to their owners and are shown to identify the software a file comes from. CloseRev is not affiliated with or endorsed by them, and connects to none of them: it reads a file you export.
Start today
Nothing to install in Jotform, no API key, and no need to have been tracking anything until now. Last year works as well as this month.