What does a deep Meta Ads (Facebook/Instagram) audit of an online store by UPLIFY look like?

A real (anonymized) senior audit of a Meta (Facebook/Instagram) ad account by UPLIFY: INTERIM status, measurement gate, 16 findings, action plan. Prepared by the AI operator Nestor AI; a manager approves it.

Meta AdsFacebook AdsInstagram AdsAdvantage+CAPIROASUPLIFYNestor AI
uplify · deep audit sample · meta ads (facebook / instagram)

A senior-level audit of an ad account on Meta.

A real audit of a real UPLIFY client — fully anonymized. The niche, brands, domain and all IDs are hidden; all the analysis, methodology, structure and actual metrics are preserved unchanged. Note the INTERIM status — it is honesty, not an unfinished job: we do not pass off modeled numbers as fact.

platform
Meta · Advantage+ Catalog
period
90 days
status
INTERIM · gate not closed
findings
16
validation
independent · PASS
🔒 Anonymized. The name, domain, niche, brands, founder and IDs (account / Pixel / catalog) have been removed. This is a genuine report — the numbers, geo, account structure and conclusions are real; the product category is masked.
/ if you have exactly a minute and a half

The audit in 90 seconds.

audit-digest · 90s read nestor ai · verified
5 key takeaways
  • Learning-reset cut ROAS in half: mature campaigns (5.90 / 4.71) were paused while the new ones are still “learning” (3.86 / 1.75).
  • VALUE optimization at $5/day is unattainable: ~3-4 purchases/week against a learning threshold of ≈50 — the system will never stabilize.
  • CAPI disabled + retargeting pools are empty (~20 people) → RM is actually harvesting the warm IG audience, the lowest ROAS at 2.16.
  • Creative — one auto-generated catalog template across all 8 videos, the hook fails in the 1st second. Score 32/100.
  • The 45-64 segment converts best (ROAS 4.93-5.83) yet receives only 13.6% of budget.
First 3 actions (P0/P1)
  • Enable CAPI + event deduplication — priority #1.
  • Freeze the cascade of manual edits for 7-10 days.
  • Exclude the non-government-controlled areas of 2 regions.
type of win
  • Measurement: Meta will start seeing real purchases, not modeled noise.
  • Stability: no learning-reset every 2 weeks.
  • Scale: underfunded 45-64 and FB Reels (ROAS 6.89).
why the INTERIM status (honesty)
  • CAPI/server events are not working → reported ROAS is inflated by the modeled share.
  • No backend data (CRM/margin/returns) → incrementality is unconfirmed.
  • Catalog API is locked by permissions → the feed was verified manually only.
what makes this audit deep
  • 98% of spend covered: all 7 campaigns, 16 ad sets, all 13 placements, every age breakdown, retention curves for all 8 videos.
  • Performance conclusions are honestly labeled directional until the gates are closed.
  • Independent validation: PASS (coverage 90 · depth 80 · rigor 78 · client-safety 88).
/ 🔴 measurement gate — before any conclusions

Can you trust these numbers?

In Meta this is question #1: if site events are incomplete, the ad account shows a modeled estimate rather than reality. That is why the measurement verdict comes BEFORE the performance analysis, and until the gate is closed the report honestly carries the status INTERIM.

CheckStatusDetails
Pixel is aliveOBSERVEDFires correctly, automatic matching ON (11 fields)
Key events are being sentOBSERVEDPageView / ViewContent / AddToCart / InitiateCheckout / Purchase are present
CAPI / server eventsNOT WORKINGBrowser events only — no server-side → iOS underreporting, lower match quality, inflated modeled-ROAS
Deduplication / match qualityMANUALNot exposed by the API — verify in Events Manager
Backend reconciliationBLOCKERNo data available — incrementality cannot be confirmed
Remediation priority #1: enable CAPI + event deduplication, verify data transmission quality and domain verification. Without server events Meta optimizes on an incomplete signal. Attribution window: default 7d-click / 1d-view — all conversions are modeled.
/ §1 · executive summary

The state of the account at a glance.

$924.65
spend over 90 days
148
purchases · AOV $22.86
3.66
ROAS (directional, modeled)
4.22
frequency — the warm audience is wearing out

Key takeaway (directional): the account looks profitable in the ad manager but suffers from systemic self-sabotage of structure and measurement — it is underdelivering on both volume and stability. A single catalog strategy: 3 active campaigns (Prospecting / Lookalike / Remarketing), all CBO at $5/day, optimized for VALUE.

Learning-reset

P1

Instead of scaling the working campaigns, new ones were created and the mature ones were paused. Old: ROAS 5.90 / 4.71; the new ones are still “learning”: 3.86 / 1.75. The relaunch effectively cut ROAS in half.

VALUE at $5/day

P1

