Your Shopify store works. Products display correctly, checkout functions, payments process. From the outside, everything looks fine.
Underneath, the tracking infrastructure that connects your store to Meta and Google is almost certainly incomplete. Not broken in a way that produces error messages — broken in a way that silently degrades your ad performance, inflates or misses your conversion data, and gives the ad algorithms incomplete information to optimize on.
This isn't your fault. Shopify's default setup doesn't configure these things correctly, and the technical knowledge required to fix them is outside what any non-technical store owner should need to know. But until these are fixed, your Meta and Google campaigns are flying partially blind.
What Shopify sets up by default (and what it doesn't)
When you install the Facebook & Instagram sales channel and the Google & YouTube sales channel on Shopify, two things happen: Shopify connects your store to these platforms, and Shopify begins sending conversion data. But what Shopify sends by default is limited.
Meta Conversions API (CAPI)
CAPI is Meta's server-side tracking system. Instead of relying on a browser pixel (which gets blocked by iOS, Safari, and ad blockers), CAPI sends your purchase data directly from your Shopify server to Meta's servers. This is essential for Meta to accurately count conversions and optimize your campaigns.
When you install the Facebook & Instagram sales channel, Shopify activates CAPI and starts sending basic purchase events — AddToCart, InitiateCheckout, Purchase — directly from your server to Meta. This works. The data flows, the events register, and Meta can see that conversions are happening.
What's missing is everything beyond the basics. Shopify's default CAPI doesn't send offline conversion data — COD orders that convert later, in-store pickups triggered by an ad. It doesn't pass browser-side identifiers that improve Meta's ability to match conversions to specific users. It doesn't support custom event parameters beyond the predefined set. And it gives you no visibility into what data is actually being sent. You also need to manually enable "Maximum" data sharing in the app settings — it's not on by default.
This gap matters. Meta's ad algorithm optimizes based on the conversion signals it receives. If CAPI is sending incomplete data, the algorithm is optimizing on a partial picture — finding some of the right people, but missing others. Meta recommends aiming for a 75% event coverage ratio of CAPI to Pixel events and maximizing customer information parameters. Most Shopify stores are well below this threshold without knowing it.
Google Merchant Center
The Google & YouTube sales channel syncs your products to Google Merchant Center, which powers Google Shopping ads and Performance Max campaigns. The sync is automatic — products, prices, availability, images, and basic descriptions flow from Shopify to Google. When you change a product in Shopify, the update pushes to Google. Shipping and tax settings carry over. The basics work.
What the default sync misses is where the real damage happens.
GTINs. Google uses Global Trade Item Numbers (barcodes) to match your products to its product knowledge graph — which includes reviews, specifications, and price comparisons from other sellers. Products without GTINs get significantly fewer Shopping impressions and are excluded from some placements. Shopify has a GTIN field, but it's not required, so most merchants leave it empty.
Optimized titles. Shopify sends your product titles as-is. But the title that works on your storefront ("Summer Vibes Collection — Blue") is not the title that works on Google Shopping ("Women's Cotton Maxi Dress — Navy Blue, Sizes S-XL"). Google matches search queries to product titles, so search-optimized titles get dramatically more impressions.
Custom labels. Google Merchant Center supports custom labels that let you segment products by margin tier, best-seller status, seasonal relevance, or promotional status. Shopify's native sync doesn't support custom labels. Without them, you can't create targeted PMax asset groups based on product performance.
Product categories. Shopify relies on Collections, product tags, and product type for organization. Google uses its own taxonomy of product categories. The default sync makes a best guess at mapping — but it often miscategorizes products, which affects which searches your products appear for.
Event deduplication
When both browser-side tracking (Meta Pixel, Google Global Site Tag) and server-side tracking (CAPI, Merchant Center) are active, the same conversion event gets sent twice — once from the browser and once from the server. Both platforms have deduplication systems that match these events and count them once.
Deduplication works by matching an event_id parameter that should be identical in both the browser and server events. If the event IDs don't match — because the implementation is inconsistent or the IDs are generated differently — the platform counts the same purchase twice.
Double-counted conversions inflate your reported ROAS, make your campaigns appear more effective than they are, and cause the algorithm to optimize toward an inaccurate conversion volume. Deduplication errors are common and invisible — you won't see an error message, just inflated numbers.
How to check your tracking right now
You don't need Mizan to diagnose these issues. Here's how to check the most critical ones yourself:
Check 1: Is CAPI active?
- Open Meta Events Manager (business.facebook.com → Events Manager)
- Select your Pixel
- Click on any recent event (like "Purchase")
- Look at the "Connection Method" column or the event details
If you see events from both "Browser" and "Server" — CAPI is active. If you only see "Browser" events, CAPI is not sending data. Your Meta campaigns are running on browser-only tracking, which is increasingly unreliable.
Check 2: Is data sharing set to Maximum?
- In your Shopify Admin, go to Settings → Apps and sales channels → Facebook & Instagram
- Click "Open sales channel"
- Go to Settings → Data sharing settings
If it says "Standard" or "Enhanced" instead of "Maximum," you're sending Meta less data than you could be. "Maximum" enables both the browser Pixel and server-side CAPI simultaneously, which gives Meta the most complete conversion picture.
Check 3: Are your Google products approved?
- Open Google Merchant Center (merchants.google.com)
- Go to Products → Diagnostics
Look at the "Item issues" tab. Products with errors or warnings won't show in Shopping ads. Common issues include missing GTINs, incorrect product categories, and price mismatches. Every disapproved product is a product you're paying to advertise but that can't appear in results.
Check 4: Are events deduplicating correctly?
This one is harder to check without tools, but here's the signal: compare your Meta-reported purchases to your Shopify orders for the same period. If Meta reports significantly more purchases than Shopify recorded, and the gap is larger than you'd expect from attribution overcounting alone (more than 50-60% higher), deduplication may be failing and events are being double-counted.
What to fix first
If you've run through the checks above, prioritize fixes in this order:
First: Enable Maximum data sharing in Shopify's Facebook & Instagram app. This is a settings toggle, not a technical project. It immediately improves the data Meta receives. If you're currently on Standard, you're leaving significant tracking quality on the table.
Second: Verify CAPI is active and sending server events. If CAPI isn't active — especially if your Pixel was set up through GTM — this is the highest-impact fix. It may require reinstalling the Facebook & Instagram app or working with a technical specialist. But without CAPI, your Meta tracking is fundamentally degraded.
Third: Add GTINs to your products in Shopify. Go to Products, click into each product, and add the GTIN (barcode number) in the inventory section. If you sell branded products, GTINs are usually on the product packaging or available from your supplier. This improves your Google Shopping visibility immediately.
Fourth: Review your Google Merchant Center diagnostics and fix disapprovals. Every product with an error is invisible to Google Shopping. Common fixes include adding missing shipping information, correcting price discrepancies, and fixing product category assignments.
Fifth: Investigate deduplication if your numbers look inflated. If Checks 1-4 are clear and your Meta numbers are still dramatically higher than Shopify, the deduplication layer may need attention.
When to go beyond Shopify's defaults
Shopify's native tracking integrations handle the basics. For many stores — especially those spending under AED 10,000/month on ads — the default setup with the fixes above is sufficient.
Beyond that, there's a tier of tracking enhancement that Shopify's defaults can't provide. This is where tools like Littledata add value. Littledata enhances your CAPI implementation with better event matching, more complete customer data parameters, support for dynamic product ads, and better deduplication. It closes gaps that Shopify's native integration leaves open.
We recommend Littledata specifically because they do this better than we do. Mizan audits and fixes the configuration-level issues — the settings that are wrong, the features that aren't enabled, the infrastructure that's misconfigured. Littledata handles the deeper server-side tracking enhancement that requires a dedicated data pipeline. They're complementary: Mizan makes sure the foundation is correct, Littledata builds on that foundation for stores that need maximum tracking accuracy.
Not every store needs Littledata. If you're spending under AED 10,000/month and your CAPI is active with Maximum data sharing, the default Shopify integration may be sufficient. If you're spending more, or if your business depends on every conversion being accurately tracked, the enhanced implementation is worth the investment.