Key Takeaway
Embedded forms break the moment email strips their JavaScript. The clicks and submissions you can no longer see are still happening. Move the counting to your server and each action leaves a log you can trust.
The Form That Looked Perfect and Reported Nothing
You drop a side-by-side comparison form into a campaign and the preview renders. Then you send it to 5,000 subscribers. Hours later the dashboard reads zero.
A teammate fills it out to test and still sees zero. The form worked for them, but your tracking did not.
Mail clients are the reason. They commonly strip <script> tags before a reader ever opens the message. Some disable the <form> element outright. Others hand your message to a sandbox that never calls analytics. Some clients preload images. That spoils open rates too. Others clip messages that grow too large. A fat embedded form burns that budget fast.
If the measurement lives in the browser, the inbox holds a veto.

Lesson One: Give Every Link a Job
A plain link tells you almost nothing. A unique link tells you who clicked and from which send.
Instead of pointing readers straight at your form, point them at a URL your server controls. The server writes the hit to a log and forwards the reader to the real page with a 302 redirect.
A unique URL looks like this: https://yourdomain.com/c/step-two?u=8f3a&list=launch. The u value identifies the contact and the list value names the campaign. No JavaScript runs at any point.
Why it holds up: the click is recorded before the redirect, so a slow page or a closed tab cannot erase it.
Lesson Two: UTM Parameters Are Server Food
Most people treat UTM parameters as an analytics trick. They are just text on the end of a URL and your server can read them as well.
Append utm_source=newsletter and utm_medium=email to a link. When the request reaches your redirect handler, parse those keys and store them next to the click. Reporting stays consistent whether the traffic came from paid search or email.
The trap: UTMs only survive if your redirect passes them along. Strip the query string in your handler and the data is lost.
Lesson Three: Redirects Catch the Submission
You can record the submit without touching the browser at all. Set the form’s action to a server endpoint that logs the submission, then forwards to your thank-you page.
Two signals arrive: the form POST hitting your server and the visitor landing on the thank-you URL. Compare them and you learn something useful. A POST with no follow-up landing often means failed validation or a bot.
Give the thank-you page a unique URL per campaign too. A bland /thanks path proves a conversion happened but hides which send earned it.

Lesson Four: Test With JavaScript Off and Images Blocked
You will not catch these problems in a normal browser. Turn JavaScript off and block remote images, then walk the form like a reader would.
If the submission still reaches your server and the log still fills, your setup is honest. If it vanishes, you found the gap before your audience did.
Run that test in a webmail client and in one desktop app. Two environments catch most surprises.
Lesson Five: Trust the Server Log Over the Open Rate
Open rates have been shaky for years because of image preloading and privacy settings.
A click from your own server is harder to fake, so it is a steadier read on real interest than a pixel that fires on its own.
A Detail People Skip
Your redirect handler should respond in under 200 milliseconds. A slow hop adds a visible pause and readers bail. Keep the logging simple and let a background job clean the table later.
Also decide what a “submission” means before you build. A POST is a form send. A thank-you landing is a completed send. If you count both as the same thing your reports will double-count one person.
Your Next Move
Pick one live email with an embedded form and rewrite its main button as a server redirect with a unique contact ID. Add utm_source and utm_medium, then send a test to yourself with JavaScript disabled.
If the log records your click and your submission, you have swapped hope for proof.
Read the full guide: Embedded Comparison Form in Email: What Renders and What Gets Stripped