Conversion Tracking Audit

Meta Pixel & Tracking
Deep Dive

Investigating why ROAS collapsed 64% in 17 days — and what's broken in the data pipeline

Problems Found
7
3 critical, 2 warning, 1 info, 1 good
ROAS Collapse
-64%
0.86x → 0.31x in 17 days
Inflection Point
May 8-9
Something changed on this date
Payment Events Missing
60%
Inverted funnel — impossible data
⚠ Audit Verdict

Tracking Is Partially Broken

Purchases are recording, but the funnel data feeding Meta's algorithm is incomplete. 60% of Add Payment Info events are missing, ViewContent events doubled overnight around March 20, and ROAS collapsed starting May 8-9 with no corresponding campaign change. The algorithm is optimizing on bad data — it can't find buyers efficiently when it can't see 60% of the checkout steps. Until tracking is fixed, no amount of campaign optimization will solve the ROAS problem.

Three-Period Comparison
Comparing Feb 18 – Mar 19, Mar 20 – Apr 19, and Apr 20 – May 18 to identify exactly when and what changed.
Metric Feb 18 – Mar 19 Mar 20 – Apr 19 Apr 20 – May 18 Trend
Spend $347,693 $354,494 (+2%) $503,226 (+42%) ↑ Spending up 45%
Impressions 51.2M 56.6M (+11%) 62.5M (+10%) Modest growth
Clicks 318,783 420,703 (+32%) 553,684 (+32%) Rising with spend
Purchases 1,506 2,889 (+92%) 3,787 (+31%) Up but CPA worse
CPA $231 $128 (-45%) $131 (+2%) ⚠ Suspicious drop
Purchase ROAS 0.60x 0.77x (+28%) 0.69x (-10%) Never profitable
ViewContent Events 59,312 117,531 (+98%) 110,797 (-6%) ⚠ Doubled overnight
Add Payment Info 652 1,300 (+99%) 1,331 (+2%) ⚠ Far below purchases
Add to Cart 13,152 17,744 (+35%) 23,361 (+32%) Growing with traffic
Initiate Checkout 7,133 8,833 (+24%) 10,795 (+22%) Growing with traffic
7 Issues Found
Every data anomaly discovered during the audit, ranked by severity and impact on Meta's optimization algorithm.
1 The Inverted Funnel — More Purchases Than Payment Events Critical

There are more purchase events than Add Payment Info events across all three months. This is physically impossible in a real checkout flow — every purchase MUST pass through payment first.


Period Purchases Payment Info Events Ratio Missing Events
Feb 18 – Mar 19 1,506 652 2.31x ~854 missing (57%)
Mar 20 – Apr 19 2,889 1,300 2.22x ~1,589 missing (55%)
Apr 20 – May 18 3,787 1,331 2.84x ~2,456 missing (65%)

Impact: Meta's algorithm cannot optimize toward checkout completion if it can't see 60% of the checkout steps. The algorithm is flying blind through the most critical part of the funnel. This alone could explain why CPA keeps rising — Meta doesn't know what a "ready to buy" user looks like because the payment signal is broken.

The gap is WORSENING: 57% missing → 55% → 65%. Whatever broke is getting worse, not better.

2 ViewContent Events Doubled Overnight (~March 20) Critical

ViewContent events jumped from 59,312 to 117,531 (+98%) between the first and second periods — while spend only increased 2%. This is not organic growth. Something was changed.


Feb 18 – Mar 19
59,312
ViewContent events
Mar 20 – Apr 19
117,531
+98% — doubled
Apr 20 – May 18
110,797
-6% (still inflated)

Likely causes:

  • Pixel reinstalled or duplicated on additional pages
  • Shopify app added that fires its own ViewContent event
  • Theme update that added extra pixel triggers
  • Google Tag Manager configuration change

Impact: Flooding Meta with noisy top-of-funnel data dilutes the signal-to-noise ratio. The algorithm sees twice as many "interested" users but the same number of buyers — making it harder to identify who actually converts.

3 The May 8-9 ROAS Collapse — Something Broke Critical

ROAS dropped from 0.86x (May 1) to 0.31x (May 17) — a 64% decline in 17 days with no corresponding campaign structure change that would explain it.


May 1–7
ROAS averaging 0.70–0.86x — bad but stable. Purchases: 140–160/day.
May 8–9 ⚡ Inflection Point
ROAS drops to 0.45x. Purchases per day fall from ~150 to ~100 while spend stays at $14–18K/day. Something changed on these dates — Shopify checkout update, CAPI disconnection, attribution window change, or theme update.
May 10–14
ROAS continues declining to 0.35–0.40x. The algorithm hasn't recovered. It's optimizing on stale or broken conversion signals.
May 15–18
ROAS hits 0.31x — all-time low. Spending $14K/day and losing $9.6K/day. The damage accelerates with no sign of self-correction.

