Technical Guides

iOS 14.5+ Tracking Fix: How to Recover Lost Conversions [2026]

Fix iOS 14.5 tracking issues with server-side tracking, domain verification, and a stronger first-party measurement path.

Alex Pasichnyk March 6, 2026 11 min read
#ios 14 tracking#ios 14.5 fix#att framework#facebook tracking fix#app tracking transparency
Featured image for iOS 14.5+ Tracking Fix: How to Recover Lost Conversions [2026]

Direct Answer: To fix iOS 14.5+ tracking issues, implement server-side tracking (Conversions API), verify your domain with Meta, configure conversion value optimization, and use stronger first-party data handling so measurement stays more reliable under ATT restrictions.

When Apple released iOS 14.5 with App Tracking Transparency (ATT), the advertising world changed overnight. Facebook/Meta reported 15-20% revenue impacts. Advertisers saw attribution windows shrink and audience sizes plummet. But there’s a solution—and this guide shows you exactly how to implement it.


Table of Contents


What Changed with iOS 14.5?

App Tracking Transparency (ATT)

iOS 14.5 introduced a mandatory permission dialog for app tracking:

┌─────────────────────────────────────────┐
│  "Allow [App] to track your activity    │
│   across other companies' apps and      │
│   websites?"                            │
│                                         │
│  [Ask App Not to Track]  [Allow]        │
└─────────────────────────────────────────┘

The result: Only 15-30% of users opt-in to tracking.

Attribution Window Changes

Attribution ModelPre-iOS 14.5Post-iOS 14.5
Click-through28 days7 days
View-through1 day1 day

Data Limitations

  • Delayed reporting: Up to 72 hours
  • Aggregated data: Individual user data hidden
  • Limited events: 8 conversion events per domain

The Business Impact

Real Numbers from iOS 14.5

MetricTypical Impact
Reported conversions-40% to -60%
Audience sizes-50% to -70%
Attribution accuracySignificantly reduced
CAC increase+20% to +40%

Why Your Data Looks Wrong

Not actually fewer conversions—just less visibility:

Reality:     100 conversions
Reported:    40-60 conversions (with ATT)
Missing:     40-60 conversions

This creates a false sense of poor performance when campaigns may actually be working.


The iOS 14.5 Fix Strategy

The Core Solution: Server-Side Tracking

Server-side tracking bypasses browser and app restrictions:

Before (Broken):
User → iPhone → Safari → Facebook Pixel → ❌ BLOCKED

After (Fixed):
User → iPhone → Your Server → Meta CAPI → ✅ TRACKED

Five-Step Recovery Plan

  1. Implement Meta CAPI — Server-side event tracking
  2. Verify your domain — Own your tracking configuration
  3. Configure conversion values — Optimize for true ROI
  4. Aggregate event measurement — Work within 8-event limit
  5. Build first-party data — Reduce dependency on pixels

Step 1: Implement Meta Conversions API (CAPI)

Why CAPI Fixes iOS 14.5 Issues

  • Bypasses browser/app restrictions
  • Uses server-to-server communication
  • Maintains 28-day attribution windows
  • Captures events pixels miss

Implementation Options

Option A: Direct API Integration

// Server-side CAPI event
const sendToMetaCAPI = async (event) => {
  const payload = {
    data: [{
      event_name: 'Purchase',
      event_time: Math.floor(Date.now() / 1000),
      event_id: event.id, // Critical for deduplication
      user_data: {
        em: hashSHA256(event.user.email),
        ph: hashSHA256(event.user.phone),
        client_ip_address: event.user.ip,
        client_user_agent: event.user.userAgent,
      },
      custom_data: {
        value: event.value,
        currency: event.currency,
        content_ids: event.productIds,
        content_type: 'product',
      },
      action_source: 'website',
    }],
    access_token: process.env.META_ACCESS_TOKEN,
  };

  const response = await fetch(
    `https://graph.facebook.com/v18.0/${process.env.META_PIXEL_ID}/events`,
    {
      method: 'POST',
      headers: { 'Content-Type': 'application/json' },
      body: JSON.stringify(payload),
    }
  );

  return response.json();
};
// Single integration sends to Meta CAPI + others
await fetch('https://gateway.anacoic.com/track', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'X-Gateway-Host': 'your-domain.com',
  },
  body: JSON.stringify({
    event_name: 'Purchase',
    event_id: 'order_12345',
    user_data: {
      email: '[email protected]', // Auto-hashed
      phone: '+1234567890',
    },
    custom_data: {
      value: 99.99,
      currency: 'USD',
      content_ids: ['SKU-123'],
    },
  }),
});

