iOS 14.5 changed the landscape for Meta advertising permanently. Apple's App Tracking Transparency framework, combined with Safari's Intelligent Tracking Prevention, means that browser-side Meta Pixel events are now missing 30–60% of actual conversions for Indian D2C stores with any significant iOS traffic. For brands in categories like fashion, beauty, and premium electronics — where iOS device penetration among buyers skews high — the under-reporting is at the severe end of that range.
The Meta Conversions API (CAPI) is the server-side solution: instead of relying entirely on the browser pixel to fire an event when a purchase happens, CAPI sends the same event directly from your server to Meta's API, bypassing browser restrictions entirely. The result is dramatically improved attribution accuracy, better campaign optimisation, and ROAS figures that reflect what is actually happening rather than the 40–60% of conversions that survive browser-level tracking.
This guide covers the complete setup for both Shopify and WooCommerce stores in India, including the India-specific considerations that generic CAPI tutorials miss.
Before You Start: What You Need
- A Meta Business Manager account with your ad account and pixel linked
- Admin access to your Shopify store or WooCommerce/WordPress installation
- Your Meta Pixel ID (found in Events Manager → Data Sources)
- A Meta System User access token (generated in Business Settings → System Users)
- For WooCommerce: FTP or cPanel access to your server (for plugin installation)
iOS device share among Indian online buyers (premium D2C): 28–45%
Conversion under-reporting on browser pixel alone (iOS users): 30–60%
Expected ROAS improvement after CAPI implementation: 15–35%
Expected improvement in Meta's algorithm optimisation: significant (more signal = better audience targeting)
Source: Meta Business Help Centre + AdsSarthi account analysis 2025
Part 1: Shopify CAPI Setup — Step by Step
Shopify has native Meta integration that makes CAPI setup straightforward. The entire process takes approximately 15 minutes if you have your credentials ready.
India-Specific Shopify CAPI Note: Phone Number Matching
Indian stores have an advantage in CAPI event matching that is often underutilised: almost every Indian customer provides their mobile number at checkout (because delivery confirmation and COD calls require it). Meta's CAPI can use hashed phone numbers as a matching signal, and Indian phone numbers match Meta profiles at a very high rate because Indian users overwhelmingly registered their Meta accounts with the same mobile number they use for e-commerce.
Ensure your Shopify checkout requires phone number collection and that the Meta integration is passing the phone field as part of customer data sharing. In Shopify Settings → Checkout, set phone number to "Required" rather than "Optional" for maximum CAPI match quality.
Part 2: WooCommerce CAPI Setup — Step by Step
WooCommerce does not have a native Meta Conversions API integration. You have two implementation options: a plugin-based approach (easier, suitable for most stores) or a server-side custom implementation (more control, recommended for higher-volume stores).
Option A: Plugin-Based CAPI Setup
Option B: Custom Server-Side Implementation (Advanced)
For WooCommerce stores processing 100+ orders per day, a custom server-side implementation using Meta's Conversions API PHP SDK or REST API gives more control over event timing, data completeness and error handling. This approach requires developer resources but is more robust than the plugin for high-volume stores.
The key implementation points for Indian stores:
- Send the Purchase event from the WooCommerce
woocommerce_payment_completehook (fires after confirmed payment), not fromwoocommerce_thankyou(which fires on page load and may be missed if a buyer closes their browser before the thank-you page loads) - For COD orders, send an
InitiateCheckoutevent at order placement and a Purchase event only when the order status changes to "Delivered" in your WooCommerce order management — this avoids counting COD orders that are never accepted on delivery as completed purchases - Include the
fbp(Facebook browser ID) cookie value in your server-side events to improve event match quality — this requires reading the_fbpcookie on the server side
Diagnosing Common CAPI Problems for Indian Stores
Cause: Deduplication not enabled or event_id mismatch
Fix: Check that both browser pixel and CAPI events are passing the same event_id value. In Shopify, this is handled automatically. In WooCommerce plugin, ensure "Automatic Event Deduplication" is enabled. In custom implementations, generate a unique event_id for each event and pass it in both the browser pixel and the server event.
Cause: Missing or incorrectly formatted customer data in CAPI events
Fix: For Indian stores, the most impactful data points are hashed phone (format: +91XXXXXXXXXX before hashing) and hashed email. Ensure your CAPI implementation is passing both. Indian phone numbers must include the country code (+91) before hashing to match Meta profiles correctly — omitting +91 is the most common Indian CAPI matching failure.
Once CAPI is correctly configured, the downstream impact on your Meta campaign performance is significant. Meta's algorithm receives more complete purchase signal, which improves audience targeting accuracy and reduces cost per result over time. For a full picture of your attribution accuracy — including how CAPI interacts with your Google Ads tracking — see our guide on calculating true ROAS for Indian D2C brands. And to understand how CAPI-quality audiences improve lookalike performance, see our post on Meta lookalike audiences for Indian markets.
AdsSarthi's attribution layer builds on top of CAPI data to provide RTO-adjusted true ROAS reporting — the next step after fixing your tracking foundation. Get a free tracking audit to identify attribution gaps in your current setup.