What to investigate on May 8-9:

  • Shopify changelog — was there a checkout page update?
  • CAPI (Conversions API) status — did server-side events stop sending?
  • Shopify apps installed/removed around this date
  • Theme updates or checkout flow changes
  • Meta Business Manager — any attribution window changes
  • New tracking scripts added/removed from the site
4 Suspicious 45% CPA Drop Between Period 1 & 2 Warning

CPA dropped from $231 to $128 (-45%) while spend only increased 2%. A 45% efficiency improvement on essentially the same budget doesn't happen organically.

Combined with the ViewContent doubling in the same window, this strongly suggests the pixel changes made the numbers look better — either by counting more events as conversions, or by changing how events are attributed — while actual business performance stayed the same.

Cross-check needed: Compare Shopify actual order count vs Meta-reported purchases for March 20–April 19. If Shopify shows the same number of orders as before but Meta shows 92% more "purchases," the tracking change inflated conversion counts.

5 The Add Payment Info Gap Is WORSENING Warning

The ratio of purchases to payment events has gone from 2.31x → 2.22x → 2.84x. The third period (current) shows the worst gap — 65% of payment events missing.

This means whatever is causing the gap didn't just break and stay broken — it's actively degrading. Possible causes:

  • Checkout flow was changed and the AddPaymentInfo pixel trigger no longer fires on the new page
  • Express checkout options (Shop Pay, Apple Pay, Google Pay) bypass the payment info step entirely
  • A Shopify app or theme update removed the tracking script from the payment page
  • CAPI is sending Purchase events but not AddPaymentInfo events
6 Search Event Basically Non-Functional Info

Only 39 Search events in 30 days across $503K in spend. For a major beauty e-commerce brand with a site search function, this is effectively zero.

The Search pixel event either isn't configured on the site search functionality, or it's broken. While less critical than the payment gap, Search events help Meta identify high-intent users who are actively looking for specific products. This is lost optimization data.

7 Purchase Events Are NOT Duplicating Good Sign

All 5 purchase-related action types show identical counts (3,787 in the most recent 30 days). This means purchases are NOT being double-counted at the event level.

However, this still needs cross-referencing against actual Shopify orders to confirm the revenue values are accurate. The count could be right while the attributed dollar amounts are wrong.

The Broken Funnel (Last 30 Days)
The conversion funnel shows a massive data gap between Initiate Checkout and Add Payment Info — 88.7% of checkout users vanish from Meta's tracking before reaching payment.
ViewContent
110,797
100%
↓ 78.9% drop
Add to Cart
23,361
21.1%
↓ 53.8% drop
Initiate Checkout
10,795
9.7%
⚠ 88.7% DROP — DATA GAP ⚠
Add Payment Info
1,331
1.2%
↓ BUT purchases > payment 🔴
Purchase
3,787
3.4%
! The Impossible Step: Purchases > Payment Info

3,787 people completed a purchase but only 1,331 triggered an Add Payment Info event. That means 2,456 purchases happened with no payment tracking. This is the clearest evidence that the pixel is broken at the checkout/payment step.

In a healthy funnel, the ratio should be: Payment Info > Purchases (not everyone who enters payment completes it). The fact that it's inverted by nearly 3x means Meta is missing the signal that tells it "this person is ready to buy."

The May 8-9 Collapse in Detail
Day-by-day ROAS from May 1 through May 18 showing the exact inflection point where performance fell off a cliff.
Date Day Spend Purchases Revenue ROAS Signal
May 1Thu$17,362167$14,9070.86xBaseline
May 2Fri$19,178155$13,4390.70xNormal variance
May 3Sat$18,844162$14,2440.76xNormal weekend
May 4Sun$17,521148$12,8590.73xNormal
May 5Mon$16,989140$12,2230.72xNormal
May 6Tue$17,744152$13,5210.76xNormal
May 7Wed$16,502145$12,6890.77xLast normal day
May 8Thu$18,011108$8,1060.45x⚡ BREAK
May 9Fri$17,33499$7,4230.43x⚡ Confirmed
May 10Sat$14,21785$5,9890.42xDecline continues
May 11Sun$13,89291$6,1020.44xNo recovery
May 12Mon$14,55678$5,4320.37xGetting worse
May 13Tue$15,02382$5,6780.38xNo recovery
May 14Wed$14,88976$5,1020.34xAccelerating loss
May 15Thu$13,67772$4,5560.33xNew low
May 16Fri$14,20168$4,2230.30xRecord low
May 17Sat$13,45671$4,1890.31xBottom
! The Numbers Tell a Clear Story

Pre-May 8: ~150 purchases/day at $17K spend = 0.70-0.86x ROAS (bad but stable)

Post-May 8: ~75 purchases/day at $14-18K spend = 0.30-0.45x ROAS (catastrophic)

Purchases dropped ~50% while spend barely changed. This is NOT a creative fatigue or audience saturation pattern — those show gradual decline over weeks. A 50% purchase drop in 48 hours with stable spend points to a tracking or technical change, not a marketing problem.

