Meta Ads & CAPI

iOS Privacy Changes: How to Recover Lost Facebook Ads Data

Apple's privacy changes hid many conversions from Meta. Here is what changed, what is gone for good and how to recover the data you can still measure.

iOS Privacy Changes: How to Recover Lost Facebook Ads Data
Quick answer

Apple's App Tracking Transparency, Safari tracking prevention and link tracking protection reduced what the Meta Pixel can see. You cannot reverse opt-outs, but you can recover much of the remaining gap by adding the Conversions API, deduplicating events, sending hashed customer data to improve Event Match Quality and measuring beyond Ads Manager.

Key takeaways
  • Some lost data is permanent because users opted out, and that should be respected.
  • Much of the remaining gap comes from browser-only Pixel setups.
  • The Conversions API delivers events that browsers block or never send.
  • Hashed email, phone and external ID improve Event Match Quality.
  • Check Meta results against real orders, GA4 and blended metrics.

If you ran Facebook Ads before 2021, you probably remember the moment reported conversions dropped while actual sales did not. Apple's privacy changes did not stop people buying from your ads; they stopped Meta from seeing a lot of those purchases. Years later, many advertisers are still running the same browser-only Pixel and blaming the algorithm.

You cannot undo Apple's changes, and you should not try to work around a user's choice to opt out. What you can do is make sure every conversion Meta is allowed to measure actually reaches it, with enough information to be matched. This post explains what changed and the practical steps I use to recover as much usable data as possible.

What did Apple's iOS privacy changes actually change?

Apple's iOS privacy changes limited how apps and browsers can track people across other companies' apps and websites. Several separate changes add up:

  • App Tracking Transparency (ATT). Since iOS 14.5, apps must ask permission before tracking users across other apps and websites. When someone taps "Ask App Not to Track" in Facebook or Instagram, Meta is restricted in how it can use their off-app activity.
  • Intelligent Tracking Prevention (ITP). Safari limits cookies, especially those set by JavaScript, which shortens how long the Pixel's _fbp and _fbc cookies survive.
  • Link Tracking Protection. Since iOS 17, Safari can strip known click identifiers such as fbclid from URLs in some contexts, including Private Browsing, Mail and Messages.

Apple has continued to tighten these protections in later releases, so expect the browser environment to keep getting stricter rather than looser.

How did Meta respond?

Meta responded by changing how it measures and reports conversions. It introduced Aggregated Event Measurement (AEM) to measure web events from iOS users in a privacy-preserving way, shortened its default attribution windows (the old 28-day click window went away, and 7-day click with 1-day view became the common default), and leans more on statistical modeling to estimate conversions it cannot observe directly.

AEM itself has changed since 2021. Early on, advertisers had to verify their domain and rank up to eight prioritized events per domain. Meta has since simplified this, and that manual event ranking is no longer something most advertisers need to manage. If an older guide tells you to configure event priorities, check what Events Manager actually shows for your dataset today, because these screens change.

Why is my Facebook Ads data still missing conversions?

Your Facebook Ads data is still missing conversions mainly because a browser-only Pixel cannot report events it never gets to send, and cannot match events it sends without enough identifying information. In my audits, the usual gaps are:

Cause What happens What helps
Pixel blocked by an ad blocker or privacy browser Event never reaches Meta Conversions API (server-side events)
Short-lived cookies in Safari Returning visitors lose their _fbp / _fbc link to the ad click First-party server-side tracking on your own subdomain
fbclid stripped from the URL Click ID is missing for that visit Better customer data (email, phone) for matching
Payment gateway redirect skips the thank-you page Purchase never fires in the browser Server-side purchase from order data
Few customer details sent Low Event Match Quality, fewer attributed conversions Hashed email, phone, name, external ID
User opted out via ATT Meta's use of the data is restricted Nothing to "fix"; rely on modeling and wider measurement

The last row matters. Some loss is permanent by design. The goal is to recover the gaps that come from poor implementation, not to defeat a privacy choice.

How do you recover lost Facebook Ads data?

You recover lost Facebook Ads data by sending events through the Conversions API as well as the Pixel, enriching them with properly hashed customer information, and measuring results with tools beyond Ads Manager. Here are the steps in the order I usually do them.

1. Add the Conversions API alongside the Pixel

The Meta Conversions API (CAPI) sends events from your server, so ad blockers and browser script restrictions do not stop them. Keep the Pixel running too, because it provides browser context and cookies. My post on Meta Pixel vs Conversion API explains why the two work best together, and the Shopify and WooCommerce setup guide covers the implementation options.

2. Deduplicate every event

Running both routes means each event arrives twice. Meta merges them when the event name and event ID match, using eventID in the Pixel and event_id on the server. Without this, you swap missing data for inflated data.

