Decide what counts as a submission
Pick one definition and write it down. A submission is a completed form that arrives in your CRM. It is not a click on the button, and it is not a visit to a thank-you page that someone reached by refreshing.
Then use two rates. The page rate is submissions divided by visitors to the page with the form. The source rate is the same sum, but only for visitors who came from one source. Say organic search sent 1,000 visits and 20 people submitted. That is 2 per cent. Say LinkedIn ads sent 400 visits and 4 people submitted. That is 1 per cent.
Tag every link you control
You cannot compare sources that have no names. Put UTM parameters on every link you place yourself: utm_source, utm_medium and utm_campaign. Links in your email signature, newsletters, social posts, partner pages and ads all count.
Agree the spelling once and keep it in a shared sheet. Lowercase only. One value per source. "linkedin", "LinkedIn" and "linked-in" show up as three sources, and your table becomes useless within a month.
A working example: utm_source=linkedin, utm_medium=paid-social, utm_campaign=autumn-webinar. Anyone can read that a year later.
Fire an event when the form succeeds
In Google Analytics create a form submission event and mark it as a key event. Pass the form name with it, so you can tell the contact form from the demo form.
Trigger it from Google Tag Manager on the success message, not on the button click. A click counts people whose form then failed validation. Test it by submitting a lead yourself through a tagged link, and check the event appears in the realtime report with the right source.
Store the source on the contact record
Analytics counts submissions. Your CRM has to remember where each person came from, because that is how you later see who became a customer. Most CRMs keep an original source field. Make sure yours is filled in. If it is not, add hidden fields to the form for the three UTM values and the first page the visitor saw.
HubSpot users should check that the form passes the UTMs through. Do this before you trust any report built on top of it.
Build one table, by source
Make one sheet in Google Sheets or a dashboard in Looker Studio with one row per source and these columns:
- Sessions on pages with a form.
- Submissions.
- Submission rate.
- Qualified leads from those submissions.
- Qualified leads per 100 visits.
Update it every Monday. Fifteen minutes is enough once the tagging works.
Read the rate next to lead quality
A high submission rate on its own can mislead. Imagine a prize draw page sends 500 visits and 50 submissions, a 10 per cent rate, and none of those people ever answer your email. Organic search sends 1,000 visits and 20 submissions, and 6 of them become sales conversations.
Rank sources by qualified leads per 100 visits. In this example search gives 0.6 and the prize draw gives 0. The submission rate told you to love the prize draw. The qualified column told you the truth.
Act on the gaps
Three moves cover most cases:
- High rate and high quality: send more traffic there and protect it.
- Low rate and good quality: the visitors are right and the page is the problem. Look at Forms that convert and A/B test form fields and placement.
- High rate and poor quality: tighten the offer or the form so it filters better, or stop paying for that source.
Do not act on thin data. Wait until a source has at least 30 submissions, or four weeks, before you move budget.
Common mistakes
- Letting the "direct" bucket grow because links are untagged, so half your leads have no source.
- Counting button clicks as submissions.
- Comparing sources by rate alone and ignoring what happened to the leads afterwards.
- Changing the form and the traffic mix in the same week, so you cannot tell which one moved the number.
- Reading one week of data for a small source and cutting it on a bad Tuesday.
How you know it works
You can answer three questions in under a minute. Which source sent the most qualified leads last quarter? Which source has the lowest cost per qualified lead? Which page loses the most good visitors? When your next budget conversation starts with the table instead of an opinion, the tracking is doing its job.