Як виглядає глибокий аудит Meta Ads (Facebook/Instagram) інтернет-магазину від UPLIFY?
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.
UPLIFY · Sample deep audit
Senior audit of a Meta
(Facebook / Instagram) ad account
A real audit of a real UPLIFY client — fully anonymized. The niche, brands, domain and all account IDs are hidden; all analysis, methodology, structure and actual figures are kept intact.
🔒 Anonymized. Name, domain, niche, brands, founder and IDs (account / Pixel / catalog) removed. This is a real report — figures, geo, account structure and conclusions are real; the product category is masked.
🔴 Report status: INTERIM — the measurement gate is NOT closed
Performance conclusions are presented as directional (not observed) — we do NOT present modeled data as fact while the gates are open. That is the audit's senior honesty:
- BLOCKER 1 — Measurement: CAPI/server events are effectively not working (browser events only) → possible iOS under-reporting, lower matching, inflated modeled-ROAS.
- BLOCKER 2 — Business truth: no backend access (CRM / margin / returns / new-vs-returning) → impossible to confirm Meta creates incremental profit rather than attributing demand that would convert anyway.
- BLOCKER 3 — Catalog API: the catalog inventory isn't readable (rights) → feed/match-rate check only manually in Commerce Manager.
- Attribution window: default 7d-click / 1d-view (modeled) — all conversions are modeled.
1 Executive summary
The account runs a single catalog strategy (Advantage+ Feed): 3 active campaigns (Prospecting / Lookalike / Remarketing), all CBO at $5/day, OUTCOME_SALES goal, VALUE optimization. Over 90 days: $924.65 spend, 148 purchases, $3,382.74 value, ROAS 3.66, CPA $6.25, AOV $22.86, frequency 4.22.
Main conclusion (directional): the account looks profitable in the dashboard but suffers from systemic self-sabotage of structure and measurement — losing both volume and stability.
1. Learning reset from an unnecessary relaunch
Instead of scaling working campaigns, new ones were created and mature ones paused. Old: ROAS 5.90 / 4.71; new still "learning": 3.86 / 1.75. The relaunch effectively halved ROAS.
2. VALUE optimization at $5/day — infeasible
HIGHEST_VALUE needs a large event volume; at ~3–4 purchases/week (learning threshold ≈50/wk) the system never stabilizes. Minimum to exit learning ≈ CPA×50 ≈ $45/day.
3. CAPI off + empty RM audiences
Site retargeting is empty (~20 people). RM actually serves a warm IG base (~30k) → the lowest ROAS 2.16 and the lowest incrementality (harvesting existing demand).
4. Creative = one auto catalog video
All 8 videos are effectively one Advantage+ Feed template; the hook fails in the 1st second (−43…−50%), 3s-retention ~20%. Creative score 32/100.
5. Starvation + fragmentation + billing
$5/day spread across 3 campaigns; in one — 4 groups on the same audience (internal competition). Account status "flickered" 10×, 2× spend-limit reset → delivery throttling.
Business-truth verdict: incrementality not confirmed (directional). Before scaling budget — close CAPI + a backend reconciliation.
2 Measurement Integrity (GATE)
| Check | State | Details |
|---|---|---|
| Pixel alive | ✅ observed | Fires, automatic matching ON (11 fields) |
| Key events sent | ✅ observed | PageView / ViewContent / AddToCart / InitiateCheckout / Purchase present |
| CAPI / server events | 🔴 NOT working | BROWSER only; openbridge not configured — no server side |
| Dedup / EMQ / AEM / domain | 🟡 manual | API doesn't return — check in Events Manager |
| Backend reconciliation | 🔴 BLOCKER | No data — incrementality can't be confirmed |
Remediation priority #1: enable CAPI + event_id dedup, check EMQ and domain verification. Without server events Meta optimizes on an incomplete signal, and reported ROAS is inflated by the modeled part.
3–4 Architecture + full findings table (16)
| Campaign | Opt goal | Spend | Purch. | ROAS | State |
|---|---|---|---|---|---|
| Prospecting 01.05 | VALUE | $202.75 | 20 | 3.86 | ACTIVE |
| Remarketing 10.04 | OFFSITE_CONV | $213.03 | 28 | 2.16 | ACTIVE |
| Lookalike 01.05 | VALUE | $132.52 | 8 | 1.75 | ACTIVE |
| Prospecting 16.03 | VALUE | $225.96 | 60 | 5.90 | ⏸ PAUSED |
| Lookalike 10.04 | CONV | $102.64 | 28 | 4.71 | ⏸ PAUSED |
🔴 Mature (better) versions are paused, weaker (new) ones active — the main learning-reset.
| Area | Finding | Sev. |
|---|---|---|
| Measurement | CAPI off — browser events only; modeled conversions, inflated ROAS | P0 |
| Structure | Learning-reset: mature campaigns paused, new ones "learning" → ROAS halved | P1 |
| Structure | VALUE optimization at ~5 purchases/wk unachievable (threshold ≈50/wk) | P1 |
| Structure | Fragmentation: 4 groups on the same audience at $5/day → internal competition | P2 |
| Targeting | RM is fake: website pools ~20 people; actually serves a warm IG (~30k) | P1 |
| Targeting | Prospecting doesn't exclude purchasers (the client base is usable now) | P2 |
| Geo / compliance | Serving into non-controlled districts of 2 regions (~1.2% budget) — add exclusions | P2 |
| Placements | IG Stories — 25.6% budget at ROAS 2.71 (below blended); the video isn't built for vertical | P2 |
| Demographics | The 45-64 segment converts best (ROAS 4.93 / 5.83) but gets 13.6% of budget | P2 |
| Creative | 1 auto template, hook fails at 1s, 0 format diversity — score 32/100 | P1 |
| Funnel | Main drop ATC → InitiateCheckout (24.8%) — cart/checkout, not creative | P2 |
| Billing | Account status flickered 10×, 2× reset spend-limit → delivery throttling | P2 |
| Changes | Excessive manual intervention (relaunches, opt-goal/bid changes, duplicates) — the main cause of unstable CPA | P2 |
| Incrementality | No holdout/lift test; ROAS is attribution-based, not incremental | P2 |
| Hygiene | 6 "ACTIVE" 2024 traffic campaigns with a past stop_time — junk → PAUSED | P3 |
| Catalog (ASC) | smart_pse off; check product_set coverage of bestsellers (Catalog API blocked) | P3 |
5 Placements + demographics
| Placement | % spend | ROAS | Verdict |
|---|---|---|---|
| Facebook Feed | 43.8% | 4.15 | carries the account — protect |
| Instagram Stories | 25.6% | 2.71 | biggest inefficiency |
| Instagram Feed | 20.7% | 3.78 | ok |
| Facebook Reels | 3.1% | 6.89 | under-served |
| Threads | 2.9% | 4.71 | under-served |
| Age (f) | % spend | ROAS | CPA |
|---|---|---|---|
| 25-34 | 44.1% | 3.30 | $7.55 |
| 35-44 | 31.5% | 3.49 | $6.33 |
| 45-54 | 8.3% | 4.93 | $4.25 |
| 55-64 | 5.3% | 5.83 | $4.89 |
Pattern: the older 45-64 segment converts best (lowest CPA) but gets only 13.6% of budget — an underrated reserve.
6 Creative system
Testing framework (route → the "Creatives" tab): customer pain (UGC), social proof (review carousel), offer/price (promo creative), founder talking-head, demo texture — with a strong 0-1s hook.
7 Funnel
| Step | Conversion | Assessment |
|---|---|---|
| Impr → link click | 2.72% | normal for a catalog |
| Link click → LPV | 82% | ✅ strong (site speed ok) |
| LPV → ATC | 12.8% | acceptable |
| ATC → InitiateCheckout | 24.8% | 🔴 main funnel drop |
| IC → Purchase | ~92% | ✅ strong |
CTR and LPV are healthy → the problem isn't the creative but the cart/offer/checkout (friction, price/delivery at the step, a phone-based order model). Check the cart UX + whether the InitiateCheckout event fires correctly.
8 Creative — prompt cards for new concepts
Ready to paste into a generator to go beyond the auto catalog. Draft concepts, need brand/legal review. Product masked.
1) UGC hook "customer pain"
9:16 vertical · Stories/Reels · strong 0-1s hook, face in frame
"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 + bestsellers
"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 (brand-trust)
9:16 · Cold · brand representative
"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 (with Winner-Protection)
(do-no-harm)
30 days
10 Appendix — coverage
- Coverage: all 7 campaigns with spend (top-5 = 98%); 16 groups (top-10 = 95%); all 13 placements; all age cuts; all 23 regions with spend; all 8 videos with retention curves.
- Findings classification: measurement (3) · structural (5) · creative (2) · scaling/targeting (6).
- Independent validation (gpt-5.2): PASS with reservations — coverage 90 · depth 80 · rigor 78 · client-safety 88. All key Meta "red flags" verified; performance conclusions stay directional until the gates close (CAPI + backend).
Get this kind of audit for your account →
© UPLIFY · AI-first performance agency. Sample anonymized: a real client, real figures / geo / structure; niche, brands and identifiers removed for confidentiality.