Value optimization needs a large event volume; at ~3-4 purchases/week (threshold ≈50/wk) the system will never exit learning. Minimum to exit ≈ $45/day.

CAPI off + empty RM

P0

Website retargeting is empty (~20 people) — RM is actually being shown to the warm IG audience (~30k) → the lowest ROAS at 2.16 and the lowest incrementality (capturing existing demand).

/ §3-4 · architecture + findings

16 findings — each backed by evidence.

CampaignOpt goalSpendPurch.ROASStatus
Prospecting 01.05VALUE$202.75203.86ACTIVE
Remarketing 10.04CONV$213.03282.16ACTIVE
Lookalike 01.05VALUE$132.5281.75ACTIVE
Prospecting 16.03VALUE$225.96605.90⏸ PAUSED
Lookalike 10.04CONV$102.64284.71⏸ PAUSED

🔴 The mature (better) versions sit paused while the weaker (new) ones are active — the main learning-reset. Below is the full table with a severity filter.

#AreaFindingSev.
F1MeasurementCAPI off — browser events only; conversions are modeled, reported ROAS is inflated.P0
F2StructureLearning-reset: mature campaigns paused, new ones “learning” → ROAS halved.P1
F3StructureVALUE optimization at ~5 purchases/wk is unattainable (threshold ≈50/wk).P1
F4StructureFragmentation: 4 ad sets targeting the same audience at $5/day → internal competition.P2
F5TargetingRM is fictitious: website pools ~20 people; it actually runs against the warm IG audience (~30k).P1
F6TargetingProspecting does not exclude buyers — the customer base is ready for exclusion right now.P2
F7Geo / complianceDelivery into the non-government-controlled areas of 2 regions (~1.2% of budget) — add exclusions.P2
F8PlacementsIG Stories — 25.6% of budget at ROAS 2.71 (below blended); the video is not adapted for vertical.P2
F9DemographicsThe 45-64 segment converts best (ROAS 4.93 / 5.83) yet receives 13.6% of budget.P2
F10CreativeOne auto-template across all videos, hook failure in the 1st second, zero variety — score 32/100.P1
F11FunnelMain drop-off ATC → InitiateCheckout (24.8%) — cart/checkout, not creative.P2
F12BillingAccount status “flickered” 10×, spend-limit reset 2× → delivery throttling.P2
F13ChangesExcessive manual intervention (relaunches, goal changes, duplicates) — the main cause of unstable CPA.P2
F14IncrementalityNo holdout/lift test at all; ROAS is attributional, not incremental.P2
F15Hygiene6 “ACTIVE” 2024 traffic campaigns with stop_time in the past — junk → PAUSED.P3
F16Catalogsmart_pse disabled; product_set coverage of best-sellers — to be verified (Catalog API locked by permissions).P3
/ §5 · placements + demographics

Where the ads live — and where they bleed money.

Placement% spendROASVerdict
Facebook Feed43.8%4.15CARRIES THE ACCOUNT protect
Instagram Stories25.6%2.71INEFFICIENCY video not built for vertical
Instagram Feed20.7%3.78ok
Facebook Reels3.1%6.89UNDERSERVED impressions
Threads2.9%4.71UNDERSERVED impressions
Age (f)% spendROASCPA
25-3444.1%3.30$7.55
35-4431.5%3.49$6.33
45-548.3%4.93$4.25
55-645.3%5.83$4.89

Pattern: the older 45-64 segment converts best (lowest CPA) yet receives only 13.6% of budget — an undervalued scaling reserve.

/ §6 · creative system

Creative score: 32/100.

8 = 1
all 8 videos — one auto-generated catalog template
−43…−50%
hook failure in the 1st second
~20%
3s-retention (benchmark 25%+)
0
static / UGC / carousel / founder

Testing framework: customer pain (UGC) · social-proof (review carousel) · offer/price (promo) · founder talking-head · demo texture — all with a strong 0-1s hook. Executable cards → the “Creatives” tab in OS.

/ §7 · funnel

Where the real drop-off is.

TransitionConversionAssessment
Impression → link click2.72%normal for catalog
Link click → landing page view82%STRONG site speed is fine
Landing page → cart12.8%acceptable
Cart → checkout initiation24.8%MAIN DROP-OFF
Checkout → purchase~92%STRONG

CTR and landing page views are healthy → the problem is not the creative, it is the cart/offer/checkout (friction, price/shipping at this step, phone-order model). Check the cart UX + the correctness of the InitiateCheckout event.

/ §8 · creative — new concepts

Prompt cards beyond the auto-catalog.

Ready to paste into a generator. Draft concepts that need brand/legal review. The product is masked.

1 · UGC hook “customer pain”