Critical: Event Deduplication

When running both pixel and CAPI, use event IDs to prevent duplicates:

const eventId = `purchase_${orderId}_${timestamp}`;

// Send to browser pixel
fbq('track', 'Purchase', {...}, {eventID: eventId});

// Send to server with same ID
sendToMetaCAPI({...event, event_id: eventId});

Step 2: Verify Your Domain

Why Domain Verification Matters

  • Required for iOS 14.5+ conversion tracking
  • Controls which events your pixel can optimize for
  • Prevents event hijacking

How to Verify Your Domain

  1. Go to Events Manager → Data Sources → Your Pixel
  2. Click “Settings” → scroll to “Domain Verification”
  3. Choose verification method:

Option A: DNS TXT Record (Recommended)

Type: TXT
Name: @
Value: facebook-domain-verification=XXXXXXXXXX

Option B: HTML File Upload

Upload file to: https://yourdomain.com/XXXXXXXXXX.html

Option C: Meta Tag

<meta name="facebook-domain-verification" content="XXXXXXXXXX" />
  1. Wait for verification (can take up to 72 hours)

Configure 8-Event Limit

Once verified, prioritize your conversion events:

PriorityEventWhy
1PurchasePrimary conversion
2InitiateCheckoutFunnel step
3AddToCartIntent signal
4ViewContentTop of funnel
5LeadB2B/SaaS
6CompleteRegistrationAccount creation
7SearchEngagement
8AddPaymentInfoPurchase intent

Step 3: Configure Conversion Value Optimization

Value Optimization for iOS 14.5+

Instead of optimizing for volume, optimize for value:

// Send value with every purchase event
{
  event_name: 'Purchase',
  custom_data: {
    value: 150.00,        // Send actual order value
    currency: 'USD',
  }
}

Set Up Value Rules

In Events Manager:

  1. Go to Aggregated Event Measurement
  2. Select Purchase event
  3. Configure Value Rules:
Value RangeOptimization
$0 - $50Low value
$50 - $150Medium value
$150+High value

Why This Helps

  • Makes every conversion count
  • Better signal for algorithm
  • Works within iOS limitations

Step 4: Set Up Aggregate Event Measurement

Understanding the 8-Event Limit

iOS 14.5+ restricts domains to 8 conversion events for optimization.

Event Prioritization Strategy

Priority 1: Purchase (always)
Priority 2: InitiateCheckout
Priority 3: AddToCart
Priority 4: ViewContent
Priority 5: Lead
Priority 6: CompleteRegistration
Priority 7: Search
Priority 8: [Your custom event]

Managing Events in Events Manager

  1. Go to Events Manager → Aggregated Event Measurement
  2. Drag to reorder events by priority
  3. Changes take 72 hours to apply

Pro Tip: Use Custom Conversions

Create custom conversions from standard events to track more without using event slots:

Standard Event: Purchase
Custom Conversion: Purchase > $100
Custom Conversion: Purchase (Specific Product)

Step 5: Build First-Party Data Strategy

Reduce iOS Dependency

Build assets you own:

AssetiOS ImpactYour Control
Email list❌ None✅ Full
Customer database❌ None✅ Full
SMS list❌ None✅ Full
Push notifications⚠️ Some✅ High
Pixel audiences✅ High impact❌ Platform

Implementation

Collect emails at every opportunity:

// Exit intent popup
// Post-purchase upsell
// Content downloads
// Newsletter signup
// Account creation

Use email for retargeting:

// Upload email lists to Meta
// Create lookalike audiences
// Use for retention campaigns

Platform-Specific Fixes

Facebook/Meta iOS 14.5 Fix

Do:

  • ✅ Implement CAPI immediately
  • ✅ Verify domain
  • ✅ Set up 8-priority events
  • ✅ Use value optimization
  • ✅ Enable advanced matching

Don’t:

  • ❌ Rely solely on browser pixel
  • ❌ Ignore event deduplication
  • ❌ Skip domain verification

Enhanced Conversions:

// Send hashed email with conversions
gtag('event', 'conversion', {
  'send_to': 'AW-XXXXXX/YYYYY',
  'value': 99.99,
  'currency': 'USD',
  'transaction_id': 'ORDER_12345',
  'user_data': {
    'email': hashSHA256(email),
  }
});

