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:

  1. A visitor clicks a button on your page (e.g., "Receive the Masterclass")

  2. A form modal appears with name and email fields

  3. 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.

Website page showing a purple button labeled 'Recevoir la Masterclass offerte' which opens a form modal when clicked

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.

Form modal displaying name and email input fields with a blue submit button labeled 'Receive the masterclass'

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:

  1. User fills out form on yoursite.com/contact

  2. User clicks submit

  3. 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-pf

Important: 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-pf

Other common event classes for forms include:

  • action-btn-sub-002-pf for newsletter subscriptions

  • action-btn-cntct-003-pf for contact forms

  • action-btn-submit-013-pf for general application submissions

  • action-btn-reg-007-pf for 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

info-cust-fn-pf

Last Name Input

info-cust-ln-pf

Email Input

info-cust-em-pf

Phone Input

info-cust-ph-pf

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 form

  • Confirm 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 elements

  • Verify 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:

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.

Was this helpful?