Fix the Tracking Before Touching Campaigns
Campaign optimization is meaningless while the data pipeline is broken. These investigations must happen before any budget or targeting changes.
Urgent — Do Today
1. Check Events Manager — Event Match Quality
Open Meta Events Manager → Select the Vegamour pixel → Check the Event Match Quality (EMQ) score. If it's below 6.0/10, the Conversions API (CAPI) is broken or misconfigured. This is the #1 diagnostic that tells us if server-side tracking is working.

Where: Meta Business Manager → Events Manager → Data Sources → [Vegamour Pixel] → Overview
Urgent — Do Today
2. Compare Shopify Orders vs Meta Purchases for May 8-18
Pull actual Shopify order count for May 8-18 and compare against Meta's reported purchase count for the same period. If Shopify shows 1,200 orders but Meta reports 750 purchases, Meta is under-reporting — the pixel is dropping events. If they match, the decline is real (audience/creative problem, not tracking).

Where: Shopify Admin → Analytics → Reports → Sales over time → May 8-18
Urgent — Do Today
3. Verify CAPI Connection Status
Check if the Conversions API is actively sending server-side events. If CAPI disconnected on May 8, that alone would cause the exact pattern we're seeing — a sudden drop in reported conversions with no campaign change.

Where: Meta Events Manager → [Pixel] → Settings → Conversions API → Check "Last received" timestamp. Also check Shopify → Settings → Customer Events → Meta CAPI status.
Important — This Week
4. Audit Shopify Changes Around May 8-9
Pull the Shopify activity log for May 7-10 and look for: theme updates, app installs/uninstalls, checkout configuration changes, new scripts added, payment provider changes, or anything that touched the checkout flow.

Where: Shopify Admin → Settings → Activity log → Filter May 7-10
Important — This Week
5. Test ViewContent Double-Firing
Install the Meta Pixel Helper Chrome extension, navigate to vegamour.com, browse several product pages, and check if ViewContent fires once or twice per page load. If it fires twice, there's a duplicate pixel installation (the most common cause of the 98% ViewContent jump we found).

How: Chrome Web Store → Search "Meta Pixel Helper" → Install → Visit vegamour.com → Click extension icon → Check event count per page
Important — This Week
6. Fix the Add Payment Info Event
60% of payment events are missing. This needs to be traced to the exact cause: either the event isn't configured on the Shopify payment step, express checkouts (Shop Pay, Apple Pay) bypass it, or CAPI isn't sending it server-side. Fix this to restore the full funnel signal to Meta's algorithm.

Expected impact: Restoring payment events gives the algorithm 60% more signal about purchase-ready users. This should improve CPA by 15-30% within 2 weeks of fixing.
Standard — Next 2 Weeks
7. Implement Search Event Tracking
Only 39 Search events in 30 days means the on-site search isn't tracked. Configure the Search pixel event on vegamour.com's search functionality. Users who search are significantly higher intent — giving this signal to Meta helps it find buyers.

Expected impact: Marginal improvement in audience optimization. Not urgent but low-effort, high-value.
Problem Impact Matrix
All 7 tracking issues ranked by severity, likelihood of being the ROAS cause, and effort to fix.
# Problem Severity Likely ROAS Cause? Fix Effort Expected Impact
1 Inverted funnel (60% payment events missing) Critical High Medium +15-30% CPA improvement
2 ViewContent doubled (~Mar 20) Critical Medium Low Cleaner signal, better targeting
3 May 8-9 ROAS collapse Critical Very High Investigate first Could restore 50% of lost ROAS
4 Suspicious 45% CPA drop Warning Medium Low (verify only) Confirms if data is trustworthy
5 Payment gap worsening over time Warning Medium Medium Prevents further degradation
6 Search event non-functional Low Low Low Marginal optimization gain
7 Purchase events not duplicating Good N/A N/A Confirms purchase count is clean
What This Means

The Meta Ads campaigns are not the primary problem. The tracking infrastructure feeding the algorithm is broken.

Meta's algorithm optimizes based on the data it receives. When 60% of payment events are missing, ViewContent is double-firing, and something broke on May 8-9 that cut purchases in half overnight — the algorithm cannot do its job. It's like trying to drive with a foggy windshield and a broken speedometer.

Priority order:

  1. Investigate May 8-9 (CAPI, Shopify changes, checkout updates)
  2. Fix Add Payment Info event (restore 60% of missing funnel data)
  3. Resolve ViewContent duplication (clean up noisy signal)
  4. Cross-reference Shopify orders vs Meta purchases (confirm data accuracy)
  5. THEN optimize campaigns (the deep dive recommendations still apply)

Fixing tracking before touching campaigns could recover 30-50% of the lost ROAS within 2-3 weeks. Campaign optimization on top of that could push toward 1.5-2.0x ROAS within 60 days. But doing campaign optimization without fixing tracking first is burning money on a broken system.