When Apple introduced App Tracking Transparency (ATT) with iOS 14.5 in April 2021, it fundamentally changed the attribution landscape for Meta advertisers worldwide. Users were asked whether they wanted to allow apps to track them across other apps and websites — and the majority said no. This broke the Meta Pixel's ability to track conversions from iOS users, creating a gap between actual purchases and what Meta's Ads Manager reported.

Five years later, most Indian Meta advertisers are still operating with this gap unfixed. From auditing Indian accounts in 2025 and 2026, we consistently find that brands running Pixel-only tracking are under-reporting their actual conversions by 30-60%. This matters for two compounding reasons: first, you don't know your real ROAS, so you can't make correct budget decisions. Second, Meta's algorithm is optimising toward the incomplete signal, which means it's finding fewer buyers than it could if it had the complete picture.

The fix is the Meta Conversions API (CAPI) — a server-side tracking mechanism that sends conversion data directly from your server to Meta, bypassing the browser-based Pixel limitations that iOS restrictions created. It has been available since 2020. The setup is straightforward for Shopify and WooCommerce stores. And yet in Indian account audits, fewer than 30% of brands have implemented it.

Why the iOS tracking gap is particularly acute in India

India has a lower iPhone penetration than markets like the US or UK — approximately 5-8% of Indian smartphone users are on iPhone, compared to 55%+ in the US. You might think this means the iOS tracking gap matters less for Indian advertisers. The opposite is true, for a specific reason.

Indian iPhone users skew strongly toward higher income, urban demographics — exactly the highest-value customer segment for most Indian D2C brands. A ₹3,500 skincare brand or a ₹8,000 electronics accessory brand's best customers are disproportionately iPhone users. When Meta can't track purchases from this segment, it's missing the most valuable conversions in the account.

Additionally, iOS Safari's Intelligent Tracking Prevention (ITP) affects cookie-based tracking even for users who didn't specifically opt out of ATT. Any iPhone user browsing Safari — regardless of their ATT choice — has their browser-based Pixel tracking limited by ITP. This affects a larger proportion of Indian users than the ATT opt-out rate alone suggests.

According to Meta's own developer documentation (Meta for Developers, Conversions API guide), server-side events sent via CAPI are not subject to browser-based restrictions and provide more reliable, durable signal for campaign optimisation — confirming the structural advantage of CAPI over Pixel-only tracking in iOS-affected environments.

How to diagnose your current tracking gap

Before implementing CAPI, quantify your current tracking gap. This tells you what you're recovering and gives you a benchmark for measuring improvement.

Method 1 — Compare Meta-reported purchases to your actual order management system: Pull your Meta Ads purchase count for the last 30 days. Pull your actual orders from Shopify, WooCommerce, or your order management system for the same period, filtered to orders where the acquisition source is Meta (UTM parameters). The difference is your attribution gap. A gap above 20% indicates a significant CAPI implementation need.

Method 2 — Check your Event Match Quality score in Meta Events Manager: In Events Manager → Data Sources → your Pixel → Events tab → look for the Event Match Quality (EMQ) score on your Purchase event. EMQ measures how well your customer data matches Meta's records, enabling attribution. An EMQ below 6.0/10 indicates poor matching — meaning many conversions are going unattributed even when they do reach Meta's servers. CAPI with proper customer data parameters (email, phone, name) dramatically improves EMQ.

Method 3 — Enable Pixel + CAPI comparison in Events Manager: Once you implement CAPI, Events Manager shows a side-by-side comparison of Pixel-only events vs CAPI-supplemented events. This is the clearest view of recovered conversions — you can see directly how many additional purchase events CAPI is capturing that Pixel missed.

Conversions API setup: Shopify

Shopify has the simplest CAPI implementation available — Meta's official Shopify integration handles server-side event sending natively without any custom code:

  1. In your Shopify admin, go to Settings → Apps and sales channels → Facebook & Instagram
  2. If not already installed, install the Meta channel from the Shopify App Store
  3. In the Meta channel settings, go to Data sharing → Customer data-sharing
  4. Select Maximum data sharing level — this enables server-side CAPI for all purchase, add-to-cart, and checkout events
  5. Ensure your Meta Pixel ID in the Shopify integration matches the Pixel in your Ads Manager account
  6. Verify in Meta Events Manager that server events (labelled "Server") are appearing alongside browser events (labelled "Browser") within 24 hours

The "Maximum" data sharing setting sends hashed customer data (email, phone, name) alongside purchase events — this is what improves Event Match Quality and enables Meta to attribute conversions from iOS users whose Pixel tracking is blocked.