TikTok iOS 14.5 Fix

Events API:

{
  "event_source": "web",
  "data": [{
    "event": "CompletePayment",
    "user": {
      "email": "hashed_email",
      "phone": "hashed_phone"
    },
    "properties": {
      "value": 99.99,
      "currency": "USD"
    }
  }]
}

Testing & Validation

Pre-Launch Checklist

  • Domain verified in Events Manager
  • CAPI events firing
  • Event IDs configured for deduplication
  • 8 events prioritized correctly
  • Test events appearing in Events Manager
  • Match rates >70%

Using Meta’s Test Events Tool

  1. Go to Events Manager → Test Events
  2. Enter your test event code
  3. Send test events from your server
  4. Verify they appear within minutes

Debugging Common Issues

IssueSolution
Events not showingCheck event_time is Unix timestamp
Low match rateInclude more user data fields
DuplicatesVerify event_id is unique
401 errorsRegenerate access token

Monitoring Your Recovery

Key Metrics to Track

MetricBefore FixTarget After
Reported conversionsBaseline+40 to 60%
Match rate<50%>70%
Attribution window7 days28 days
CPABaseline-20 to 30%

Dashboard Setup

Create a recovery tracking spreadsheet:

| Date | Pixel Events | CAPI Events | Total | Match Rate |
|------|--------------|-------------|-------|------------|
| Week 1 | 100 | 80 | 180 | 80% |
| Week 2 | 95 | 85 | 180 | 89% |

When to Expect Results

TimelineExpected Result
Week 1CAPI events flowing
Week 2Match rates stabilizing
Week 4Full attribution recovery
Week 8Optimized campaigns performing

Key Takeaways

  • iOS 14.5 broke browser tracking—server-side CAPI is the fix
  • Implement all 5 steps for maximum recovery
  • Domain verification is required—not optional
  • Event deduplication prevents double-counting
  • Value optimization beats volume optimization in iOS era
  • First-party data reduces platform dependency
  • Expect 4-8 weeks for full performance recovery
  • Monitor match rates—aim for 70%+ on CAPI

FAQ

Does iOS 14.5 affect web tracking or just apps?

Both. While ATT specifically targets app tracking, Safari’s Intelligent Tracking Prevention (ITP) has limited third-party cookies since 2020. The combined effect significantly impacts web tracking.

How much conversion data can I recover with CAPI?

The amount of recovery depends on your match rates, implementation quality, and how much of the path is still browser-dependent. The practical goal is to restore signal quality, not promise a universal percentage.

Is Meta CAPI free to use?

Yes, Meta Conversions API is free. However, implementing it requires either engineering resources or a paid solution like Anacoic to simplify the setup.

What’s the difference between CAPI and the Facebook Pixel?

The Facebook Pixel runs in the browser and is blocked by iOS restrictions. CAPI runs on your server and sends events directly to Meta, bypassing browser restrictions.

Do I need both the Pixel and CAPI?

Yes, run both simultaneously. The pixel captures what it can, CAPI captures what the pixel misses. Use event IDs to deduplicate between them.

How long does it take to see results after implementing CAPI?

You should see CAPI events appearing in Events Manager within hours. Full performance optimization takes 4-8 weeks as the algorithm adjusts to the new data.

What’s a good event match rate?

Aim for 70%+ match rate on CAPI events. Below 50% indicates issues with user data hashing or missing fields.

Can I fix iOS 14.5 tracking without a developer?

Yes, using solutions like Anacoic that provide no-code CAPI implementation. Direct API integration requires development resources.

Does CAPI work for other platforms besides Meta?

Yes—TikTok Events API, Google Ads Enhanced Conversions, LinkedIn CAPI, Snapchat Conversions API all work similarly. Anacoic can route to all platforms simultaneously.

Will Apple block server-side tracking too?

Unlikely. Server-side tracking doesn’t rely on browser storage or cross-app tracking—the core targets of Apple’s privacy initiatives.


Resources


Ready to fix your iOS 14.5 tracking? Start your free trial and recover lost conversions today.

If the article is moving toward implementation, the documentation is the fastest path from concept to controlled rollout.

No analytics or marketing tags load until you opt in.

We use a first-party consent setting to remember your choice. If you allow analytics or marketing, Google Tag Manager can load the tags configured for this site. You can change the decision any time from the footer.