Advanced Matching and EMQ
Connect your AI assistant to PixelYourSite and ask: “Help me improve my Event Match Quality” or “Check my advanced matching setup.” The assistant reads your current configuration, identifies gaps, and walks you through exactly what to change — including scanning your forms automatically to find the right field names.
Advanced matching sends customer data (name, email, phone) alongside pixel events so ad platforms can match more of your events to real users. The primary benefit is improving Meta Event Match Quality (EMQ) — a score in Meta Events Manager that directly affects how well Facebook and Instagram can attribute conversions and build custom audiences.
The same configuration also feeds:
- TikTok Pixel and Events API Match Rate
- Google Ads Enhanced Conversions
- GA4 User-Provided Data
One setup in PixelYourSite, multiple platforms.
Requires PixelYourSite Pro. Settings are in PixelYourSite → Global Settings → Advanced user-data detections.
What you can ask the assistant to do
“What advanced matching fields are configured?” Reads all current field-name lists, locked defaults, per-platform switch states, and which dimensions have no coverage.
“Help me improve my Facebook Event Match Quality” The assistant reads your current setup, checks which platforms have their switch enabled, identifies which matching dimensions are missing field names, and walks through what to configure.
“Enable advanced matching for TikTok” The assistant enables the TikTok matching switch directly, with a confirmation step before saving.
“Help me set up advanced matching for my contact form” Give it your contact page URL. The assistant scans the page, finds all form field names, maps them to the right dimensions (name, email, phone), and proposes which ones to add to PYS.
“Add these field names to my email matching: email-address, your-email” Adds them to the email list. The assistant never removes existing field names unless you explicitly ask it to.
“Remove ’email-address’ from my email matching fields” Removes that specific name. All other field names are left untouched.
All write operations use a two-step confirm: the assistant shows a preview of what will change, then waits for your confirmation before saving.
What gets matched automatically
You do not need to configure anything for these:
- Logged-in WordPress users — first name, last name, and email are pulled from their WordPress account on every event.
- WooCommerce checkout and order events — billing first name, last name, email, and phone are populated automatically.
- EDD checkout and order events — customer first name, last name, and email are populated automatically.
The gap is anonymous form submissions — contact forms, newsletter signups, lead generation forms. These are where field-name configuration matters.
How field-name matching works
HTML form fields have a name attribute. For example: <input name="your-email">. PYS reads the value a visitor types into that field and includes it in the pixel event as the email dimension.
You configure which name values to look for. PYS comes with locked defaults that are always active:
| Dimension | Always-active field names |
|---|---|
| First name | first_name, first-name, first name, name |
| Last name | last_name, last-name, last name |
| Phone | phone, tel |
| None — must be configured |
Active form plugins (Contact Form 7, WPForms, Elementor, and others) may add their own defaults on top of these.
Email has no locked defaults — it is the most impactful dimension to configure and the most common gap.
Two types of matching
DOM field names — field names PYS reads from HTML form inputs on the page.
URL parameter names — query parameter names PYS reads from the landing page URL. Used when data arrives pre-filled in a link: yoursite.com/offer?email=user@example.com.
Both cover first name, last name, email, and phone.
Auto-save URL parameters — when enabled, PYS saves URL parameter values to the visitor session and includes them in later events on the same visit, even after they leave the landing page.
Per-platform matching switches
Each platform has its own master switch. When a switch is off, the field-name lists do nothing for that platform regardless of what is configured.
| Platform | Feature name |
|---|---|
| Advanced Matching | |
| TikTok | Advanced Matching |
| Enhanced Matching | |
| Bing | Enhanced Conversions |
| Google Ads | Enhanced Conversions (manual) |
| GA4 / Google Tags | User-Provided Data |
| GTM | User-Provided Data |
GA4 and GTM have additional sub-options: send multiple values per dimension, and use encoding.
The assistant can read and change all of these switches directly.
Page scanning
Scanning a page is the fastest way to find your form field names without touching any code.
The flow:
- Tell the assistant which page has the form you want to match. For example: “Scan my contact page: https://yoursite.com/contact“
- The assistant fetches the page and returns every form field it finds — name, ID, type, and label.
- You review the results and tell the assistant which fields carry name, email, and phone data.
- The assistant proposes the changes. You confirm. Done.
A typical exchange looks like this:
“Scan my contact page and set up advanced matching”
Assistant scans the page and finds fields:
your-name,your-email,your-phone,your-message.It proposes: add
your-nameto first name,your-emailto email,your-phoneto phone.You confirm. The fields are saved.
Limitations to know: scanning fetches static HTML only — it does not run JavaScript. If your form is loaded dynamically (common with some page builders and popup tools), the assistant may not find it. In that case, right-click any form input in your browser, choose Inspect, and look for the name attribute in the HTML. Then tell the assistant: “My email field name is ‘form-email’, add it to matching.”
Scanning works on own-domain URLs only, up to 3 pages per request.