Honest Growth
← All detections

Detection · weak_event_coverage

Detection: Too few standard events firing for Meta to optimize

Key: weak_event_coverage Severity: High Confidence: 75–90%

What this detection looks for

We flag an account as event-coverage-weak when all of these are true:

  1. Fewer than 3 distinct standard events are firing in the audit date range. Standard events include: PageView, ViewContent, Search, AddToCart, AddToWishlist, InitiateCheckout, AddPaymentInfo, Purchase, Lead, CompleteRegistration, Subscribe, StartTrial, Contact
  2. The account has at least one active sales/leads/conversions campaign (Meta is being asked to optimize for purchases)
  3. Projected monthly spend is at least $1,500

Why this matters

Meta's delivery model is funnel-aware: it learns from the sequence of events a user produces, not just the final Purchase. A user who fires PageView → ViewContent → AddToCart → Purchase is a far stronger signal than a user who fires Purchase alone, because the intermediate events let Meta identify high-intent audiences earlier in the journey.

When an account is firing only one or two events (typically PageView and Purchase), the optimization model is operating with a fraction of the signal it could be using. Three consequences follow:

  • Higher CPAs. The model takes longer to find converters because it cannot pre-qualify them on AddToCart or InitiateCheckout signals.
  • Slower learning. Ad sets take longer to exit the learning phase because the conversion event volume is low without intermediate proxy events.
  • Weak audience-building. Custom audiences for AddToCart users, InitiateCheckout users, and so on cannot be built — limiting your retargeting structure.

How we calculate confidence

Condition Confidence
0 or 1 distinct standard events firing 90%
Exactly 2 distinct events firing 75%
3+ events firing We don't surface the finding

How we calculate the estimated monthly cost

We treat 15% of total account spend as the conservative estimate of the optimization gap from missing funnel events, projected to a 30-day month.

monthly_recoverable = (account_spend × 0.15) × (30 / days_in_range)

The 15% figure is on the conservative end of what Meta's own published case studies report (10–30% lift from full Conversions API + funnel event coverage). We choose the low end because the lift varies a lot by vertical and by current account quality.

What would change our mind

This finding can be a false positive in a small number of cases:

  • Lead-gen or service business. A B2B lead-gen account may legitimately only need PageView, Lead, and CompleteRegistration. If three or more relevant events are firing, the finding does not apply. If fewer, the same logic applies as for ecommerce — fewer signals, slower learning.
  • Pre-launch or new account. A new account with limited site traffic may fire few events simply because there are few users to fire them. Wait until projected monthly spend is ≥ $1,500 (our threshold) before acting; we already enforce this.
  • App-first business. Mobile app accounts use App Events rather than standard pixel events. The standard-event check does not apply; audit App Events configuration separately.

How to fix it

  1. Open Meta Events Manager and review the pixel/CAPI events on the dataset connected to this account.
  2. For DTC ecommerce, implement (at minimum): PageView, ViewContent, AddToCart, InitiateCheckout, Purchase. Implementing more never hurts.
  3. For lead-gen: PageView, ViewContent, Lead, CompleteRegistration.
  4. Implement events on both the browser pixel and the Conversions API (server-side). See also: capi_missing_or_weak.
  5. Use Meta's Test Events view to confirm each new event is firing before going live.
  6. Wait 14 days after implementation for the model to incorporate the new signal. Expect modest CPA improvements compounding over the first 30–60 days.

What we look at to make this detection

  • Each pixel_event in the snapshot, filtered to Meta's standard event names list. We count distinct event names that have at least one non-zero daily_count entry in the date range
  • Account objective and effective_status on each campaign (to confirm purchase-style optimization is happening)
  • Total spend in the audit date range, projected to monthly

Source

This methodology page is generated from apps/api/app/services/detections/weak_event_coverage.py. The detection code is open for inspection. We do not have hidden rules.

See it run on a real account.

The sample audit shows this and 14 other detections fired against a synthetic but realistic $30K/month account.