3. Improve Event Match Quality

Event Match Quality (EMQ) is Meta's score, out of 10, for how well the customer information in your server events can be matched to Meta accounts. To improve it:

  1. Collect email and phone at checkout or in lead forms, with appropriate consent.
  2. Normalize values (lowercase and trim emails, add country codes to phone numbers) and hash them with SHA-256 before sending.
  3. Pass the _fbp and _fbc values, client IP address and user agent unhashed.
  4. Send a hashed external_id, such as your customer ID, consistently across events.
  5. Turn on automatic advanced matching for the Pixel in Events Manager, if it suits your privacy policy.

On the Lesson Computer project, Pixel-only tracking had been losing a large share of events on iOS devices and blocked browsers. A hybrid Pixel and CAPI setup on a custom tracking domain, with hashed email, phone, IP and user agent, took match quality from 3–4/10 to 9–10/10.

4. Use a first-party server setup

Server-side Google Tag Manager on a subdomain of your own site (for example track.yourstore.com, hosted on Stape or Google Cloud) sends data in a first-party context and can set cookies from the server. Safari still applies some limits to server-set cookies in certain hosting configurations, so this improves durability rather than guaranteeing it. My server-side tracking explainer covers the trade-offs.

5. Send events the browser never sees

With CAPI you can send conversions that happen away from the website: a cash on delivery order confirmed by phone, a booked job in your CRM, or a lead that became a customer. These are often your most valuable signals.

6. Measure beyond Ads Manager

Ads Manager will never show every conversion, so check it against other sources:

  • Compare Meta-reported purchases with actual orders over the same period.
  • Tag ad URLs with UTM parameters and review Meta traffic and revenue in GA4.
  • Watch blended metrics such as total revenue against total ad spend.
  • Ask "How did you hear about us?" on forms or at checkout.
  • Use Meta's own lift studies if your budget qualifies.

Final thoughts

Apple's privacy changes are permanent, and some data is gone for good. But a lot of what advertisers still "lose" comes from a fragile, browser-only setup, and that part is fixable with CAPI, deduplication and better match quality. If you want to know how much your setup is missing, my advanced conversion tracking service starts with that question, or you can book a free tracking audit.

Related
Chamok Mahonto
Written by Chamok Mahonto

I'm a conversion tracking & google ads specialist from Rangpur, Bangladesh. I set up GA4, GTM, server-side tracking and Meta Conversion API, and manage Google Ads for businesses worldwide. More about me

FAQ

Frequently asked questions

Can I fully recover data lost to iOS 14?

No. When someone opts out of tracking through App Tracking Transparency, Meta's use of their data is restricted, and that is by design. You can recover conversions lost to blocked scripts, short cookies and missing customer data, and Meta models some of the rest.

Do I still need to configure eight events in Aggregated Event Measurement?

For most advertisers, no. Meta has simplified Aggregated Event Measurement since 2021, and manual event prioritization is no longer the required step it once was. Check Events Manager for your dataset, because Meta updates these screens regularly.

Does the Conversions API bypass Apple's App Tracking Transparency?

No. CAPI changes how events are delivered, not what users have consented to. Meta still applies its own rules to data from people who opted out, so CAPI should be used to send accurate, consented data, not to get around privacy choices.

Why do Ads Manager and Shopify show different sales numbers?

Ads Manager only counts conversions it can attribute to an ad within your attribution setting, and some of them are modeled. Shopify counts every order regardless of source. Gaps also come from missing server events, failed deduplication or different date and time zone settings.

Will a custom tracking domain fix Safari cookie limits?

It helps, but it is not a guarantee. Server-side tracking on your own subdomain can set more durable first-party cookies, yet Safari still restricts some server-set cookies depending on how the server is hosted. Treat it as one improvement among several.

Case studies

See it in a real project

Lesson Computer: Meta Pixel & CAPI project by Chamok Mahonto
Meta Pixel & CAPI

Lesson Computer

Full lead and course-purchase tracking for a Mauritius-based online tuition provider, replacing Pixel-only tracking that lost 40–60% of events on iOS and blocked browsers.

  • Meta Pixel
  • Conversion API
  • GA4 Enhanced eCommerce
Read case study
Modalclo: Meta Pixel & CAPI project by Chamok Mahonto
Meta Pixel & CAPI

Modalclo

Deduplicated Pixel + Conversions API and GA4 enhanced ecommerce for a Shopify loungewear brand, recovering purchases lost to iOS restrictions and ad blockers.

  • Meta Pixel
  • Conversions API
  • GA4 Enhanced eCommerce
Read case study
Keep reading

Related articles

Ready to fix your tracking and scale your ads?

Get a free audit of your tracking and ad account. Usually replies within 1–2 hours.