About Tracking

Services

Google Ads Management Meta Ads Management Website Design & Build Local SEO Social Media Management Tracking & Conversions

Ad Platform Tracking

Meta Pixel + CAPI TikTok CAPI LinkedIn CAPI Snapchat CAPI Pinterest CAPI Quora Pixel Bing + UET Tag

Google Ecosystem

Google Ads Tracking GA4 Setup & Audit Google Tag Manager

Advanced Solutions

Server-Side Tracking Looker Studio Offline Conversion
Case Studies Blog Free Checklist Book Free Audit →
Meta CAPIFine Jewelry Brand · DTCUSA

Meta reported 4.8x, Shopify showed 2.3x — every purchase was counted twice

2.3xTrue ROAS — was showing 4.8x due to double-count
2xDeduplication factor removed — every purchase was counted twice
11 moDuration brand was making budget decisions on inflated ROAS

The situation

A fine jewelry DTC brand selling engagement rings and custom pieces at $800-$6,000 average order value had been running Meta for 11 months. Their 4.8x ROAS was the star metric in every marketing report. The CFO noticed that Meta's claimed revenue was consistently 2x Shopify's actual revenue but assumed it was an attribution window overlap.

The problem

The brand had both a Meta pixel firing on the Shopify order confirmation page and a server-side CAPI integration added by a second developer 4 months in. Neither implementation included an event_id. Meta was receiving two identical purchase events for every order — one from the browser pixel, one from the CAPI — with no deduplication key to identify them as the same transaction. True ROAS was 2.3x, not 4.8x.

What we did

  1. Pulled Meta Events Manager — purchase event volume exactly 2x Shopify order count for every 7-day period checked
  2. Confirmed pixel payload had no event_id field. Confirmed CAPI server log had no event_id field
  3. Implemented event_id = "purchase_" + Shopify order number on both the pixel (via GTM dataLayer) and the CAPI server endpoint
  4. Verified deduplication working after 48 hours — Meta purchase count dropped to match Shopify within 3%
  5. Rebuilt Meta campaign reporting with accurate 2.3x ROAS baseline — restructured budget allocation accordingly

Why it worked

High-AOV jewelry brands are especially vulnerable to this mistake because the inflated ROAS looks plausible — a 4.8x ROAS on $3,000 jewelry feels achievable. On $30 impulse purchases, a 4.8x might raise eyebrows. The fix is always to compare Meta purchase event count against Shopify order count for the same period — any ratio above 1.1 indicates deduplication failure.

“Our Meta ROAS was 4.8x and we were proud of it. Saifur compared our Meta purchase event count to Shopify orders and they were exactly 2x apart — every purchase was being counted twice. Real ROAS is 2.3x. Still profitable, but we had been massively over-allocating to Meta based on a number that didn't exist.”
Lauren K.
Co-Founder · Fine Jewelry Brand · USA · Apr 2025