Back to Blog
TechnicalMar 12, 2026|10 min read

Facebook Ads After iOS 14: Tracking Workarounds

EA
Eduard Andrei

Founder at Adship

Facebook Ads After iOS 14: Tracking Workarounds

iOS 14's App Tracking Transparency (ATT) framework, launched in April 2021, permanently changed how Facebook tracks conversions. Roughly 60–70% of iOS users opt out of cross-app tracking, which means browser-based pixel tracking misses a significant portion of conversions, particularly on iPhones, which represent 55–65% of premium consumer traffic in most Western markets.

The tracking gap hasn't closed, it's structural. But Meta has built a complete recovery framework. Advertisers who implement it correctly see 20–40% more attributed conversions than those still relying on browser-pixel-only tracking. This guide covers exactly what changed, what the fixes are, and how to validate they're working.

What Changed with iOS 14

Before ATT, Meta's pixel could track users across apps and websites via device identifiers (IDFA) without explicit consent. After ATT, users who opt out become invisible to cross-app tracking. The browser pixel can still fire on your website, but it can't identify the user to Meta, so the conversion can't be attributed to the ad that drove the click.

The practical impact on Facebook Ads:

  • Under-reported conversions: Reported purchases in Ads Manager are lower than actual purchases. The gap varies by audience and placement, typically 20–40% for purchase events.
  • Degraded optimization: Meta's algorithm needs conversion signals to optimize delivery. Fewer reported conversions means the algorithm is working with incomplete data, reducing targeting accuracy.
  • Attribution window restrictions: Meta reduced the default attribution window from 28-day click to 7-day click. View-through attribution was also restricted.
  • Aggregated Event Measurement: Meta now limits campaigns to a maximum of 8 conversion events per domain, ranked by priority. Events outside your top 8 are not used for optimization.
  • Delayed reporting: Some conversion data is reported with a 24–72 hour delay due to privacy-preserving aggregation.

Conversions API (CAPI): The Primary Fix

Conversions API sends conversion events directly from your server to Meta, bypassing browser privacy restrictions entirely. When a purchase completes on your server, CAPI sends the event with hashed customer data (email, phone, name) that Meta uses to match the conversion to an ad impression, even if the browser pixel was blocked.

CAPI is not a replacement for the browser pixel, it's a complement. The recommended setup is both running simultaneously (browser pixel for fast client-side signals + CAPI for reliable server-side attribution). Meta's deduplication logic prevents double-counting when both fire for the same event.

CAPI setup options:

  • Native integrations: Shopify, WooCommerce, BigCommerce, and most major e-commerce platforms have built-in analytics support. Enable it in Meta Business Settings under Data Sources → Pixels → Settings → Conversions API.
  • Partner integrations: Segment, Tealium, and mParticle can send CAPI events from your existing data stack without custom development.
  • Direct API integration: For custom stacks, send POST requests to https://graph.facebook.com/v26.0/{PIXEL_ID}/events from your server on conversion events. Include hashed customer data to maximize match quality.
  • Gateway API: Meta's server-side proxy that routes browser pixel events through your own domain before sending to Meta, improves signal quality without full server integration.

Event Match Quality Score

Meta rates the quality of your CAPI implementation with an Event Match Quality (EMQ) score from 0–10 in Events Manager. Higher EMQ means more conversions can be matched to users and attributed to ads.

EMQ ScoreStatusWhat to Fix
8–10ExcellentNo action needed
6–7GoodAdd more customer identifiers (phone, city)
4–5FairAdd email + phone hashing, verify pixel fires first
0–3PoorCAPI not passing customer data, rebuild integration

To maximize EMQ: pass hashed email, phone number, first name, last name, city, state, zip code, and country with every Purchase event. Email alone gets you to ~6; adding phone pushes to 7–8; all identifiers can reach 9–10.

Aggregated Event Measurement Setup

Meta's Aggregated Event Measurement (AEM) requires you to verify your domain and configure up to 8 prioritized conversion events per domain. Events are ranked from 1 (highest priority) to 8 (lowest). When a user converts on multiple events, only the highest-priority event is reported.

Recommended event priority order for e-commerce:

  • 1. Purchase
  • 2. InitiateCheckout
  • 3. AddToCart
  • 4. AddPaymentInfo
  • 5. ViewContent
  • 6. Search
  • 7. Lead
  • 8. CompleteRegistration

Configure this in Events Manager → Aggregated Event Measurement → Configure Web Events. Changes take up to 72 hours to propagate and will temporarily pause active campaigns targeting affected events, schedule during a low-traffic period.

Attribution Windows After iOS 14

Meta defaulted all campaigns to 7-day click attribution after iOS 14. This is the correct window for most campaigns, it captures most conversions while excluding spurious view-through attributions. The practical guidance:

  • 7-day click (default): Use for all e-commerce and SaaS campaigns. Captures the large majority of conversions without over-attributing.
  • 1-day click: Use only for impulse-purchase products or when comparing campaign performance to pre-iOS 14 data on 1-day windows.
  • 1-day view: Avoid for optimization decisions, view-through attribution is unreliable post-ATT and can significantly inflate reported conversions.

When comparing current ROAS to pre-iOS 14 benchmarks, remember: reported ROAS is structurally lower now. A 3x ROAS today is not equivalent to 3x ROAS in 2020, actual performance is likely better than reported. Use CAPI + cross-referencing with GA4 revenue data to build a more complete picture.

First-Party Data Strategy

The structural solution to iOS 14's tracking gap is building direct data relationships with customers. First-party data (email lists, purchase histories, CRM data) is not subject to ATT restrictions and can be uploaded directly to Meta as Custom Audiences:

  • Customer list Custom Audiences: Upload your email list (hashed) to create audiences of existing customers. Not dependent on pixel tracking at all, 100% iOS 14 proof.
  • CRM integration: Connect your CRM to Meta via partner integrations to keep customer audiences automatically updated with new purchases and lifecycle events.
  • Lead capture campaigns: Every email captured is a user you can target directly, bypass the tracking gap entirely, and use as a lookalike seed for future campaigns.

CAPI Built In: No Extra Setup Required

Adship's server-side tracking integration sends Conversions API events automatically alongside your browser pixel, recovering the conversions iOS 14 made invisible. Connect your store once and get complete attribution data without maintaining a custom analytics integration.

Try Adship Free →

Meet the AI Ad Operating System

Scan, spy, create, and launch Meta and TikTok ads with guarded actions taken with your approval.

Start Free
Share this article

Research. Create. Launch. Learn.

Adship connects Agent, Ad Spy, Canvas, and Learning Loop across Meta and TikTok, with bulk launch and guarded actions built in.

Get Started: It's Free