Important for Indian Shopify stores: Ensure your checkout collects mobile number (phone field) in addition to email. Indian customers often use phone-based Meta accounts rather than email-based accounts — phone number matching significantly improves EMQ for the Indian audience specifically.

Conversions API setup: WooCommerce

WooCommerce CAPI implementation requires a plugin. The official Meta Pixel for WooCommerce plugin (available free on WordPress.org) includes server-side CAPI support as of its 2023 update:

  1. Install Meta Pixel for WooCommerce plugin (or update to the latest version if already installed)
  2. In the plugin settings, connect your Meta Business account and select your Pixel
  3. Under Conversions API settings, generate or paste your CAPI Access Token from Meta Events Manager
  4. Enable Server-Side API toggle — this activates CAPI for purchase, checkout, and add-to-cart events
  5. Enable Advanced Matching — this sends hashed customer data to improve EMQ
  6. Test in Events Manager using the Test Events tool to confirm server events are arriving

For WooCommerce stores on Indian hosting (Hostinger India, BigRock, or similar shared hosting), confirm that outbound server requests to Meta's Graph API are not blocked by your hosting firewall. Some Indian shared hosting providers block outbound API calls by default — this is a common reason why CAPI appears configured but events don't arrive.

Conversions API setup: custom-built stores

For Indian D2C brands on custom-built stores (Node.js, PHP, Python backends), CAPI requires direct API integration:

  1. In Meta Events Manager, go to your Data Source → Settings → Generate Access Token — copy the CAPI access token
  2. On your server, when a purchase is completed (order confirmation), send a POST request to:
    https://graph.facebook.com/v19.0/{pixel-id}/events?access_token={token}
  3. The request body should include: event_name ("Purchase"), event_time (Unix timestamp), event_source_url, user_data (hashed email, phone, client_ip_address, client_user_agent, fbc cookie, fbp cookie), custom_data (value in INR, currency "INR", order_id)
  4. Hash all PII fields (email, phone, name) using SHA-256 before sending — Meta requires hashed data, never plaintext
  5. Include the event_id parameter — a unique identifier for each event that enables Meta to deduplicate between Pixel and CAPI events for the same conversion

Deduplication is critical: If you run both Pixel and CAPI (which you should — they're complementary, not either/or), each conversion event will be reported by both. Without deduplication, Meta double-counts conversions. Use a consistent event_id (e.g., your order ID) in both the Pixel event and the CAPI event for the same purchase. Meta's deduplication logic will credit the conversion once.

What to expect after CAPI implementation

After implementing CAPI correctly with proper customer data matching, most Indian accounts see:

  • 20-45% increase in reported Meta purchases within the first 7 days — these are real conversions that were always happening but not being attributed
  • Event Match Quality improvement from below 6.0 to above 7.5 within 2-4 weeks as Meta's matching algorithms process the enriched data
  • Campaign performance improvement over 4-8 weeks as Meta's algorithm optimises toward the richer, more complete conversion signal — finding more buyers similar to your actual converters
  • Apparent ROAS decrease initially — this is counterintuitive but expected. If you were spending ₹1L to generate 100 reported purchases, and CAPI reveals you were actually generating 150 purchases, your reported ROAS increases. But if your optimisation was targeting a CPA based on the 100-purchase baseline, the algorithm now has to recalibrate. Give it 2-3 learning cycles to restabilise.

The 8-event limit and priority setting

Meta restricts iOS-attributed conversions to a maximum of 8 configured events per domain (the "Aggregated Event Measurement" framework). For most Indian D2C brands, 8 events is sufficient — but you must prioritise them correctly.

Recommended event priority order for Indian D2C stores:

  1. Purchase (highest priority — always)
  2. Initiate Checkout
  3. Add to Cart
  4. View Content
  5. Lead (if you run lead generation)
  6. Complete Registration
  7. Search
  8. Page View (lowest priority)

Configure these in Meta Events Manager → Aggregated Event Measurement → Configure Web Events → select your domain → set priority order. Events below your configured 8 will not be reported for iOS-attributed traffic.

Ongoing monitoring

CAPI is not a set-and-forget implementation. Access tokens expire, plugin updates can break integrations, and server-side request failures can go unnoticed for days. Check Events Manager monthly for: event volume consistency (sudden drops indicate a broken integration), EMQ score stability, and deduplication ratio (the percentage of events that are browser + server vs server-only — a healthy ratio is 60-80% browser+server, 20-40% server-only).

AdsSarthi monitors CAPI health as part of its Meta account management layer — flagging drops in event volume or EMQ deterioration in the daily WhatsApp digest so issues are caught within 24 hours rather than discovered weeks later during a campaign performance review.