How does Meta's algorithm use conversion data?
Meta's ad algorithm uses your conversion data — sent via CAPI or the Facebook Pixel — to feed three core systems: the prediction model that decides which users see your ads, the delivery optimization engine that allocates budget across audiences, and the attribution system that measures campaign outcomes. The quality, completeness, and accuracy of the conversion events you send directly determines how effectively the algorithm can optimize your campaigns.
Every conversion event you send is not just a counter — it's a training signal. Meta extracts user attributes, behavioral patterns, and contextual data from each matched conversion to refine its targeting model for your specific campaigns.
Meta's ad delivery system: How it actually works
Every time Meta serves an ad impression on Facebook or Instagram, its system calculates an auction score:
Expected Value = P(conversion) × Bid Amount × Ad Quality Score
P(conversion) — the estimated probability that a specific user will convert after seeing your ad — is where your CAPI data matters most. Meta's machine learning model predicts this probability using:
- Historical conversion data (your CAPI events tell Meta who actually converted)
- User similarity signals (Meta finds profiles with overlapping traits and behaviors)
- Real-time engagement signals (how users interact with your creative and similar ads)
- Contextual signals (device type, time of day, placement)
The continuous optimization loop
Meta's delivery system runs an ongoing feedback loop:
| Step | What Happens | How CAPI Data Fits |
|---|---|---|
| 1. Show ad | Meta selects user based on predicted conversion probability | Uses historical CAPI data to predict |
| 2. User interacts | User clicks, views, or engages with the ad | Ad platform logs interaction |
| 3. Record outcome | CAPI sends conversion event with customer parameters | Your CAPI quality determines match rate |
| 4. Update model | Meta retrains prediction model with new matched data | Clean data improves prediction accuracy |
| 5. Improve targeting | Subsequent impressions target higher-probability converters | Better model results in lower CPA |
This loop runs millions of times per day. Each conversion event you send through CAPI is a training sample. Bad training samples (unmatched events, duplicates, bot conversions) degrade the model. Good training samples (high EMQ, deduplicated, verified humans) make every ad dollar work harder.
The conversion data pipeline: from event to optimization
When you send a conversion event via CAPI, here's what happens inside Meta's system:
Step 1: Event reception
Your server sends an HTTP POST to Meta's Conversions API endpoint containing:
- Event name (
Purchase,AddToCart,InitiateCheckout, etc.) - Event timestamp
- Customer parameters (hashed email, phone, IP, user agent,
fbp,fbc) - Custom data (value, currency,
content_ids,content_type)
Step 2: User matching
Meta attempts to match the event to a user profile in their system. This is where Event Match Quality matters:
| Parameters Sent | Typical Match Rate | EMQ Score |
|---|---|---|
| Only event name + value | 10-20% | 2.0-3.0 |
| + hashed email | 60-75% | 5.0-7.0 |
| + phone + fbp + fbc | 80-90% | 7.0-8.5 |
| + IP + user agent + external_id | 90-99% | 8.5-9.5 |
If the event can't be matched to a user, it's essentially invisible to the algorithm. Meta can't attribute it to an ad interaction, can't learn from it, and can't use it for optimization.
Step 3: Attribution
For matched events, Meta checks whether the user interacted with one of your ads within the attribution window (default: 7-day click, 1-day view). If yes, the conversion is attributed to that ad.
Step 4: Learning signal extraction
Attributed conversions become training data. Meta extracts:
- Demographic patterns — Age, gender, location of converters
- Interest signals — Pages liked, content engaged with, groups joined
- Behavioral patterns — Time of day, device type, browsing behavior
- Lookalike features — Hundreds of hidden features that correlate with purchase behavior
Step 5: Bid optimization
The algorithm uses accumulated conversion signals to:
- Predict which users are likely to convert
- Calculate how much to bid for each ad impression
- Select which creative to show to which audience segment
- Decide when and where to show your ad
More high-quality signals = more accurate predictions = lower CPA.
Why Event Match Quality is the most important metric
EMQ isn't just a diagnostic score — it's a direct multiplier on your algorithm performance:
EMQ determines how much data the algorithm actually receives
| Your EMQ | Conversions Sent | Conversions Algorithm Sees | Algorithm Data Efficiency |
|---|---|---|---|
| 5.0 | 100 | ~50 | 50% wasted |
| 7.0 | 100 | ~70 | 30% wasted |
| 8.5 | 100 | ~85 | 15% wasted |
| 9.5 | 100 | ~95 | 5% wasted |
If your EMQ is 5.0, you're effectively paying for 100 conversions but only giving Meta's algorithm 50 to learn from. Your competitor with EMQ 9.0 gives their algorithm 90 signals from the same 100 conversions. They optimize faster, bid smarter, and get lower CPAs.
The EMQ to CPA relationship
Across hundreds of e-commerce ad accounts, the relationship between EMQ score and CPA is consistent:
| EMQ Score | Typical CPA Impact (vs. EMQ 5 baseline) |
|---|---|
| EMQ 4 | +25-35% higher CPA |
| EMQ 5 | Baseline |
| EMQ 6 | -10-15% lower CPA |
| EMQ 7 | -15-25% lower CPA |
| EMQ 8 | -25-35% lower CPA |
| EMQ 9-10 | -30-45% lower CPA |
The difference between EMQ 5 and EMQ 9 often represents a 30-45% CPA reduction without changing your creative, ad copy, or audience targeting.
EMQ affects learning phase duration
Meta's ad sets require approximately 50 attributed conversions per week to exit the learning phase. But "attributed" means matched AND attributed — not just sent:
| EMQ | Events Needed to Get 50 Attributed | Time to Exit Learning (at 10 conversions/day) |
|---|---|---|
| 5.0 | ~130-150 events | 13-15 days |
| 7.0 | ~85-100 events | 8-10 days |
| 8.5 | ~60-70 events | 6-7 days |
| 9.5 | ~53-55 events | ~5 days |
Lower EMQ means longer learning phases. Longer learning phases mean more unstable delivery, higher CPAs, and wasted budget during the optimization period.
How to maximize EMQ with CAPI
The parameters that boost EMQ most effectively:
- Hashed email address (
em) — The single highest-impact parameter (~35% match weight). Must be SHA-256 hashed, lowercase, trimmed. - Hashed phone number (
ph) — Second strongest identifier (~25% match weight). Country code + digits, SHA-256 hashed. fbpcookie value — Facebook browser pixel ID (~10-15% match weight). Forward from client-side cookie.fbcclick ID — Meta Click ID (fbclid) from URL (~20% match weight). Forwarded through server events.- Client IP address — Server sees this automatically (~8% weight for geographic matching).
- User agent string — Browser and device identifier (~5% weight for device fingerprinting).
- External ID — Customer ID in your database (~3% weight, connects cross-device purchases).
Send ALL of these with every event. The compound effect of multiple parameters is what pushes EMQ from 5-6 to 8-9+.
What happens when you send bad data
The algorithm doesn't just use good data — it also learns from bad data. And bad data creates negative feedback loops:
Problem 1: Bot-contaminated conversions
When bot traffic triggers conversion events that reach Meta:
- Bot "converts" → Meta receives fake Purchase event
- Meta matches to profile → The bot has a browsing profile (it visits many sites)
- Algorithm learns → "People who browse like this bot are buyers"
- Algorithm targets bot patterns → Shows ads to more bot-like users
- More bots "convert" → Reinforces the wrong pattern
- Your CPA rises → Real humans cost more because budget goes to bot-heavy audiences
This is why bot filtering matters so much. Every fake conversion that reaches Meta actively degrades your targeting. It's not just wasted impressions — it's algorithm pollution.
Problem 2: Low-EMQ unmatched events
When events can't be matched to users:
- They don't contribute to optimization (wasted signal)
- Meta can't attribute them to ads (CPA looks artificially high)
- Learning phase takes longer (more budget spent during instability)
- Audience modeling has gaps (less accurate lookalikes)
Unmatched events aren't harmful — they're just invisible. But the opportunity cost is significant: each unmatched event is a conversion your competitor's algorithm might have learned from.
Problem 3: Duplicate events (no deduplication)
When both pixel and CAPI send the same event without deduplication:
- Meta counts each conversion twice
- Reported ROAS is inflated (looks double the reality)
- Algorithm overbids based on artificially high conversion rates
- Budget burns faster than expected
- When duplicate rates exceed 15%, Meta discounts both browser and server signals, penalizing account delivery
Real-world impact: Before and after CAPI optimization
| Metric | Before (EMQ 5, no bot filter) | After (EMQ 9, bot filtering active) | Change |
|---|---|---|---|
| Facebook reported CPA | $42 | $38 | -9% |
| Actual CPA (real humans only) | $67 | $38 | -43% |
| ROAS (reported) | 3.2x | 3.8x | +19% |
| ROAS (real) | 2.1x | 3.8x | +81% |
| EMQ Score | 5.2 | 9.1 | +75% |
| Bot conversion rate | 12% | <1% | -92% |
| Algorithm learning phase | 3-4 days after changes | <24 hours | -75% time |
The reported metrics only improved modestly on the surface. But the real performance — actual humans buying — improved dramatically because the algorithm stopped wasting budget on bot-like audiences.
How Advantage+ Shopping uses CAPI data differently
Meta's Advantage+ Shopping Campaigns (ASC) rely even more heavily on conversion data quality because they're fully automated:
| Campaign Type | Human Control | Algorithm Reliance on Data |
|---|---|---|
| Manual campaigns | You choose audiences, placements | Moderate — you can override |
| Advantage+ audiences | Algorithm chooses within broad inputs | High |
| Advantage+ Shopping | Algorithm controls everything | Maximum — data IS the strategy |
With ASC, you provide:
- A product catalog
- A budget
- Conversion events (via CAPI/pixel)
That's it. The algorithm decides everything else: who sees ads, when, where, and which creative. Your CAPI data quality IS your competitive advantage because it's the only input you control that determines performance.
What ASC needs from your CAPI data
- High volume of matched events — ASC needs 50+ conversions/week minimum. Higher EMQ means more matched events from the same conversion count.
- Accurate conversion values — ASC uses value optimization. If values are wrong (or missing), it optimizes for the wrong thing.
- Clean signals — Bot-contaminated events confuse ASC's audience modeling. It has no way to distinguish real from fake.
- Consistent event timing — Events should arrive within minutes of the conversion. Delayed events break the learning signal chain.
The data quality hierarchy
Not all conversion signals are equal. Here's how Meta weights different data quality levels:
Tier 1: Perfect signal (EMQ 9.0+, clean, attributed)
- Matched to user profile with high confidence
- Attributed to a specific ad interaction
- Bot-filtered (confirmed human)
- Correct value and parameters
Algorithm impact: Maximum learning. Each conversion teaches the algorithm exactly who your buyers are and which ads drove the sale.
Tier 2: Good signal (EMQ 7.0-8.9, clean)
- Matched to user profile with moderate confidence
- Some parameters missing (maybe no phone or external_id)
- Attributed to an ad interaction
- Human-verified
Algorithm impact: Strong learning. Some matching uncertainty means slightly less precise targeting refinement.
Tier 3: Weak signal (EMQ 4.0-6.9)
- Partial match — Meta has low confidence in user identification
- Minimal parameters sent (maybe just email)
- May or may not be attributed correctly
- No bot filtering
Algorithm impact: Minimal learning. Meta may not trust the signal enough to heavily weight it in optimization decisions.
Tier 4: Noise (EMQ below 4.0, or polluted)
- Can't match to user profile
- Bot traffic mixed in
- Missing critical parameters
- Duplicated events
Algorithm impact: Negative. Unmatched events are invisible. Bot events actively teach wrong patterns. Duplicates inflate metrics and cause overbidding.
Practical implications for your ad account
If your CAPI data is high quality (EMQ 8.5+, bot-filtered):
- Learning phases complete in 5-7 days
- CPA stabilizes quickly after changes
- Advantage+ Shopping performs at or near your CPA target
- Lookalike audiences are precise and high-converting
- Retargeting audiences contain real humans only
- Budget allocation across ad sets is efficient
If your CAPI data is low quality (EMQ below 6.0, no bot filtering):
- Learning phases take 2-3 weeks
- CPA fluctuates unpredictably
- Advantage+ Shopping overshoots CPA targets
- Lookalike audiences include non-buyer patterns
- Retargeting audiences contaminated with bot sessions
- Budget bleeds into poorly performing segments
The CPA difference between high and low quality data is typically 15-30%. For a brand spending $50,000/month on Meta ads, that's $7,500-$15,000/month in unnecessary cost.
How to audit your CAPI data quality
Check 1: Event Match Quality scores
In Meta Events Manager → Data Sources → Your Pixel → Overview:
- Look at EMQ per event type (Purchase, AddToCart, InitiateCheckout)
- Purchase EMQ should be 8.0+ minimum
- If below 7.0, you have significant matching gaps
Check 2: Server vs Browser event ratio
In Events Manager → Test Events or Overview:
- Filter by "Processing Method"
- Check that events show both "Server" and "Browser" sources
- If only "Browser," your CAPI isn't sending (or isn't being received)
Check 3: Deduplication effectiveness
- Compare "Total Events" vs "Unique Events"
- If total is roughly 2x unique, deduplication may not be working
- Each conversion should result in ONE counted event
Check 4: Conversion attribution gap
- Compare Meta-reported conversions vs actual store orders for the past 7 days
- A gap larger than 10% indicates matching or delivery issues
- Match rate close to store actuals means your data pipeline is healthy
Check 5: Bot traffic contamination
- Check your bot filtering dashboard
- If 15-30% of events are being filtered as bots, that's normal
- If you have NO bot filtering, those fake events are reaching Meta right now
How SignalBridge optimizes your CAPI data quality
SignalBridge is purpose-built to maximize the signal quality that Meta's algorithm receives:
- Automatic EMQ optimization — Sends all available customer parameters (email, phone, fbp, fbc, IP, user agent, external_id) with every event, pushing EMQ above 8.0 for most merchants within the first week
- Server-side bot filtering — Identifies and blocks non-human events before they reach Meta, preventing algorithm pollution
- Built-in deduplication — Pixel and CAPI events are automatically deduplicated via shared event_id, preventing double-counting
- Real-time event delivery — Events sent within seconds of conversion, maintaining proper attribution windows
- Value accuracy — Pulls actual order values from your e-commerce platform, never estimated or rounded
The result: Meta's algorithm receives clean, complete, high-confidence conversion data that maximizes its ability to optimize your campaigns effectively.
Start a free trial — see your EMQ improve within 48 hours.
FAQ
Does sending more CAPI events always improve performance?
Not if the events are low quality. 100 clean, high-EMQ events give Meta more optimization signal than 200 unmatched or bot-contaminated events. Quality beats quantity because unmatched events are invisible to the algorithm, and polluted events actively teach wrong patterns. Focus on maximizing EMQ and filtering bots before increasing event volume.
How quickly does Meta's algorithm respond to improved data?
You'll see EMQ improvements within 24-48 hours of sending enriched parameters. Algorithm optimization (lower CPAs, better targeting) takes 7-14 days as Meta's model retrains on the improved signals. Full performance stabilization typically occurs after 2-3 weeks of consistent high-quality data delivery.
Can bad CAPI data actually make my ads worse?
Yes. Specifically, bot-contaminated conversion events teach Meta to target bot-like user profiles, which progressively increases your CPA over time. And duplicate events cause overbidding based on inflated conversion rates. Bad data isn't neutral — it's actively harmful to your campaign performance.
What EMQ score should I target?
Minimum 8.0 for your Purchase event. Ideal is 8.5-9.5. Below 7.0, you're leaving significant optimization potential on the table. The difference between EMQ 6.0 and 9.0 typically translates to 15-25% lower CPAs because the algorithm receives dramatically more matched training data.
Does this apply to Google and TikTok algorithms too?
Yes — the same principles apply to all ad platform algorithms. Google's Smart Bidding uses Enhanced Conversions data similarly, and TikTok's Events API feeds their optimization engine. The specifics differ (EMQ is Meta's term), but the concept is universal: better conversion data = better algorithmic optimization = lower acquisition costs.
How does Meta handle events from iOS users after ATT opt-out?
Meta still receives CAPI events from opted-out iOS users — server-side tracking bypasses ATT because data goes server-to-server. However, matching for these users relies on hashed email/phone rather than iOS identifiers. With strong first-party data parameters, match rates for iOS users remain high (70-85%) even after opt-out. See our iOS 19 tracking guide for more detail.
Related reading
Related Articles
What is Event Match Quality? Why It Decides Your Ad Performance
Event Match Quality (EMQ) is Meta's hidden scoring system that determines whether your conversion data actually improves ad delivery. Learn what EMQ measures, why a low score silently destroys your ROAS, and the data points that move the needle.
How to Improve Facebook Ad Performance with Better Data
Learn how data quality directly impacts your Facebook ad costs and conversions. Practical steps to fix tracking gaps, improve Event Match Quality, and give Meta's algorithm the data it needs to lower your CPA.
