Outbound Click - Paid Advertising Agency for Google, Facebook & Bing Ads
Back to Blog
Tracking12 min readDec 18, 2025

How to Recover 40% of Lost Conversions After iOS Updates

iOS privacy changes broke your Facebook attribution. Here's exactly how to implement server-side tracking and Conversions API to recover your lost data.

OC
Outbound Click Team
15+ Years of Paid Ads Expertise
How to Recover 40% of Lost Conversions After iOS Updates

The iOS Tracking Crisis: What Actually Happened

When Apple rolled out iOS 14.5 in April 2021, it didn't just change privacy settings—it fundamentally broke how Facebook (now Meta) tracks conversions. If you've watched your ROAS crater from 4x to barely breaking even, you're not imagining things. The data confirms it: advertisers lost an average of 30-50% of their conversion visibility overnight.

But here's what most agencies won't tell you: the conversions didn't disappear. Your ability to track them did.

The customers are still buying. They're just invisible to your pixel now. And if you're still relying solely on the Facebook pixel for attribution in 2024, you're flying blind with a blindfold on.

Why Your Facebook Pixel Is Lying to You

Let's get technical for a moment, because understanding the problem is half the solution.

The Old Way (Pre-iOS 14.5)

Before Apple's App Tracking Transparency (ATT) framework, the Facebook pixel worked like this:

  1. User clicks your ad
  2. Pixel fires on your website
  3. Cookie identifies the user across sessions
  4. Conversion gets attributed to the ad

Simple. Effective. Accurate (mostly).

The New Reality

Now, approximately 75-85% of iOS users opt out of tracking. When they do:

  • The pixel can't identify them across sessions
  • 7-day attribution window gets crushed
  • Cross-device tracking breaks completely
  • View-through conversions vanish

The result? Your Facebook Ads Manager shows 50 conversions, but your Shopify shows 120 orders from Facebook traffic. That's not a rounding error—that's a crisis.

The Solution: Server-Side Tracking & Conversions API

Meta's Conversions API (CAPI) isn't just a nice-to-have anymore. It's survival infrastructure for any serious advertiser.

What CAPI Actually Does

Instead of relying on the browser (which Apple controls), CAPI sends conversion data directly from your server to Meta's servers. No browser. No iOS interference. No lost data.

Think of it like this:

  • Pixel (browser-side): A messenger that has to cross Apple's toll booth. Sometimes they get stopped.
  • CAPI (server-side): A direct phone line to Meta that bypasses the toll booth entirely.

The Redundant System Approach

The best setup uses BOTH pixel and CAPI working together:

  1. Pixel captures what it can (still ~25% of iOS users + all Android/desktop)
  2. CAPI captures everything else
  3. Meta deduplicates so you don't double-count

This redundant approach typically recovers 30-50% of "lost" conversions.

Step-by-Step CAPI Implementation

Option 1: Native Platform Integration (Easiest)

If you're on Shopify, WooCommerce, or similar platforms:

Shopify:

  1. Go to Online Store → Preferences
  2. Find Facebook pixel settings
  3. Enable "Server-side tracking"
  4. Enter your Conversions API access token
  5. Set event match quality targets above 6.0

WooCommerce:

  1. Install the official Facebook for WooCommerce plugin
  2. Connect your pixel via the integration
  3. Enable CAPI in the plugin settings
  4. Verify events in Events Manager

Option 2: Google Tag Manager Server-Side (More Control)

For larger advertisers or custom setups:

  1. Set up a GTM server container (Google Cloud recommended)
  2. Create a Facebook CAPI tag in your server container
  3. Configure the client to receive browser-side events
  4. Set up transformation rules for event data
  5. Send transformed data to Meta

This requires more technical setup but gives you granular control over what data gets sent.

Option 3: Direct API Integration (Maximum Control)

For developers or advanced setups, you can call the Conversions API directly:

  • Create a sendConversionEvent function that makes a POST request
  • URL: https://graph.facebook.com/v18.0/[PIXEL_ID]/events
  • Include event_name, event_time, action_source, user_data, and custom_data
  • Pass your ACCESS_TOKEN for authentication

Event Match Quality: The Metric That Actually Matters

After implementing CAPI, your #1 focus should be Event Match Quality (EMQ). This score (1-10) tells you how well Meta can match your conversion events to users.