9:16 · stories/reels · hook 0-1s
"Authentic UGC-style vertical video, a real customer holding the product at home, natural phone-camera look, strong emotional hook in first 1s (close-up + face), warm domestic light, Ukrainian middle-class home. NO studio polish, NO logos, NO on-screen text in first second. Aspect 9:16."

2 · Social-proof carousel

1:1 · warm/rm · reviews + best-sellers
"Clean carousel slide template combining a hero product shot with a stylized customer-review quote card, cohesive brand palette, premium e-commerce look, trustworthy mood. NO real names, NO competitor branding, NO fake ratings. Aspect 1:1."

3 · Founder talking-head

9:16 · cold · brand-trust
"Vertical talking-head video of a brand representative speaking warmly to camera in a tidy workspace, soft natural light, authentic and trustworthy, strong first-second eye contact hook. NO teleprompter stiffness, NO logos overlay, NO on-image text. Aspect 9:16."
/ §9 · action plan

Do-no-harm first, then Winner-Protection.

Weeks 1-2

Do-no-harm

Enable CAPI + deduplication (priority #1); freeze the cascade of manual edits for 7-10 days; exclude the non-government-controlled areas; remove the 6 stale campaigns; exclude the customer base from prospecting.

30 days

Restructuring

Consolidate 4 ad sets → 1-2 (more events per ad set); VALUE → CONVERSIONS on small budgets; raise 1 winning campaign by +20-30%, not a wholesale replacement. ⛔ Budget scaling is blocked until margin/target-ROAS.

In parallel

Creative

3-5 new concepts beyond the auto-catalog (UGC pain, founder, social-proof, demo) with a strong 0-1s hook; separate vertical versions for Stories/Reels.

Always

Winner-protection

Do NOT touch FB Feed delivery or the 45-64 segment (ROAS 4.93-5.83). Do not switch paused versions on alongside the active ones (overlap) — pick one and let it mature without edits.

/ §9a · controllability

Success criteria, monitoring and rollback.

Every change is controlled: the control metric, observation window and rollback trigger are defined before implementation. A “before” snapshot of the state is stored; rollback is a single action.

ChangeControl metricWindowRollback trigger
CAPI + deduplicationBrowser ↔ server event discrepancy; Purchase coverage7-14 daysDuplicate purchases >5% → verify event_id before scaling
Freeze on manual editsDay-over-day CPA stabilization7-10 days— (do-no-harm, no rollback needed)
VALUE → CONVERSIONSCampaign ROAS vs baseline14 daysROAS −10% two weeks in a row → revert to VALUE
Consolidation of 4 ad sets → 1-2Events/week per ad set; CPA14 daysCPA +20% after exiting learning → roll back the structure
+20-30% on the winning campaignROAS no lower than −15% vs baseline7 days per stepDrop below the threshold → restore the previous budget (“before” snapshot)
/ after the audit · the UPLIFY OS platform

Monitoring 24/7 — without being asked.

An audit is a snapshot. From then on the account lives under the daily supervision of our platform: the system itself checks every Meta account against 16 problem types and surfaces failures to the manager before they eat the budget.

Measurement

Pixel went silent · purchases not reaching Meta (server events) · low data transmission quality · gaps in funnel events · ad manager numbers diverging from our database.

Structure and audiences

Remarketing vanished while the pixel is alive · “one ad set for everything” · segments overlap and compete with each other.

Catalog and delivery

Rejected products in the catalog · dynamic product ads not configured · Advantage+ placements disabled · creatives burned out with no refresh.

And no auto-changes: every finding turns into an action card with a rationale — a human manager applies it, with a “before” snapshot and the option to roll back. On just 7 live projects this monitoring uncovered 84 separate placement issues — failures an owner can go years without seeing in the ad manager.
/ §10 · appendix

Coverage + validation.

WhatCoverage
Campaignsall 7 with spend (top-5 = 98% of spend)
Ad sets16 (top-10 = 95%)
Placementsall 13
Demographicsevery age breakdown · all 23 regions with spend
Creativesall 8 videos with retention curves
Finding classificationmeasurement (3) · structural (5) · creative (2) · scaling/targeting (6)

Independent validation (a second AI model): PASS with remarks — coverage 90 · depth 80 · rigor 78 · client-safety 88. Performance conclusions remain directional until the gates are closed (CAPI + backend) — and this is flagged in every relevant conclusion, not buried in fine print.

Nestor AI — the AI operator of UPLIFY OS

How this audit was made.

The report was prepared by Nestor AI — our AI operator inside UPLIFY OS: senior-level analysis under our own Meta methodology, with independent validation. Note the status INTERIM: as a matter of principle we do not pass off modeled data as fact until the measurement gates are closed — this is the honesty that trust is built on. Every proposed change is approved by a manager — nothing is applied automatically, every change is reversible and logged.

© UPLIFY · AI-first performance agency · uplify.agency · sample anonymized: a real client, the numbers / geo / structure are real