
Your Meta Ads look healthy: low CPMs, strong CTRs, and a steady CPC. But your actual revenue? Stalled. The numbers in your Shopify dashboard don’t match what Meta is reporting.
Here’s the truth: Meta’s algorithm isn’t broken. Your tracking is.
After auditing 500+ ecommerce brands, we saw the same hidden killers of ROAS show up again and again. So we created a cheat sheet to break it all down: what’s really going wrong, how to fix it, and how you can check your own account.
1. Broken Pixel Signals
Meta reports 57 purchases. Shopify shows 24. Sound familiar?
That’s often due to:
- Multiple data sources
- Checkout events breaking
- Tracking on the browser side on Thank You pages instead of server side
Fix:
- Add a server-side pixel (via One Click with Aimerce or Self-implement with Stape)
- Send events via webhook + webpixel
- Verify Purchase EMQ in Events Manager (target: 9.0+)
2. Weak Event Match Quality (EMQ)
If your events don’t include full identifiers, Meta can’t properly attribute or scale performance. We regularly see missing:
- Hashed emails
- Phone numbers
- ClickIDs
Fix:
- Fire server-side events with the full identifier stack
- Use consistent external IDs across all events
3. Double Counting & Internal Noise
Is your Meta ROAS not matching your expectation compared to Shopify? That happens when:
- You fire events browser-side only
- You don’t deduplicate events with event_id
- View-through attribution overstates real performance
Fix:
- Use event_id across all conversion events
- Compare Meta purchases vs Shopify orders + email/SMS conversions
- Use 7d click-only attribution to avoid view bias
4. What a Clean Stack Looks Like
Here’s how to know you’re finally set up right:
- Events flow through server-side
- Identifiers are complete and clean
- Attribution aligns across Meta + backend
Want to test your own account?
We put together a Meta Ads Cheat Sheet with our full stack breakdown, visuals, and real audits from ecommerce brands who turned it around.
PLUS: A cloneable Google Sheet audit template to help you run a self-check.
Want it? Send an email to yiqiw@aimerce.ai and we'll send it to you!