Target Scores:

  • Below 5: Poor - you're losing significant attribution
  • 5-7: Acceptable - room for improvement
  • 7-9: Good - competitive advantage territory
  • Above 9: Excellent - maximum attribution accuracy

How to Improve EMQ:

  1. Send more user data parameters:
  • Email (hashed)
  • Phone number (hashed)
  • First name, last name
  • City, state, zip code
  • Click ID (fbc parameter)
  • Browser ID (fbp parameter)
  1. Ensure proper hashing:
  • Use SHA-256
  • Lowercase before hashing
  • Remove whitespace
  • Format phone numbers consistently
  1. Capture fbc and fbp parameters:
  • fbc: The click identifier from ad clicks
  • fbp: The browser identifier from the pixel
  • Pass both through your checkout flow

Deduplication: Don't Double-Count

When running both pixel and CAPI, you need deduplication to prevent counting the same conversion twice.

How It Works:

  1. Generate a unique event_id for each conversion
  2. Pass the same event_id to both pixel and CAPI
  3. Meta automatically deduplicates events with matching event_ids

Implementation:

const eventId = purchase_[orderId]_[timestamp];

// Pixel fires with event_id

fbq('track', 'Purchase', { value: 99.99 }, { eventID: eventId });

// CAPI sends with same event_id

sendCAPIEvent({ event_id: eventId, event_name: 'Purchase', value: 99.99 });

Testing Your Implementation

Meta Events Manager Test Events

  1. Go to Events Manager → Your Pixel
  2. Click "Test Events"
  3. Enter your website URL
  4. Perform test conversions
  5. Verify both pixel AND server events appear
  6. Check for "Deduplicated" status

Payload Validation

Use Meta's Payload Helper tool to validate your CAPI payloads before sending:

  • Check required parameters
  • Verify hashing is correct
  • Test event matching

Advanced: Attribution Modeling Beyond Meta

Even with perfect CAPI implementation, you shouldn't rely solely on Meta's attribution. Implement these additional layers:

1. UTM Parameter Tracking

Tag all ad URLs with UTM parameters and track in Google Analytics 4:

  • utm_source=facebook
  • utm_medium=paid
  • utm_campaign={campaign_name}
  • utm_content={ad_name}

2. Post-Purchase Surveys

Ask customers "How did you hear about us?" immediately after purchase. This captures:

  • View-through conversions
  • Word-of-mouth influenced by ads
  • Multi-touch attribution signals

3. Incrementality Testing

Run geo-based holdout tests:

  1. Pause ads in select markets
  2. Measure sales difference vs. control markets
  3. Calculate true incremental impact

Common CAPI Implementation Mistakes

Mistake 1: Not Sending Real-Time Events

CAPI events should fire within seconds of the conversion, not batch-processed hours later. Delayed events hurt matching.

Mistake 2: Missing User Data Parameters

The more data you send, the better the matching. Don't skip fields just because they're optional.

Mistake 3: Incorrect Event Timing

The event_time must be in Unix timestamp format and within 7 days of the actual conversion. Sending stale data tanks your match rate.

Mistake 4: Forgetting Mobile App Events

If you have an app, you need the Facebook SDK properly implemented alongside CAPI for web.

Results You Can Expect

Clients who properly implement CAPI typically see:

  • 30-50% more attributed conversions in Ads Manager
  • Improved cost-per-acquisition reporting (often lower than pre-implementation because you're seeing more conversions)
  • Better optimization because Meta's algorithm has more data to work with
  • Event Match Quality scores above 7.0

One e-commerce client went from showing 47 daily conversions to 78 daily conversions after CAPI implementation—same ad spend, same actual sales, just better tracking.

The Bottom Line

iOS tracking changes aren't going away. Privacy regulations are only getting stricter. The advertisers who thrive will be those who build robust, server-side tracking infrastructure now.

CAPI isn't complicated, but it requires proper implementation. If you're still running Facebook ads with just a pixel in 2024, you're leaving 30-50% of your data on the table—and making decisions based on incomplete information.

Need help implementing CAPI or auditing your current tracking setup? Our team has implemented server-side tracking for hundreds of accounts. We can audit your current setup and show you exactly how much attribution you're missing—and how to get it back.

iOS trackingFacebook CAPIconversion trackingiOS 14.5server-side trackingMeta Conversions API

Need Help With Your Paid Ads?

Get a free consultation about your ad campaigns. We'll share honest advice on what could be improved—whether you work with us or not.

Let's Talk