In this article, you'll learn why tracking forms with Event URLs creates inaccurate data and how to use class-based tracking to capture name and email for better event match quality.
Form submissions are one of the most important events to track for your Facebook ads, but tracking them incorrectly can lead to inflated numbers, wasted ad spend, and poor campaign performance. This guide explains the right way to track form submissions and why it matters.
Why Event URL Tracking Usually Fails for Forms
Many users try to track form submissions by setting up an Event URL that triggers when someone lands on a page. While this seems logical, it creates a critical problem: the event fires every time someone visits that page, not just when they submit the form.
Critical Issue: If you use an Event URL to track a form on a page, the event will fire every single time someone lands on that page, even if they never fill out or submit the form. This creates false conversion data and teaches Meta's algorithm to optimize for the wrong actions.
Real-World Example: The Two-Button Problem
Consider a typical website flow with a form modal:
A visitor clicks a button on your page (e.g., "Receive the Masterclass")
A form modal appears with name and email fields
The visitor fills out the form and clicks submit
If you track this with an Event URL pointing to the page where the button exists, Meta will count a conversion when someone simply lands on the page, not when they actually submit the form. Even worse, if the same person returns to that page later, another event gets triggered.
In the example above, the button triggers a form modal. If you set up an Event URL for this page, you're tracking page views, not actual form submissions.
The actual conversion happens when someone fills out the form and clicks the submit button—not when they first arrive on the page.
What This Means: Event URLs track page visits, not user actions. For forms that appear on a page without a redirect, Event URLs will always produce inaccurate data.
When Event URL Tracking CAN Work for Forms
There is one scenario where Event URL tracking is appropriate for form submissions: when your form redirects users to a dedicated success or thank-you page after submission.
The Success Page Method
If your form workflow looks like this:
User fills out form on
yoursite.com/contactUser clicks submit
User is redirected to
yoursite.com/thank-you
In this case, you can set up an Event URL for yoursite.com/thank-you because users only reach that page after successfully submitting the form.
When This Works: Event URL tracking is accurate for form submissions only when the form redirects to a unique success page that users cannot access any other way.
Potential Issue: Even with a success page, if users bookmark that page, share the link, or refresh it, you'll still track duplicate events. Consider using Event Blocking Rules to prevent duplicates from page refreshes and returning visitors.
The Proper Way: Class-Based Form Tracking
The most accurate and reliable method for tracking form submissions is to use PixelFlow's class-based tracking system. This approach tracks the actual form submission action and captures valuable customer data like name and email.
Why Class-Based Tracking Is Superior
Class-based tracking offers several critical advantages:
Accurate event timing: The event fires only when the submit button is clicked, not when someone visits the page
Captures customer data: You can extract name, email, phone, and other form fields to send to Meta
Improves event match quality: Sending name and email can dramatically increase your event match quality score from 5-6 to 8-9 out of 10
Better ad optimization: Meta's algorithm can more accurately identify and target your ideal customers when you provide rich customer data
Works with any form type: Whether your form is a modal, inline, or multi-step, class-based tracking works consistently
Pro Tip: Higher event match quality scores lead to better ad performance and lower cost per conversion. By capturing name and email from your forms, you're giving Meta the data it needs to find more people like your best customers.
How Event Match Quality Works
Event match quality is a score from 0 to 10 that indicates how well Meta can match your conversion events to specific Facebook and Instagram users. The score is based on the customer information parameters you send with each event.
Why Name and Email Matter
According to Meta's documentation, email is a high-priority parameter for event matching. When you send email addresses (and other identifying information like names) with your events:
Meta can more accurately attribute conversions to specific ad campaigns
Your conversion data becomes more reliable for optimization
Lookalike audiences become more precise and effective
Cost per acquisition typically decreases as Meta finds better-qualified prospects
Without this data, Meta has to rely on less reliable signals like IP addresses and user agents, which results in lower match quality and less effective campaign optimization.
Typical Match Quality Scores: PageView events usually score 5-6 out of 10 because visitors haven't provided any information yet. Form submission events with name and email typically score 8-9 out of 10, giving Meta significantly better data to work with.
Learn more about improving your match quality in our guide: How To Improve PageView Event Match Quality Score
Step-by-Step: Setting Up Class-Based Form Tracking
To properly track a form submission with PixelFlow, you need to add specific classes to your form elements. Here's how:
1. Identify Your Form Elements
Every form has these key components:
Form container (the wrapper around all form elements)
Input fields (name, email, phone, etc.)
Submit button
2. Add the Required Classes
You'll need to add three types of classes:
A. Form Container Class
Add this class to the form element or the container that wraps your entire form:
info-frm-cntr-pfImportant: You must add the form container class before adding any field classes (name, email, etc.). Without the container class, PixelFlow cannot capture the form data.
B. Submit Button Class
Add the appropriate event class to your submit button. For most form submissions, you'll want the Lead event:
action-btn-lead-011-pfOther common event classes for forms include:
action-btn-sub-002-pffor newsletter subscriptionsaction-btn-cntct-003-pffor contact formsaction-btn-submit-013-pffor general application submissionsaction-btn-reg-007-pffor registration forms
C. Form Field Classes
Add these classes to capture customer information from your form fields:
Field Type | Class to Add |
|---|---|
First Name Input | |
Last Name Input | |
Email Input | |
Phone Input | |
3. Update Your Website Script
After adding these classes to your form, you need to update the PixelFlow script on your website and republish your site for the changes to take effect.
Quick Tip: At minimum, always capture email from your forms. This single field can dramatically improve your event match quality. Adding first name as well will boost your score even higher.
Platform-Specific Instructions
The exact process for adding classes varies by platform. See our detailed guides for your specific website builder:
For a complete reference of all available classes, see: How to Track Website Elements via Classes
Troubleshooting Common Issues
Events Not Firing
Symptom: No events appear in your Meta Events Manager after someone submits your form.
Solution:
Verify you've added the form container class (
info-frm-cntr-pf) to your formConfirm the submit button has the correct event class
Make sure you've updated your PixelFlow script and republished your website
Check your PixelFlow dashboard Events Log to see if events are being captured
Events Firing Without Form Data
Symptom: Events are tracked but don't include name, email, or other form fields.
Solution:
Ensure the form container class is added to the parent form element, not just individual inputs
Check that field classes (
info-cust-em-pf,info-cust-fn-pf, etc.) are applied directly to the input elementsVerify the classes are spelled correctly with no typos
Events Triggering on Button Click, Not Form Submission
Symptom: Events fire when users click the button even if they haven't filled out the form.
Solution:
Make sure the event class is on the actual submit button, not a button that just opens the form
If your form has validation, the event should only fire after validation passes and the form actually submits
Consider using form validation before allowing submission to prevent empty form events
Low Event Match Quality Despite Sending Email
Symptom: You're capturing email addresses but your event match quality is still low.
Solution:
Add first name and last name fields to improve match rates
Ensure email addresses are being captured correctly (check your Events Log)
Allow 72 hours for Meta to update match quality scores after making changes
Review How To Improve PageView Event Match Quality Score for additional optimization tips
Best Practices for Form Event Tracking
Best Practice Checklist:
Always use class-based tracking for forms, never Event URLs (unless redirecting to a unique success page)
Capture at minimum email address; ideally also first and last name
Add the form container class before adding field classes
Test your form tracking before launching ad campaigns
Monitor your Events Log regularly to ensure data is being captured correctly
Use Event Blocking Rules if you have a success page to prevent duplicate events from refreshes
Comparison: Event URL vs Class-Based Tracking
Feature | Event URL Tracking | Class-Based Tracking |
|---|---|---|
Tracks actual submission | ❌ Only if redirecting to unique page | ✅ Always |
Captures name/email | ❌ No | ✅ Yes |
Event match quality | Low (5-6/10) | High (8-9/10) |
Risk of duplicate events | ⚠️ High (page refreshes, revisits) | ✅ Low (only on actual submissions) |
Works with modals/popups | ❌ No | ✅ Yes |
Setup complexity | Easy (just add URL) | Moderate (add classes to elements) |
Ad optimization quality | Poor (inaccurate data) | Excellent (rich customer data) |
What's Next
Once you've set up proper form tracking, you can:
Use How to Test and Verify Your PixelFlow CAPI Setup to confirm your events are working correctly
Set up Event Blocking Rules to prevent duplicate events and filter bot traffic
Learn about How to Track Events for other types of conversions on your website
Review How To Improve PageView Event Match Quality Score to optimize all your events
Getting Help
If you're experiencing issues with form tracking or need help adding classes to your specific platform:
Check your PixelFlow dashboard Events Log to see exactly what data is being captured
Review the platform-specific guides linked above for detailed instructions
Book a free setup call with our team to get personalized help configuring your forms
Contact support with your form URL, screenshots of your setup, and any error messages you're seeing
Need Help? Our team offers free setup calls to ensure your form tracking is configured correctly. This 15-minute investment can save you thousands in wasted ad spend from inaccurate tracking.