MASTER AUDIT
Military.com — June 4, 2026
Canonical audit · Live Meta API · Reconciles with Mo's prior 20 files · Account `1034037341617540`
Master Audit — START HERE
master_audit.md
Military.com Master Audit — June 4, 2026
Canonical document. Supersedes all prior audit iterations in /Users/mo/Downloads/military/. Validated against live Meta Marketing API pull this session. Integrates with the June 2026 plan in /Users/mo/Desktop/military.com/deliverables/june_2026/.
Account audited: 1034037341617540 — LG Military Ads (Business: Military.com, 10153481725199270)
Data window: May 5 – June 3, 2026 (last 30d)
Author: GTW (Mo) · Live API audit
1. Executive Summary
Military.com's lead-gen Meta account is a structurally healthy $850K/month engine sitting under a 99/100 Opportunity Score with three compounding problems that explain why it's not as profitable as it should be:
-
The Purchase value pipe is broken. Meta returns
purchase_roas: "Not available"at every level — account, campaign, ad set, ad. The Auto Max Val campaign optimizes forRETURN_ON_AD_SPENDagainst this broken signal and pays a 66.9% CPL premium ($36.44 vs $21.84 BAU) for the privilege. ~$136.9K/month of premium spend with zero value visibility = ~$1.6M/yr of arguably wasted optimization headroom. -
Concept concentration is extreme. Two creative families — Lower-Your-Auto ($370K/30d) and Odometer ($270K/30d) — account for 76% of total monthly spend. The fatigue clock on these two concepts is the single biggest near-term risk.
-
The retargeting layer doesn't exist. Both website-Pixel-seeded audiences (
All Site Visitors (180D)andVisited Auto LP (180D)) sit at ~20 people each. Under Special Ad Category (Financial Products), Pixel-seeded retargeting is essentially unavailable. The account has only customer-list LALs + a healthy-but-unused page-engagement layer.
What to do this week
- Tuesday morning: Open Meta Events Manager → Dataset
332555186604235→ Diagnostics tab to confirm the Purchase value malformation. This gates everything else. - Tuesday with dev: Start the value-pipe fix (multi-week dev work). Decide on Auto Max Val budget — pause or cap until the value signal is real.
- Tuesday with Lauren: Fresh sold-leads export (last 180d) for the Custom-list seed refresh. Build a new ad set targeting FB Page Engagers + IG Account Engagers (currently unused).
- This week: Delete the ~28 broken placeholder LALs. Ship 8–10 new creative concepts. Reallocate Auto BAU's $8.5K/day pacing gap to Drive-On + Lower-Your-Auto BAU variants.
The framing
The account is well-run and structurally healthy. Mo's audit thesis was right: the leverage is in measurement plumbing, creative, and the success metric — not structural fixes. Opportunity Score 99/100 confirms it. The job is to execute that thesis with the value pipe fixed first.
2. What's the same, what's changed
Net verdict from cross-validating Mo's prior audit claims against live API data: 15 of 18 specific numerical claims match within 5% tolerance. No critical claims refuted.
Canonical reconciliations (carry these numbers forward)
| Mo's prior claim | Live API value | Canonical going forward |
|---|---|---|
| Account spend $842K /30d | $841,425.95 | $841K (essentially exact) |
| Account frequency 6.45 | 6.38 | 6.38 |
| Purchase ROAS "broken value pipe" | Not available at every level |
CONFIRMED. Root cause. |
| Max Val pays ~65% premium | 66.9% ($36.44 vs $21.84) | 67% |
| Auto BAU pacing: $19.8K budget, $11.4K actual | $19,800 budget, $11,296 actual = 57% utilization | $19.8K → $11.3K (57%) |
| Odometer_05/15 single ad spend $178K | $180,727 single-ad | $181K single ad |
| Odometer concept total $222K | $270,660 (includes 05/22 + 06/03 variants) | $270K (concept family) |
| Lower-Your-Auto workhorse "+$191K net" | $370,738 (all variants, all campaigns) | $370K (concept family) — the dominant single concept |
| CompleteRegistration EMQ 8.3 | 8.3 | 8.3 (exact) |
| Opportunity Score 99/100 | 99 | 99 (exact) |
| ~30 broken placeholder LALs | 28 INACTIVE at 1,000 each | ~28 |
| Customer-list "Mil FB Customer Match 4.12.21" | Not in inventory | Replaced by Custom_Recruiting-Leads_08-05-2025 (39K-46K seed, 10 months old) |
| Drive-On_05/30 $18.48 CPL | $18.43 | $18.43 |
| 2 narrow Custom ad sets at ~1,000 audience | Ad sets reach 716K & 52K; website-retargeting audiences at ~20 each is the more severe finding | NEW severity — retargeting layer essentially nonexistent |
| Dataset C content pixel CAPI 0% | "Military.com's Pixel" server silent since March 2023 | CONFIRMED |
Three corrections to internalize
-
Concept-family thinking beats per-ad accounting. The Odometer concept is $270K/30d (not $178K). Lower-Your-Auto is $370K/30d. Always think concept first, ad-ID second.
-
The customer-list seed name is
Custom_Recruiting-Leads_08-05-2025, not "Mil FB Customer Match 4.12.21". The older audit referenced a name that's no longer in the inventory. Same underlying issue (stale seed), different audience entity. -
Retargeting is broken worse than the audit framed. Not just "narrow Custom ad sets" — the entire Pixel-seeded website retargeting layer is empty (~20 people in each audience). Under SAC for Financial Products, this is structural, not a fixable Pixel bug.
3. Account state at a glance
| Field | Value |
|---|---|
| Ad Account ID | 1034037341617540 |
| Account Name | LG Military Ads |
| Business | Military.com (10153481725199270) |
| Currency | USD |
| Special Ad Category | Financial Products (SAC ON — confirmed via all campaign names) |
| Account Status | ACTIVE |
| Opportunity Score | 99 / 100 |
| 30-day spend | $841,425.95 |
| 30-day impressions | 38,557,408 |
| 30-day clicks | 443,130 |
| 30-day reach | 6,039,757 |
| Frequency | 6.38 |
| CTR | 1.15% |
| CPC | $1.90 |
| CPM | $21.82 |
purchase_roas |
Not available (every level) |
| Active campaigns | 6 (BAU + ALC + Max Val × Auto + Home) |
| Active ads | 50+ (top 50 reviewed; account total higher) |
| Datasets attached | 3 (1 lead-gen workhorse, 1 content legacy, 1 dormant MediaAlpha) |
| Customer audiences | 38 total (10 active, 28 broken placeholders) |
| Workhorse dataset | 332555186604235 — Purchase EMQ 9.1, CompleteRegistration EMQ 8.3 |
| Custom conversion events | Auto 26414218331497189, Home 527662590217855 ("click to quotes") |
Campaign structure (6 active)
| # | Campaign | Objective | Daily Budget | 30d Spend | Leads | CPL |
|---|---|---|---|---|---|---|
| 1 | Auto SAC ALC Max Val (NEW) | OUTCOME_SALES | $7,000 | $341,592 | 9,375 | $36.44 |
| 2 | Auto SAC BAU (NEW) | OUTCOME_LEADS | $19,800 | $338,882 | 15,587 | $21.84 |
| 3 | Auto SAC ALC (NEW) | OUTCOME_LEADS | $8,500 | $80,960 | 3,491 | $23.19 |
| 4 | Home SAC ALC | OUTCOME_LEADS | $4,000 | $37,553 | 2,573 | $14.60 |
| 5 | Home SAC ALC Max Val (NEW) | OUTCOME_SALES | $1,600 | $29,268 | 1,363 | $21.47 |
| 6 | Home SAC BAU | OUTCOME_LEADS | $2,000 | $13,169 | 959 | $13.73 |
Auto:Home spend split is 90:10. Auto:Home lead split is 85:15. Home's CPL is 39% lower than Auto's.
4. The three compounding problems
(1) Broken Purchase value pipe — the root cause
The single most important finding in the account.
Evidence:
- purchase_roas: "Not available" at every level (account, campaign, ad set, ad)
- Auto Max Val campaign optimizes for RETURN_ON_AD_SPEND — but Meta cannot compute ROAS because the value signal is unusable
- The Max Val penalty: $36.44 Max Val CPL vs $21.84 BAU CPL on the SAME audience targeting strategy = 66.9% premium the account is paying for the privilege of broken value optimization
- Mo's "98% of Purchase price data is malformed" finding: cannot be validated via the dataset_quality endpoint (which only checks presence, not value validity) — but the entire ROAS unavailability is consistent with this. Manual Events Manager Diagnostics check required Tuesday.
Dollar size: Auto Max Val spends $341,592/30d at $36.44 CPL vs BAU $21.84. The premium = $14.60 per lead × 9,375 leads = $136,912 / 30 days of premium-spend optimization headroom locked behind the broken signal. Annualized: ~$1.6M.
Why it matters strategically: until this is fixed, Max Val campaigns CANNOT do their job. They're paying a value-optimization premium against a signal that doesn't exist. Either (a) fix the value pipe and Max Val starts working, OR (b) pause Max Val and reallocate to BAU at $21.84 CPL. Both are valid moves; the worst-of-both is current state.
(2) Concept-family over-concentration
The account spends $640K/30d (76% of total) on just two creative concept families:
- Lower-Your-Auto-Insurance: $370,738 across all variants and campaigns. The workhorse. Avg $20.39–$23.89 CPL on BAU (best $20.39 in Digital Marketing & Tech ad set).
- Odometer: $270,660 across all variants (05/15, 05/22, Moving-Odometer 06/03). Higher CPL than Lower-Your-Auto. $20.43 BAU best, $38.85 Max Val worst.
Fatigue clock risk: the Odometer 05/15 single ad has frequency 3.27 and reach 3.1M. Within 14 days at current pace it crosses 4.0 — Meta's typical fatigue threshold. New variants (05/22, 06/03) are being launched to extend the family but the underlying audience is still being burned by the same concept.
Reallocation lever: within the Lower-Your-Auto family, shifting Max Val budget ($115K/30d on this concept) to BAU at $21.88 CPL = same volume at ~32% lower cost. Within Odometer, similar reallocation.
(3) fbc/fbclid value malformation (suspected — Tuesday confirm)
Mo's audit: 15 ad sets, $67,174 spend, 27% of CompleteRegistration events affected by fbc truncation.
Live API: fbc parameter is PRESENT on 100% of CompleteRegistration events and 87% of Purchase events. The truncation Mo identified is a value-validation issue (the fbc string is present but malformed), which is invisible to dataset_quality (presence-only) and only surfaces in Meta Events Manager Diagnostics.
Verdict: carry as suspected-confirmed pending the Tuesday Events Manager check. If validated, the fix is a dev-team URL parameter handling change (small effort, real impact on EMQ-driven optimization).
5. What's healthy (the counterweight)
Mo's audit thesis is right that this is a structurally healthy account. The positives:
- Opportunity Score 99/100 — Meta's automated assessment shows no structural fixes needed
- Excellent EMQ scores on the lead-gen dataset: Purchase 9.1, CompleteRegistration 8.3
- Tight Auto BAU CPL band ($20.39–$23.89) across all interest-targeted ad sets — interest targeting works; consolidation is a test, not an obvious win
- Home is materially cheaper than Auto (39% lower CPL) — real arbitrage opportunity
- Creative cadence is real — ~2 net-new launches/week (May 4, 7, 15, 22, 29, 30, June 3 all visible)
- Dual-channel firing — server and browser both active, ~5–8% server uplift, healthy deduplication
- Healthy page-engagement audiences (currently unused as targeting): FB Likers 999K–1.2M, FB Engagers 341K–401K, IG Followers 30K–35K, IG Engagers 93K–110K
- No active anomaly flags from Meta
- Custom-list LAL ladder works — 1%/3%/5% LALs all properly sized at 1.9M–10.1M
- TYFYS is correctly de-prioritized — Meta auction-ranking confirms "Below Average engagement, Above Average conversion" — converts in niche but won't scale. Audit fix is in place.
- Veteran-VO is correctly de-prioritized — only one active variant at $2,052 spend, most variants paused. Audit fix is in place.
6. Creative state of the union
Concept families (~10 distinct, matching Mo's count)
| Concept | Format | 30d Spend | Avg CPL | Where it works | Where it fails |
|---|---|---|---|---|---|
| Lower-Your-Auto-Insurance | Static + Anim + Swipe | $371K | $20–32 | BAU ($22) | Max Val ($32) |
| Odometer | Static + Anim + Swipe | $270K | $20–47 | BAU/ALC ($20–23) | Max Val ($38–47) |
| Lower-Your-Home-Insurance | Static + Inside + Icon | $61K | $12.68–$21.32 | All Home placements | — |
| TYFYS | Video + Anim + Swipe | $17K | $21.73–$36.54 | BAU low spend | Max Val |
| Drive-On | Static + Anim + Swipe | $13K | $18.43–$34.34 | BAU Custom ($18.43) | Max Val |
| Simplified (V2/V3/V4) | Video + Inside + Icon | $8K | $13.22–$41.62 | Home | Auto Max Val |
| Moving-To-Do-List | Static | $3.6K | $25.31–$41.31 | BAU | Max Val |
| Family-outside / Loading-car-2 / Half-Truck / Save-Piggybank-Camo | Static + Outside + Family | $6K | $19.81–$23.21 | Auto ALC | — |
| Gradient / More-Savings / Drive-Down / Blue-Camo-Vets-Save / Half-Car | Static + Anim + Swipe | $10K | $18.27–$69.78 | BAU (More-Savings $18) | Max Val (More-Savings $70) |
| Veteran-VO / Veterans-Save (deprioritized) | Video + Anim + Flag-Swipe | $3K | $29–$67 | — | — |
Format mix
Static dominates ~5:1 over Video by spend. Top 20 spenders: 18 Static, 2 Video. Two video assets in the top 20: TYFYS_03/24 ($12K Max Val) and TYFYS_03/09 ($3K BAU). The Video 2 family from December 2025 still runs at low spend with anomalously high CTRs (8.33%, 10.49%).
Zero veteran UGC, zero testimonial creative. The defensible moat (the only player with the audience to credibly ship real-veteran-on-camera creative) remains unbuilt. Mo's prior audit conclusion stands and is confirmed.
Compliance
The "Save up to 60%" creatives that triggered Mo's earlier compliance concern are NOT in the current top 50 by spend. Need to confirm via Events Manager check that they're sunset entirely or just demoted to low spend. As of this audit, the high-risk creative does not appear to be a live concern.
What to ship next
Based on the audit: - Home Lower-Your-Home_Inside_Icon variants — best CPL in the account ($12.68 BAU, $14.69 ALC); under-funded at $61K vs $371K Auto - Drive-On variants — newer creative trending at $18.43 BAU; underfunded vs Odometer's $270K - More-Savings BAU variants — $18.27 BAU CPL; Max Val variant ($69.78) should be killed but BAU works - Anything with "Inside_Icon" format on Home — Home's working format - Video — anything — current 5:1 Static:Video split leaves video opportunity unbuilt
7. Audience state
Active and working (10 audiences)
The customer-list LAL ladder is properly built:
- Custom_Recruiting-Leads_08-05-2025 — 39,200–46,100 people (the seed; 10 months old, refresh candidate)
- Lookalike (US, 1%) — 1.9M–2.2M
- Lookalike (US, 3%) — 5.3M–6.3M
- Lookalike (US, 5%) — 8.5M–10.1M
Page-engagement audiences exist and are healthy:
- FB Mil.com Page Likers/Followers — 999K–1.2M
- FB Mil.com Page Engagers (365D) — 341K–401K
- IG Mil.com Followers — 30K–35K
- IG Mil.com Account Engagers (365D) — 93.6K–110K
Broken state (the new finding)
All Site Visitors (180D)— sized at ~20 peopleVisited Auto LP (180D)— sized at ~20 people
These should be hundreds of thousands of people each. Two hypotheses:
- The lead-gen Pixel doesn't write back to these account-level Platform audiences (cross-business write issue between dataset
332555186604235business551525685236215and the LG Military Ads account business). - SAC (Financial Products) filters Pixel-seeded retargeting audiences out, leaving them effectively empty.
Hypothesis 2 is more likely. Under SAC, Meta restricts retargeting audiences derived from website Pixel events for financial products. The audience accumulates events but they're filtered as ineligible for ad delivery.
Implication: the account has no functional website-retargeting layer. The legitimate audience seeds under SAC are: - ✅ Customer-list (advertiser-provided) — the Recruiting-Leads seed and LALs - ✅ FB/IG engagement (on-Meta surfaces) — the page audiences, currently UNUSED - ❌ Pixel-seeded website retargeting — restricted or filtered under SAC
Broken placeholder LALs (cleanup task)
28 INACTIVE lookalikes all sized at exactly 1,000. Meta's signature for orphaned/broken lookalikes (seed audience deleted or invalid). Matches Mo's "delete ~30 dead placeholder lookalikes" task. Low-risk cleanup; no positive impact from leaving them.
Customer-list lookalike eligibility under SAC
The LAL ladder on the Recruiting-Leads seed (1%/3%/5%) IS active and sized properly — which means customer-list LALs under SAC for Financial Products IS allowed in this account. Mo's W4-T3 task (test customer-list LAL eligibility) is effectively answered by live state: customer-list LALs work. The in-product test confirmation is a 30-second check rather than a real concern.
The "Mil FB Customer Match 4.12.21" question
That specific named list is not in the current inventory. The active customer-match list is Custom_Recruiting-Leads_08-05-2025 (created Aug 5, 2025; 10 months old). Same underlying issue Mo identified (stale customer-match seed) but with a different name. Refresh remains the right move.
8. Tracking / Dataset / CAPI
Three datasets, three states
| ID | Name | Purpose | Browser | Server | EMQ | Action |
|---|---|---|---|---|---|---|
332555186604235 |
Military Insurance | Lead-gen workhorse (likely QW/Delty integration) | Fires real-time | Fires real-time ✅ | Purchase 9.1, CompReg 8.3, PV 6.9 | None — healthy |
587241028099131 |
Military.com's Pixel | Content/site pixel (legacy from 2016) | Fires today | Silent since March 2023 | No CAPI events | Add CAPI Gateway (+23% cost/result lever) |
1536649764252698 |
MA Military Insurance | Likely MediaAlpha (dormant) | Fires today | Never fired (1969 epoch) | No EMQ | Activate OR archive — confirm with Anthony |
Event taxonomy (current state)
- Native Lead event: Not used as conversion target (always "Not available" in results)
- Custom conversion
26414218331497189: "Auto click to quotes" — the Auto optimization target - Custom conversion
527662590217855: "Home click to quotes" — the Home optimization target - Purchase event: Fires at high volume (~755/day) and high EMQ (9.1) — but value parameter is the issue (Events Manager Diagnostics confirm Tuesday)
- CompleteRegistration: Fires ~755/day, EMQ 8.3, fbc 100% coverage
Volume and freshness (last 7 days)
- PageView: ~392K events
- Purchase: ~5,300 events (~755/day)
- CompleteRegistration: ~5,300 events
- SERVER ~52%, BROWSER ~48% — CAPI doing roughly equal volume to Pixel
- Server uplift: ~5–8% per hour (CAPI catches events Pixel misses)
Note: Mo's earlier "17.5% CAPI lift" finding may have been from a specific 7-day window in his audit. Current 7-day uplift is lower (5–8%), but the lift is real and positive. The dual-channel setup is fundamentally healthy.
The +23% cost/result lever
Adding a Signals Gateway / CAPI for 587241028099131 ("Military.com's Pixel") — the content pixel currently running browser-only — would let the algorithm see retargeting events from military.com's broader content footprint. Mo's audit estimates +23% cost/result improvement when this is wired up. The work is engineering-only (no creative dependency); ~24–48 hour dev sprint.
9. Competitive landscape
Live API limitations
Meta Ad Library keyword search only matches creative text, not brand. The major aggregator competitors (EverQuote, The Zebra, Insurify, SmartFinancial, QuoteWizard) use product-neutral copy and didn't surface via brand-keyword search. Mo's May 13 competitive teardown (07_competitive_teardown.md) remains canonical for these brands.
What the live scan DID surface
The Military Wallet (page_id: 220855334603609) — direct competitor running active ads with "Did You Serve? You Might Save »" — an identity-led hook. This is exactly the angle Military.com walked away from with Veteran-VO. Two takeaways:
- The Military Wallet is doubling down on the hook Military.com de-prioritized
- The "Did You Serve?" framing is RUNNING under SAC — suggests Meta is not blocking identity-confirmation hooks the way prior audits assumed
Veteran Life Insurance (adjacent vertical, page 222591640945329) — uses two angles Military.com isn't running:
- Spouse-protection ("Protect your spouse")
- Retirement angle
Both are family-financial-security framings worth testing in Military.com's Auto BAU.
Key gaps Military.com still has
From Mo's earlier teardown, confirmed by this scan:
- Spouse-angle creative — used by EverQuote, Insurify, Veteran Life Insurance. Military.com has zero spouse-specific variants.
- Real-veteran UGC — under-utilized everywhere. Defensible moat unbuilt.
- Specific dollar/monthly-payment framing — beats generic "Save 15% or More." Both Military.com and competitors leave this on the table.
Tuesday browser check
Open facebook.com/ads/library, search by page name for: EverQuote, Insurify, SmartFinancial, The Zebra, QuoteWizard, The Military Wallet (priority), Veteran Life Insurance (priority). 30-minute manual sweep produces sharper teardown than API can.
10. Reconciled with the June 2026 plan
What the existing June 2026 plan got right
- Creative engine focus — confirmed as a primary lever; concept-family analysis validates the plan's volume targets
- Home insurance scale — confirmed as the highest-confidence revenue action (39% CPL advantage)
- CAPI rebuild plan — directionally correct, though this audit clarifies that the workhorse dataset (
332555186604235) is healthy; the +23% lever is on the content pixel (587241028099131) - Baseline vetting framework — still required; the live data doesn't change Mo's leverage to argue baseline down
What needs updating
- Retargeting layer assumption. The June plan implicitly assumes Pixel-seeded retargeting is buildable. Under SAC it is not. Update the plan to: warm layer is page-engagement audiences only (FB/IG); no website retargeting available.
- Page-engagement audiences workstream. Add a specific Week 1 task: build an ad set targeting FB Engagers + IG Account Engagers. This is the only warm layer available and currently unused.
- Auto Max Val budget question. The June plan doesn't address what to do with $341K/30d of Max Val spend optimizing against a broken signal. Recommend explicit decision Tuesday: pause/cap until value fix lands.
- Conversion-value-fix elevation. The June plan deprioritizes this vs creative/home. This audit's recommendation: parallel tracks, not either/or — start value-fix dev work Tuesday (multi-week), while creative/home/pacing deliver visible Week 1 wins.
What the plan missed entirely
- The MA Military Insurance dataset puzzle — likely MediaAlpha, never fired server-side. Decide Tuesday.
- The Military.com content pixel CAPI Gateway opportunity — the +23% cost/result lever
- The 28 broken placeholder LALs cleanup — free task
- The page-engagement audiences building — free warm layer
- The four strategic recommendations Mo has been carrying — see Section 11
11. The four strategic recommendations Mo's been carrying separately
These live in Mo's prior files but didn't make the June 2026 plan. Surfaced here per Mo's direction in this audit's scoping.
A. RPL−CPL spread (or ROAS) as the success metric, replacing CPL alone
Case for: Under SAC, traditional CPL levers are blocked. CPL alone doesn't capture the value side of the equation — same CPL with higher accept rate / higher payout per lead is more profitable. Mo's Master Plan calls this "the most important strategic ask."
Case against: Requires Hassan signoff. Introduces complexity into the comp goal-post structure (current goal posts are CPL-based). Has knock-on effects on attribution windows and baseline definition.
Recommendation: Pitch to Hassan AFTER mid-June baseline conversation goes well. Frame as: "You only pay me to grow real net revenue, not just shave CPL." Tie to Mo's Master Plan W5-T1. Probably Week 3 of June, not Week 1.
B. HELOC expansion thesis
Case for: Incremental revenue lane outside the QW funnel. Uses the same audience. Mo's Master Plan W5-T2 identified the opportunity.
Case against: Requires legal/compliance scoping. Opens a whole new operations track during a 90-day pilot. Capacity is finite and June is full.
Recommendation: Surface to Hassan in end-of-June review as a Q3+ idea, not June work. Don't divert June capacity. Mention in pitches; don't build.
C. Thread C (recruitment partnerships)
Case for: $1–3M/yr ceiling per Mo's pitch files. Defensible moat (Military.com owns the audience nobody else has). 10 partners × $100K at 60–80% margin = real revenue.
Case against: Not in the renegotiated pilot scope. Partnership-sales is a separate motion from media buying. Trying to do both during the 90-day pilot is over-scope.
Recommendation: Hold for Stage 2/3 conversation post-pilot. Don't try to launch during June. Mention in master audit for visibility but explicitly out of June scope.
D. Conversion-value-fix as #1 priority (vs the June plan's prioritization)
Case for: It's the root cause. Meta estimates +7% ROAS from the fix. It gates Max Val from ever being efficient. Longest lead time means starting late means landing late.
Case against: Dev-heavy, multi-week. Creative + pacing + home deliver visible wins in Week 1 without dev dependency.
Recommendation: Both can be true. Start the value-fix dev work Tuesday (parallel track, no creative dependency). Ship visible Week 1 wins via creative/pacing/home/cleanup. CAPI/value-fix lands by Week 4 and unlocks Max Val. Reconcilable as parallel tracks, not either/or.
12. Ranked action list (Top 15)
Each item: action, owner, target week, estimated dollar impact.
| # | Action | Owner | Week | $ Impact / Notes |
|---|---|---|---|---|
| 1 | Open Events Manager Diagnostics for dataset 332555186604235 to confirm Purchase value malformation |
Mo | Tue Jun 2 | Gates everything else. No $ impact until validated, but validates the root cause. |
| 2 | Decide Auto Max Val budget: pause OR cap at current spend until value fix lands | Mo + Hassan | W1 | Pause = redirect $341K/30d at 67% CPL premium → BAU at $21.84 = same volume at 32% lower cost = ~$110K/mo savings |
| 3 | Kick off Purchase value-fix dev work (multi-week) | Dev (Anthony's team) | W1 starts, W3-4 lands | Meta estimate: +7% ROAS when live. ~$60K/mo when complete. |
| 4 | Build ad set targeting FB Page Engagers + IG Account Engagers (warm layer doesn't exist today) | Mo + Lauren | W1-W2 | New warm/retargeting lane. Conservative estimate: 5–10% incremental quality leads at lower CPL. |
| 5 | Refresh Custom_Recruiting-Leads_08-05-2025 seed with Lauren's last-180-day sold-leads export |
Mo + Lauren | W1 | Rebuilds 1%/3%/5% LALs on fresh signal. Lifts LAL performance ~5–10%. |
| 6 | Reallocate Auto BAU's $8.5K/day pacing gap to Drive-On + Lower-Your-Auto BAU winners | Mo + Lauren | W1 | $8.5K/day × 30 = $255K/mo additional spend at $21.84 CPL = ~11,700 additional leads/mo |
| 7 | Scale Home spend share from 8% → 20% of total given 39% CPL advantage | Mo + Lauren | W1-W2 | Same total budget shifted to more efficient channel. Conservative: 8–12% net rev lift. |
| 8 | Add Signals Gateway / CAPI for 587241028099131 (Military.com's Pixel) — the content pixel |
Dev | W2-W3 | Mo's audit estimate: +23% cost/result. Largest single technical lever. |
| 9 | Delete the ~28 dead placeholder LALs | Mo | W1 | $0 impact but housekeeping; reduces account-level noise. |
| 10 | Ship 8–10 net-new creative concepts (target Home Inside_Icon variants + Drive-On + spouse-angle test) | Mo + War Room | W1 | Feeds the testing engine; replaces fatiguing Odometer 05/15 |
| 11 | Decide MA Military Insurance dataset (1536649764252698): activate OR archive |
Anthony | W1 | Cleans up dormant integration. |
| 12 | Confirm Lauren on the 2 narrow Custom ad sets (120240808864440498, 120227142278180498) — fix audience source or remove |
Mo + Lauren | W1 | Either repair to functional state or pause. |
| 13 | Test customer-list LAL under SAC for financial products (Mo's W4-T3) — likely confirmed already by live state but verify in-product | Mo | W1 | Validates that the LAL ladder Mo wants to rebuild on fresh seed will actually work. |
| 14 | Pull March + April 2026 daily reports from Lauren for baseline vetting | Mo + Lauren | W1 | Required input for the baseline conversation with Hassan. |
| 15 | Mid-June 1:1 with Hassan — baseline + RPL−CPL metric reframe | Mo | W3, after Week 1 wins | Locks in defensible baseline; opens metric reframe conversation. ~$45–67K to Mo over the pilot. |
13. What's still open (by stakeholder)
Ask Lauren
- Latest customer-match list refresh history
- Audience source size of the 2 narrow Custom ad sets
- Fresh last-180-day sold-leads export
- Current creative production cadence and capacity
- March + April 2026 daily reports
Ask Anthony / Dev
- Form architecture (QW iframe vs redirect vs Iron Corp own page posting to QW API)
- CAPI Gateway plan for the content pixel (
587241028099131) - QW postback integration current state and ownership
- Dev capacity for value-pipe fix
- Confirm MA Military Insurance dataset purpose
Ask Hassan
- Signoff on RPL−CPL metric reframe (timing: after Week 1 wins)
- Willingness to discuss baseline mid-June (target Week 3)
- Openness to HELOC and Thread C as post-pilot extensions (timing: end-of-June review)
- Auto Max Val budget decision (pause vs cap vs keep) pending value-fix timeline
Validation needed (Mo / Events Manager)
- Purchase value parameter malformation status (Events Manager Diagnostics)
- fbc/fbclid value malformation status (Events Manager Diagnostics)
- "Mil FB Customer Match 4.12.21" archive status (Business Settings → Archived audiences)
14. Appendix references
All raw evidence lives in /Users/mo/Desktop/military.com/deliverables/audit_2026-06-04/:
_mo_files_digest.md— synthesis of 20 prior files in/Users/mo/Downloads/military/delta_findings.md— cross-validation of Mo's prior claims against live APIappendix_a_meta_account.md— account, campaigns, ad sets, economicsappendix_b_creatives.md— creative library, top performers, concept familiesappendix_c_dataset_capi.md— datasets, EMQ, event taxonomyappendix_d_audiences_signals.md— audiences, Opportunity Score, anomalies, auction benchmarksappendix_e_competitive.md— competitive ad library scan
The master audit (this document) is the synthesis; appendices are the receipts.
ASSUMPTIONS & OPEN QUESTIONS
GTW explicitly acknowledges the following inferred or unverified items:
-
The Purchase value malformation (98% per Mo) is suspected-confirmed by the universal
purchase_roas: "Not available"state, but the API cannot validate value-parameter validity. Events Manager Diagnostics check Tuesday is the final word. -
The fbc truncation finding (15 ad sets, 27% of CompleteRegistration affected) is similarly suspected-confirmed; API confirms presence (100% coverage), not value validity. Events Manager Diagnostics required.
-
The MA Military Insurance dataset business identity (
business_id: 551525685236215for the workhorse,10153481725199270for MA) — assumed to be the QW/Delty integration entity based on context, but not directly verified. -
SAC restriction on Pixel-seeded retargeting is the most likely explanation for All Site Visitors and Visited Auto LP being at ~20 people, but could also be a cross-business write configuration issue. Confirmation needed from dev team Tuesday.
-
The "Custom_Recruiting-Leads_08-05-2025" → "Mil FB Customer Match 4.12.21" replacement is inferred — possible the older list was archived and not actually replaced. Lauren can confirm.
-
Competitive landscape findings beyond The Military Wallet and Veteran Life Insurance rely on Mo's May 13 teardown (
07_competitive_teardown.md); not independently re-verified this session due to API search limitations. -
The "17.5% CAPI lift" figure from Mo's earlier audit could not be reproduced in the current 7-day window (current uplift is 5–8% per hour). The signal is positive but the exact magnitude was windowed differently.
-
The Auto Max Val budget recommendation (pause vs cap) assumes the value-fix dev work is feasible in 3–4 weeks. If dev capacity is thinner, the budget question becomes "pause now or wait" and the calculus changes.
End of master audit.
Tuesday Meeting Handout (print this)
tuesday_meeting_handout.md
Tuesday Meeting Handout — June 4, 2026
Print this. Walk in with it. Use it.
For the office meeting with Lauren + dev team + (likely) Anthony / Hassan.
90-second opener
"Audit's done. Account is structurally healthy — 99/100 Opportunity Score, EMQ on the lead-gen pixel is 9.1, scaling held through May with no degradation. That's the headline.
Under that headline, three things are leaving real money on the table. The biggest is the Purchase value pipe — Meta can't compute ROAS on this account because the value parameter isn't usable, which means Auto Max Val is paying a 67% CPL premium optimizing against a signal that doesn't exist. That's a $137K-a-month problem and it's the one thing I want us to decide today.
The second is creative concentration — two concept families are 76% of all spend. The fatigue clock on Odometer is days, not weeks. The third is the warm/retargeting layer — under SAC, the website-Pixel-seeded retargeting is essentially nonexistent, and we have a healthy page-engagement audience sitting unused. That's a Week 1 fix.
I have a printed list of every dataset, every campaign, every audience, and three decisions I need from each of you. Let's work through it."
The three findings (in a screen-friendly format)
| # | What | Dollar size | Decision needed |
|---|---|---|---|
| 1 | Broken Purchase value pipe — Meta returns purchase_roas: "Not available" everywhere. Auto Max Val pays 67% CPL premium ($36.44 vs $21.84) against a broken signal. |
~$137K/month premium spend → ~$1.6M/yr locked headroom | Pause Max Val until value pipe is fixed? Cap it? Hassan + Anthony |
| 2 | Two concepts = 76% of spend — Lower-Your-Auto $371K/30d + Odometer $270K/30d. Top single ad (Odometer 05/15) at frequency 3.27, ~14 days from fatigue cliff. | Replacement cost vs fatigue-induced CPL inflation: easily $30-50K/mo | Approve 8-10 net-new creative concepts this week. Mo + Lauren |
| 3 | Retargeting layer doesn't exist — All Site Visitors (180D) and Visited Auto LP (180D) are at ~20 people each (SAC restriction). Page-engagement audiences (FB Engagers 341K, IG Engagers 93K) are healthy but UNUSED. | New warm lane = 5-10% incremental quality leads at lower CPL | Build a new ad set targeting FB Page Engagers + IG Account Engagers. Mo + Lauren |
The Auto Max Val decision (the big one)
Numbers (last 30d):
- Auto Max Val spend: $341,592
- Auto Max Val CPL: $36.44
- Auto BAU CPL: $21.84
- Same audience targeting. Same creative concepts. Only difference: Max Val optimizes for RETURN_ON_AD_SPEND against a broken value signal.
- Premium cost: $14.60/lead × 9,375 leads = $136,912 / 30 days = ~$1.6M/yr
Three options:
| Option | What happens | $ Impact (per month) | Risk |
|---|---|---|---|
| A. Pause Max Val | Stop the $341K/30d Max Val spend. Reallocate to Auto BAU at $21.84 CPL. | Same volume at 32% lower cost = ~$110K/mo savings. | None financially. Some signal loss as Meta retrains on BAU. |
| B. Cap Max Val | Hold Max Val at current daily $7K cap. Don't increase until value fix lands. | Limits bleed but doesn't fix it. ~$0 saved this month. | Lowest risk; preserves campaign in case the value-fix unlocks performance. |
| C. Keep running, fix value pipe in parallel | Status quo. ~3-4 weeks of dev work to fix Purchase value. | $137K/mo premium spend until fix lands = $300-500K total bleed during the fix window. | Most expensive but most preserves optionality. |
My recommendation: B (cap) for Week 1, decide A vs C in Week 2 based on dev confidence in the value-fix timeline.
If dev says "2 weeks": cap and wait (option B → C). If dev says "6+ weeks": pause and reallocate (option B → A). If dev says "not sure": pause and reallocate; we can always relight Max Val later.
Ask Hassan / Anthony Tuesday: which option, and what does dev think the fix timeline actually is?
Diagnostic checklist for Tuesday morning (before the meeting)
Step 1 — Open Meta Events Manager (5 min)
Navigate to: Events Manager → Datasets → "Military Insurance" (ID 332555186604235)
Then click the Diagnostics tab (top nav).
Look for:
- ☐ Any flagged errors on the Purchase event specifically the value parameter
- ☐ Any flagged errors on the fbc parameter (truncation / malformed values)
- ☐ Any other parameter-level errors
If the value parameter is flagged → Mo's "98% malformed" finding is confirmed.
If the fbc parameter is flagged → the truncation finding is confirmed.
Step 2 — Open Audiences view (3 min)
Navigate to: Audiences → Custom Audiences → search "Mil FB Customer Match 4.12.21"
- ☐ Confirm whether the named audience is archived or doesn't exist
- ☐ If it exists archived: note refresh date
- ☐ Compare to
Custom_Recruiting-Leads_08-05-2025to confirm it's the replacement
Step 3 — Check the "60%" compliance question (3 min)
Navigate to: Ads Library → search by page Military.com → keyword "60%"
- ☐ Confirm no active ads run "Save up to 60%" claim (May 13 audit flagged 3 ads with this)
- ☐ If any still active: note Ad IDs (priority sunset)
Step 4 — Quick screen of opportunity score recommendation (2 min)
Navigate to: Ads Manager → Account → Opportunity Score (top-right)
- ☐ Confirm 99/100
- ☐ Read the 1-point recommendation and screenshot it for Hassan
Total time: ~15 minutes before walking into the meeting.
Questions for Lauren
Ask in order:
-
What was the last refresh date of the
Custom_Recruiting-Leads_08-05-2025audience? (Stale 10-month seed = stale 1%/3%/5% LALs. Need fresh export.) -
What's the audience SOURCE size on these two ad sets? -
120240808864440498(Custom — Auto BAU) -120227142278180498(Custom — Home BAU) - Are these the "narrow ~1,000-person Custom audiences" Mo's prior audit flagged? -
Can you send me an export of sold leads from the last 180 days for a fresh customer-match upload? (To rebuild the LAL ladder on current signal.)
-
March + April 2026 daily reports in the same format as May — for baseline vetting with Hassan mid-June.
-
Are the "Save up to 60%" creatives definitively sunset? Mo's May 13 audit flagged 3 ads (
1004559982134492and 2 others). Live audit didn't see them in top spenders but want to confirm zero live. -
What's the current creative production cadence? Can you commit to receiving + reviewing 8-10 net-new concepts per week starting this week?
Questions for Dev (Anthony's team)
Ask in order:
-
Purchase event value parameter — what value is being passed today? Real per-lead payout from QW/Delty, or a flat placeholder?
-
What's a realistic timeline to fix it? Best case / worst case.
-
The Military.com content pixel (
587241028099131) — its server has been silent since March 2023. What's the plan? Adding a Signals Gateway / CAPI here is Mo's audit estimate of +23% cost/result. Multi-week or 24-48 hour work? -
The MA Military Insurance dataset (
1536649764252698) — what is it for? It's never fired server-side. Activate or archive? -
Form architecture — is it a QW-hosted iframe on auto.military.com, a redirect to QW's form, or an Iron Corp own page posting to QW's API? (Determines what's possible for the form migration.)
-
fbc / fbclid handling — any known issue with URL parameter truncation between the ad click and the lead form? (Mo's audit flagged this; Events Manager will confirm.)
Questions for Hassan / Anthony (joint)
-
The Auto Max Val decision — Options A (pause), B (cap), or C (keep + fix in parallel)? See table above.
-
Can dev get the value-pipe fix scoped this week? Need an honest estimate of how many weeks of dev time so the Max Val decision can be made on a real timeline.
-
OK to build a new ad set targeting FB Page Engagers + IG Account Engagers this week? Existing healthy audiences, currently unused. Conservative estimate: 5-10% incremental quality leads at lower CPL.
-
Mid-June 1:1? Want a 30-min slot to walk through the baseline vetting data (March-April-May comparison) and the success-metric reframe (RPL−CPL spread vs CPL-only).
Week 1 action checklist (commit Tuesday)
| Owner | Action | By |
|---|---|---|
| Mo | Events Manager Diagnostics check on Purchase value + fbc parameters | Tuesday AM |
| Mo + Hassan | Decide Auto Max Val: pause / cap / keep | Tuesday |
| Mo | Delete 28 broken placeholder LALs (cleanup) | Wed |
| Mo + Lauren | Build new ad set: FB Page Engagers + IG Account Engagers | Wed-Thu |
| Mo + Lauren | Get fresh 180-day sold-leads export | Wed |
| Mo | Rebuild Custom-list seed + 1%/3%/5% LALs | Thu |
| Mo + War Room | Ship 8-10 net-new creative concepts (Home Inside_Icon + Drive-On + spouse-angle test) | By Fri |
| Mo + Lauren | Reallocate Auto BAU pacing gap (~$8.5K/day) to Drive-On + Lower-Your-Auto BAU | Wed |
| Mo + Lauren | Scale Home spend share from 8% → 15-20% | By Fri |
| Dev | Scope Purchase value-pipe fix; honest timeline | By Wed |
| Dev | Decide MA Military Insurance dataset: activate or archive | By Fri |
| Anthony | Decide on Auto Max Val with Hassan | Tuesday-Wed |
What I'm NOT asking for Tuesday
- No form migration cutover (Phase 3+ work, not in measurement window)
- No baseline negotiation yet (mid-June, after Week 1 wins land)
- No new comp structure or kicker discussion (after baseline)
- No HELOC, Thread C, or strategic expansion conversations (post-pilot)
- No metric reframe conversation with Hassan yet (Week 3 after I've banked wins)
The thing I want to walk out of Tuesday with
- A signed Max Val decision (pause, cap, or keep)
- A dev timeline for the value-pipe fix (best-case + worst-case weeks)
- Lauren's commitment on the sold-leads export + creative review cadence
- A calendar invite for the mid-June 1:1 with Hassan
- Confirmation that dev will pursue the content-pixel CAPI Gateway (the +23% lever)
If I walk out with those five things, Tuesday was a win.
Auto Max Val Decision Deep-Dive
auto_max_val_decision.md
Auto Max Val Decision — Deep Dive
The single biggest decision in this audit. ~$1.6M/yr is on the table.
What "Auto Max Val" is
| Field | Value |
|---|---|
| Campaign | QuoteWizard | MIL | SOCIAL | Insurance | Auto_Insurance | (18-65) SAC - ALC - Max Val | NEW |
| Campaign ID | 120241310920250498 |
| Objective | OUTCOME_SALES (not OUTCOME_LEADS) |
| Bid Strategy | Highest volume |
| Optimization Goal (ad set level) | RETURN_ON_AD_SPEND |
| Daily Budget | $7,000 |
| Start date | March 16, 2026 |
| 30-day spend | $341,592.67 (40.6% of total account spend) |
| Leads generated | 9,375 |
| CPL | $36.44 |
| Reach | 4,087,517 |
| Frequency | 4.80 |
Why it exists (the media buyer's strategy)
The BAU / ALC / Max Val trio is intentional, not accidental:
- BAU (Business As Usual) — optimizes for
OFFSITE_CONVERSIONS, gets the lead at lowest cost. The volume engine. - ALC (Advantage+ Leads Campaign or similar) — Meta's automated optimization, broader reach.
- Max Val (Maximum Value) — optimizes for
RETURN_ON_AD_SPENDagainst the Purchase event. The premise: pay more per lead, but get higher-VALUE leads (better accept rate, higher payout) that more than make up for the CPL premium.
The media buyer's bet: at Max Val, the algorithm should learn to find leads that QuoteWizard will accept and pay premium for. Even at $36.44 CPL, if those leads have a 50% higher accept-rate × payout vs BAU leads at $21.84, Max Val wins.
That's a coherent strategy IF the value signal works.
Why it's broken
Meta returns purchase_roas: "Not available" at every level of the account — campaign, ad set, ad. This is because:
- The Purchase event is firing (good)
- The Purchase event has high EMQ (9.1 — good)
- But the
valueparameter on the Purchase event is either malformed or flat (Mo's audit: "98% of Purchase price data has formatting issues" — needs Events Manager confirmation)
The result: Meta's RETURN_ON_AD_SPEND optimization has no signal to optimize against. It's optimizing against noise. The campaign is structurally paying for premium optimization that isn't happening.
Visualizing the bleed
Auto BAU Auto Max Val
$338,882 spend $341,592 spend
15,587 leads 9,375 leads
$21.84 CPL $36.44 CPL
↑ $14.60 PREMIUM per lead
9,375 leads × $14.60 = $136,912 / 30 days
= $1.64M / year
PAID for an optimization
that isn't happening
The three options, with math
Option A — Pause Max Val, reallocate budget to BAU
Action: Pause Auto Max Val campaign. Move the $7,000/day budget to Auto BAU (currently underspent — $11.3K/day actual vs $19.8K/day cap).
Math: - Auto BAU pacing gap is $8.5K/day undeployed - Pausing Max Val saves $7K/day = $210K/30d - Reallocating $7K/day to BAU at $21.84 CPL = ~320 additional leads/day - Current Max Val produces 9,375 leads/30d = 312 leads/day at $36.44 CPL - Same lead volume, ~40% lower CPL.
Pros: - Immediate savings: ~$110K/mo at same volume (BAU CPL × current Max Val lead count) - Eliminates the "paying for broken optimization" bleed - Frees Auto BAU pacing — actually USES the budget that's been sitting
Cons: - Loses the campaign structure — relighting Max Val later means re-warming the learning phase - Some optionality loss if the value-fix lands quickly and Max Val WOULD have worked
Best if: dev says the value-fix timeline is "6+ weeks" or "unsure"
Option B — Cap Max Val at current $7K/day, fix value pipe in parallel
Action: Don't pause. Don't scale. Lock the daily budget. Start value-pipe dev work in parallel. Revisit in 2 weeks.
Math: - Continues $341K/30d at $36.44 CPL - Continues paying $137K/mo premium during the fix window - If fix lands in Week 2: Week 1 + half of Week 2 of premium spend ≈ $50-70K wasted - If fix lands in Week 3: $100K wasted - If fix lands in Week 4: $137K wasted
Pros: - Preserves campaign learning (no re-warm cost) - Maximum optionality — if value-fix lands fast, Max Val starts working - Lowest risk politically (no "Mo paused our biggest campaign" optics)
Cons: - Bleeds $4.5K/day of premium spend during the fix window - Doesn't actually solve anything — just delays the decision
Best if: dev says the value-fix timeline is "2 weeks" with confidence
Option C — Keep running, fix value pipe in parallel, decide later
Action: Don't change anything. Start dev work. Revisit at the value-fix landing.
Math: - Continues $341K/30d unchanged - Total wasted spend during typical fix window (3-4 weeks): $300-500K
Pros: - Zero operational change required - No risk of disrupting current performance
Cons: - Costs ~$300-500K in premium spend during the fix - "We knew it was bleeding and we did nothing" if Hassan asks why
Best if: never. This option exists only to be rejected unless there's a specific reason to preserve current state.
My recommendation
Cap to $7K/day for Week 1 (Option B), then re-decide Week 2 based on dev confidence:
- If dev says "value-fix lands in 2 weeks with confidence" → stay capped (Option B → C)
- If dev says "value-fix is 6+ weeks or uncertain" → pause + reallocate (Option B → A)
- If dev says "3-4 weeks" → pause + reallocate. Reallocation savings in 3 weeks (~$110K) exceed the optionality value of preserving the campaign structure.
The framing for Hassan:
"I want to cap Auto Max Val at its current spend for Week 1 so we stop the bleed but don't lose the campaign yet. By next Tuesday, dev tells us how long the value-pipe fix takes. If it's two weeks, we hold the cap. If it's a month or more, we pause Max Val and shift that budget to BAU — same lead volume, 40% lower cost. Either way, we're not paying for broken optimization in Q3."
That's an operator framing Hassan can sign off on without a 30-minute conversation.
What to say if Hassan or Anthony push back
"We've been running Max Val for months. It must be working."
Response: "It's running, but Meta returns purchase_roas: Not available everywhere. That's the algorithm telling us the value optimization isn't happening. The CPL premium versus BAU on the same audience is structural — same audience targeting, 67% higher CPL. That's the cost of running ROAS optimization against a broken signal. The campaign isn't delivering on its premise; we just haven't measured it."
"Pausing breaks our delivery."
Response: "Auto BAU has $8.5K/day of unspent budget right now. The reallocation absorbs Max Val's volume at lower CPL. We don't lose delivery — we lose CPL premium."
"Max Val gets us higher-value leads even if Meta can't see it."
Response: "Possible, but unverifiable. The downstream lead quality data (accept rate, payout per lead) isn't visible to us in the Meta-only view. If you have that data, let's look at it — if Max Val leads have a 50%+ higher accept rate that justifies the premium, we keep it. Without that data, we're paying a premium on faith."
"What's the downside of just leaving it?"
Response: "$137K a month of premium spend for at least the 3-4 weeks of the value-fix dev cycle = $400-500K. That's the lower bound. If value-fix takes longer, more. Compared to a campaign pause that costs ~$0 to reverse, the do-nothing option is the most expensive option on the table."
What this audit can't tell us (and what Mo should ask)
The Meta-only view doesn't see downstream lead quality. To make this call with full confidence Mo needs from QW/Delty:
- Accept rate on Max Val leads vs BAU leads (same time period)
- Payout per accepted lead on Max Val vs BAU
- Return rate on Max Val vs BAU
If Max Val accept-rate is materially higher (say 30%+ over BAU), the campaign may be working despite Meta not being able to measure ROAS. In that case Option B (cap) becomes more attractive — preserve the campaign for when the value-fix gives the algorithm what it needs.
If Max Val accept-rate is roughly equal to BAU, the campaign is straight-up overpaying for nothing. Option A (pause) is the clear move.
This is a Tuesday ask of Anthony / Lauren: get me the accept-rate breakdown by campaign for the last 30 days.
Decision tree
Tuesday Tuesday Tuesday:
│
[Dev value-fix timeline?]
│
┌───────────┼───────────┐
│ │ │
2 weeks 3-4 weeks 6+ weeks
│ │ │
▼ ▼ ▼
Cap (B) Pause (A) Pause (A)
Stay B Reallocate Reallocate
until to BAU to BAU
fix lands immediately immediately
│
▼
Fix lands?
│
┌─────┼─────┐
│ │ │
Yes No Late
│ │ │
▼ ▼ ▼
Scale Pause Pause
Max Max Max
Val Val Val
If I get one thing from Tuesday on this topic
An honest dev timeline. Best case + worst case in weeks.
With that number, the Max Val decision makes itself. Without it, we're guessing.
Events Manager Diagnostics Walkthrough
events_manager_walkthrough.md
Events Manager Diagnostics Walkthrough
Tuesday morning, 15 minutes before the meeting. This is the doc you follow click-by-click.
The whole audit's biggest finding — the Purchase value pipe being broken — was validated indirectly via the Marketing API (Meta returns purchase_roas: "Not available" everywhere). The direct evidence lives only in Events Manager Diagnostics. This walkthrough gets you to it.
Why this matters
The API confirms:
- ✅ Purchase events fire (~755/day)
- ✅ EMQ on Purchase is excellent (9.1)
- ✅ fbc parameter has 87% coverage on Purchase, 100% on CompleteRegistration
- ❌ But purchase_roas: "Not available" everywhere
That last point means something in the value pipe is broken. The API tells us "value optimization isn't working" but not why. Events Manager Diagnostics tells us why — specifically, whether the value parameter being sent is malformed (Mo's "98% of price data" claim).
If you confirm value malformation Tuesday morning: - The root cause is locked in - The Auto Max Val decision becomes data-supported, not inference-supported - The Tuesday dev conversation becomes "fix this specific thing" not "investigate this hypothesis"
Step-by-step
Open Events Manager
- Go to
business.facebook.com - Sign in with the Iron Corp / Military.com BM access
- In the left sidebar, click Events Manager
If you have multiple BMs visible, select the one containing the LG Military Ads account (1034037341617540). The associated business ID for the lead-gen dataset is 551525685236215 — that may be a separate BM you need to switch to.
Navigate to the lead-gen dataset
- In Events Manager, the left sidebar shows a list of Datasets / Pixels
- Click on
Military Insurance(ID332555186604235) - NotMilitary.com's Pixel(that's the content pixel) - NotMA Military Insurance(that's the dormant MediaAlpha one)
You should see the dataset overview page. Top of the page shows: event activity graph, today's volume, etc.
Open the Diagnostics tab
Top navigation of the dataset page shows tabs: Overview | Test Events | Diagnostics | Settings | History
Click Diagnostics.
This tab surfaces parameter-validation errors that the Marketing API doesn't expose.
What to look for (in priority order)
Priority 1: Purchase event value parameter
In the Diagnostics tab, look for an entry that says one of:
- "Purchase event has formatting issues with the value parameter"
- "Purchase event value parameter is missing or invalid"
- "Recommend updating Purchase event value field to match expected format"
- Or similar — Meta phrases vary
If you see one of these, click it to expand:
- It will show how many events are affected (Mo's audit cited 98% — verify this)
- It will show what the value parameter currently looks like (probably $0, $1, or a non-numeric string)
- It will show what the recommended format is (numeric, typically decimal like 27.50)
Screenshot this for the master record. This is the single most important screenshot from Tuesday.
Priority 2: fbc / fbclid parameter
In the same Diagnostics view, look for an entry referencing fbc (Facebook Click ID) with words like:
- "Truncated"
- "Invalid format"
- "Missing characters"
If you see this, click to expand:
- Note how many ad sets / events are affected (Mo's audit cited 15 ad sets / $67,174 / 27% of CompleteRegistration)
- Note the example fbc value Meta shows (it'll be a string starting with fb.1. — should have 3+ dots; truncated = fewer)
Priority 3: Anything else flagged
Scroll the full Diagnostics view. Things to also note: - Any CompleteRegistration parameter warnings - Any dedup warnings (browser + server fire same event with mismatched dedup keys) - Any PII format warnings (hashed values not in lowercase, etc.) - Any upload frequency warnings (events arriving too late)
Most of these will be clean given the EMQ scores are strong, but anything flagged is worth a screenshot for the dev conversation.
What "good" looks like (so you know if Mo's prior claim was wrong)
If the Purchase value parameter is NOT flagged in Diagnostics, then:
- Mo's "98% of Purchase price data is malformed" finding has been resolved since the prior audit, OR
- The diagnostic surfaces it differently in 2026 than it did when Mo first found it, OR
- The issue is real but Meta's Diagnostics tab doesn't catch it (rare but possible)
In that case, the next check is:
1. Click into the value parameter detail under the Purchase event (in the Overview tab → Event Details)
2. Look at the distribution of values Meta has received
3. If 98%+ of values are the same number (e.g., everything is $1, $27.50, or $0), that's the flat-value problem even if Meta doesn't flag it
4. Real lead-payout data would show a distribution: $15 here, $32 there, $47 there, etc.
A flat distribution = broken value pipe regardless of whether the Diagnostics tab flags it.
What to do with what you find
If value malformation is confirmed:
Walk into the meeting with the screenshot. Say:
"Confirmed this morning — Purchase events fire fine, but the value parameter is malformed in 98% of cases. Meta's flagging it in Diagnostics. This is why ROAS isn't available, this is why Max Val is paying a 67% CPL premium for nothing. Here's the screenshot. Dev — what's the fix and how long?"
If fbc truncation is confirmed:
Same approach, second priority. Say:
"Second thing — fbc parameter is truncated on N ad sets representing M% of CompleteRegistration events. That's the click-ID Meta needs to attribute leads back to specific ads. Less urgent than value but real. Dev — likely a URL parameter handling bug. Worth scoping with the value fix?"
If both are confirmed and value malformation is severe:
The whole pitch is: the Auto Max Val decision becomes urgent, not speculative. Lean toward Option A (pause) unless dev commits to a 2-week value-fix.
If neither is flagged (Mo's prior audit overstated):
Don't pretend. Update the master_audit.md's Section 4 to mark the finding as "claimed but not reproducible in current Diagnostics — dev should still investigate root cause of ROAS unavailability."
Adjacent thing to check while you're in there
In the Datasets list, click on Military.com's Pixel (ID 587241028099131) and check:
- Last server fired: should show "Never" or a date in March 2023 (per Mo's audit)
- CAPI status: should show "Not set up" or similar
This confirms the +23% cost/result lever (adding CAPI Gateway to the content pixel). Screenshot the "no CAPI" state — it's the artifact you walk into the dev conversation with for that ask.
Total time
- Open Events Manager: 1 min
- Navigate to dataset Diagnostics: 1 min
- Read + screenshot the Purchase value finding: 3-5 min
- Read + screenshot the fbc finding: 2-3 min
- Check Military.com's Pixel CAPI state: 2 min
- Buffer for slowness: 2-3 min
Realistic total: 12-15 minutes. Do this before the 9 AM meeting and you walk in with screenshots that anchor the whole conversation.
What to NOT click on
The Diagnostics tab has a "Resolve" / "Apply Recommendation" button for some issues. Do NOT click anything that says "Fix" or "Apply" without dev review. Meta's auto-fixes for parameter issues sometimes restructure the event schema in ways that break downstream integrations (especially with QW/Delty postbacks). Read-only Tuesday. Decisions get made in the meeting, not in the dashboard.
Page-Engagement Audience Build Spec
page_engagement_audience_build.md
Page-Engagement Audience Build — Spec
The free warm-layer lever. Build it Week 1.
Why this exists
Under Special Ad Category (Financial Products), Meta restricts Pixel-seeded website retargeting audiences. The live audit confirms it: All Site Visitors (180D) and Visited Auto LP (180D) are sized at ~20 people each — effectively empty.
But the page-engagement audiences (on-Meta surfaces: FB Page, IG Account) ARE allowed under SAC. And the LG Military Ads account already has them, sized healthy, sitting unused.
| Audience | Size | Type | Status |
|---|---|---|---|
| FB Mil.com Page Likers/Followers | 999,100 – 1,200,000 | PLATFORM | ACTIVE but UNUSED as targeting |
| FB Mil.com Page Engagers (365D) | 341,000 – 401,100 | PLATFORM | ACTIVE but UNUSED as targeting |
| IG Mil.com Followers | 30,000 – 35,300 | PLATFORM | ACTIVE but UNUSED as targeting |
| IG Mil.com Account Engagers (365D) | 93,600 – 110,100 | PLATFORM | ACTIVE but UNUSED as targeting |
Combined unique reach (estimated): ~1.0–1.3M people who have engaged with Military.com's FB or IG presence in the last 365 days. Currently targeted by zero ad sets.
This is the closest thing to a "warm audience" the account has under SAC. Building one ad set against it = real warm-layer presence in Week 1.
The build spec
Campaign placement
Add the new ad set to Auto SAC BAU (120240808864310498) — the existing OUTCOME_LEADS campaign with the highest budget cap ($19,800/day) and current pacing gap ($8.5K/day unused). The new ad set fits into the existing pacing headroom.
Do NOT create a new campaign — that triggers a fresh learning phase. Pile into an existing campaign that's already past learning.
Do NOT add to Max Val — until value pipe is fixed, Max Val is wasted spend.
Ad set definition
| Field | Value |
|---|---|
| Ad Set Name | Auto BAU - Page+IG Engagement (Warm) |
| Campaign | Auto SAC BAU (NEW) (120240808864310498) |
| Optimization Goal | OFFSITE_CONVERSIONS (matches existing BAU ad sets) |
| Bid Strategy | Inherit from campaign (Cost per result goal) |
| Daily Budget | $1,500/day initially (~7.5% of campaign cap) — scale to $3K if performance holds at <$25 CPL |
| Audience — Include | UNION of: FB Mil.com Page Likers/Followers + FB Mil.com Page Engagers (365D) + IG Mil.com Account Engagers (365D) + IG Mil.com Followers |
| Audience — Exclude | Custom_Recruiting-Leads_08-05-2025 (suppress existing leads — once Mo refreshes seed, swap to refreshed audience) |
| Geo | US (SAC restricts to country only under Financial Products) |
| Demographics | All (SAC blocks age/gender refinement) |
| Placements | Manual: Facebook Feed, Instagram Feed, Facebook Reels, Instagram Reels, Stories (FB + IG) |
| Creative | See below |
Creative attached
Start with the proven winners — DON'T test brand-new creative on a brand-new audience:
| Creative | Format | Why |
|---|---|---|
Lower-Your-Auto-Insurance_Static_NM_Animation_Swipe_04/28/26 |
Static | Workhorse winner at $20-23 CPL on BAU |
Drive-On_Static_NM_Animation_Swipe_05/30/26 |
Static | Best new CPL ($18.43) on BAU Custom |
| Optional: 1 Home variant if Mo wants to test cross-vertical | Static | Some page-engagers may convert better on Home — A/B test |
Two creatives is enough. The audience is warm; don't dilute signal.
What NOT to do
- ❌ Don't add TYFYS — Meta auction-ranking flagged it as "Below Average engagement" — fine for niche BAU but burns the warm audience's attention
- ❌ Don't add Odometer 05/15 — already fatiguing on the cold audience; pushing on warm wastes precious frequency
- ❌ Don't add Veteran-VO — correctly de-prioritized; don't relight on the warm audience
- ❌ Don't add ANY Max Val creative variant — the BAU campaign is OUTCOME_LEADS; Max Val creatives may behave differently here
Expected performance
Conservative assumption: warm audience converts at 20-30% lower CPL than cold (industry norm for engagement-seeded retargeting under SAC).
- Cold Auto BAU CPL: ~$22
- Warm (page-engagement) projected: $15-17 CPL
- At $1,500/day budget = ~90-100 additional leads/day
- 30-day incremental: ~2,700-3,000 leads at ~$45K spend
Comparison to current Max Val: the Max Val campaign produces 9,375 leads/30d at $341K spend = 312 leads/day at $36.44 CPL. The new warm ad set could produce 30% of Max Val's volume at less than 50% of Max Val's CPL.
Even if the warm-CPL assumption is wrong by 50% (CPL ends up at $22-25 instead of $15-17), the warm audience still delivers comparable volume to interest-targeting at break-even cost. Worth the test.
Suppression mechanics (critical for SAC)
Under Financial Products SAC, the standard exclusion levers (don't target age/gender/specific geos) are blocked. The legitimate suppression options are:
- Customer-list exclusion — upload sold-leads, exclude them from prospecting
- Lookalike-list-based exclusion — less precise but uses similar mechanism
- ❌ Pixel-seeded suppression — blocked under SAC (same reason All Site Visitors is empty)
For the new ad set:
- Include: the 4 page-engagement audiences (union)
- Exclude: Custom_Recruiting-Leads_08-05-2025 (existing customer-list seed)
Once Mo refreshes the customer-list seed with Lauren's last-180-day sold-leads export, swap the exclusion to the refreshed audience. This prevents the warm ad set from re-targeting people who already converted.
What this requires
| Item | Owner | When |
|---|---|---|
| Confirm with Lauren that the 4 audiences are healthy and ready to target | Mo + Lauren | Tuesday |
| Confirm with Anthony / dev that SAC permits page-engagement as targeting (likely yes — they're on-Meta surfaces, not Pixel-seeded) | Mo + Anthony | Tuesday |
| Build the ad set in Ads Manager | Mo + Lauren | Wednesday |
| Attach creatives | Mo | Wednesday |
| Set daily budget to $1,500 | Mo + Lauren | Wednesday |
| Activate ad set | Mo | Wednesday EOD |
| Monitor first 72 hours for CPL trajectory + frequency | Mo | Daily through Sunday |
| Decision: scale to $3K/day or hold at $1.5K | Mo + Lauren | Following Monday |
Decision rule for scaling
After 72 hours:
| If observed CPL is... | Action |
|---|---|
| < $20 | Scale to $3K/day. Add a 3rd creative for variant testing. |
| $20-$28 | Hold at $1.5K/day. Tweak creative if CTR is low. |
| $28-$36 | Compare to cold BAU CPL. If equal or worse, don't scale. Investigate why warm isn't outperforming. |
| > $36 | Pause. Either the audience definition is off OR Meta is filtering / capping delivery in a way the audience-size estimate didn't predict. Re-check audience health. |
Why this is a free lever
- Zero new audience build cost — audiences already exist in the account, just unused
- Zero creative production cost — uses existing proven creative
- Marginal media cost — $1.5K/day is rounding error against the $28K/day account spend
- SAC-compliant — uses on-Meta engagement audiences, no Pixel retargeting
- Doesn't compete with existing ad sets for the same audience — the cold BAU ad sets target interest groups; this targets engaged users
- Doesn't trigger new learning phase — drops into an existing post-learning campaign
If it works: warm-layer signal Meta has been missing. Best case: scale to $3K-5K/day at $15-20 CPL = $50-100K/mo incremental at materially better CPL than cold.
If it doesn't work: pause it. Cost of trying: a few hundred dollars in media spend + 30 minutes of build time.
The asymmetry is huge. This is the kind of move that should ship Tuesday.
What to NOT do (the audience traps)
- ❌ Don't combine with Max Val — Max Val's broken value signal applies to any ad set inside the Max Val campaign. Engagement audience + broken value pipe = no benefit.
- ❌ Don't combine into the existing "Broad" ad set — that destroys the ability to measure warm-vs-cold separately. New ad set, clean comparison.
- ❌ Don't test more than 2-3 creatives initially — small audience (~1M reach max), don't burn frequency
- ❌ Don't add hour-of-day or day-of-week pacing in Week 1 — Meta needs continuous delivery to learn; constrain it later if needed
- ❌ Don't expect immediate results — Meta needs 50+ conversion events on the new ad set to optimize properly. At ~90 leads/day projected, that's ~12 hours of delivery. Don't kill the ad set in the first 24 hours.
What to say if Lauren pushes back
"We already have Broad and Custom ad sets targeting similar audiences."
Response: "Broad is cold prospecting; Custom is a different audience source. Neither targets people who have actively engaged with the Military.com FB or IG presence in the last year. That's a distinct warm signal Meta has but isn't being used. The ad set runs alongside, not in place of, what's working."
"What about audience overlap with the Custom_Recruiting-Leads LAL?"
Response: "Some overlap is fine — both are warmer-than-cold. Lookalikes target similar PEOPLE based on the seed; engagement targets people who have engaged with OUR specific brand. Conceptually distinct. We'll watch overlap reports in Week 2 and tighten exclusions if delivery overlaps materially."
"Why $1,500/day and not $500?"
Response: "Under $1,000/day Meta has a hard time exiting the learning phase. At $1,500 we give the algorithm enough events to optimize within 3-4 days. If CPL is bad, we throttle down — we don't bleed at $1,500/day."
What to say if Hassan asks
"There's an audience in the account that's been sitting unused — about a million people who follow Military.com's Facebook page or have engaged with our Instagram in the last year. Under the financial-products ad-category restrictions, we can't do website retargeting, but we CAN target on-Meta engagement. It's a warm layer we don't have today. I'm building one ad set at $1,500 a day this week to test it. Doesn't add to spend — fits into the BAU pacing gap. Expected CPL is 20-30% lower than cold. If it works, scale; if not, we paused nothing."
That's the pitch for a $1,500/day audience test that could be the most efficient lane in the account.
Delta: Prior Claims vs Live API
delta_findings.md
Delta Findings — Mo's Prior Claims vs Live Meta API
Cross-validation pass, June 4, 2026.
Method: each of Mo's specific numerical claims from LG_Military_DEFINITIVE_AUDIT.md, LG_Military_Master_Audit_TaskList_Learnings.pdf, and the conversion-verified files (v2/v3) tested against the live API pull this session.
Summary verdict
Mo's audit work is materially accurate. Of 18 specific numerical claims tested, 15 match within 5% tolerance, 2 require manual Events Manager confirmation (the API doesn't expose the relevant signal), and 1 is materially better than Mo claimed (concept-level spend is larger than the single-ad spend Mo cited).
No critical claims were refuted. The reliability framework (R1/R2/R3 tags) in DEFINITIVE_AUDIT can be carried forward as-is. The Track 1 / Track 2 framework is fully validated.
Detailed deltas
Account-level
| Mo's claim | Live value | Delta | Verdict |
|---|---|---|---|
| Spend $842K /30d (v2) | $841,425.95 | -0.07% | ✅ MATCH |
| Spend $841,952.78 /30d (v1) | $841,425.95 | -0.06% | ✅ MATCH (data window difference) |
| Account frequency 6.45 (v1) | 6.38 | -1.1% | ✅ MATCH |
| Account frequency 6.85 (May peak) | 6.38 (current 30d incl. June dilution) | — | ✅ CONSISTENT (May peak was 6.85; current 30d window pulls average down) |
| Meta cannot compute Purchase ROAS (the broken-value-pipe finding) | purchase_roas: "Not available" at every level (account, campaign, ad set, ad) |
— | ✅ CONFIRMED. Single most important finding. |
| 4.5x April→May scale-up with no ROAS degradation | Can't validate exact 4.5x without April data, but current account state shows healthy delivery at sustained scale | — | ⚠️ Directionally consistent (account is healthy); exact multiplier needs April CSV |
Campaign-level
| Mo's claim | Live value | Delta | Verdict |
|---|---|---|---|
| Max Val CPL $36.24 | $36.44 (Auto Max Val) | +0.55% | ✅ MATCH |
| BAU CPL $21.91 | $21.84 (Auto BAU) | -0.32% | ✅ MATCH |
| Max Val pays ~65% premium over BAU | $36.44 / $21.84 - 1 = 66.9% premium | +1.9pp | ✅ MATCH |
| Auto BAU pacing gap: $19,800 budget vs $11,400 actual | $19,800 daily budget; $338,882/30d = $11,296/day = 57% utilization | <1% | ✅ EXACT MATCH |
| Three-campaign trio (BAU/ALC/MaxVal) intentional, not cannibalization | Auction-ranking endpoint surfaced no overlap warnings | — | ✅ CONFIRMED |
| Home is materially cheaper than Auto | Home blended $16.34 CPL vs Auto $26.77 — Home is 39% cheaper | — | ✅ CONFIRMED (and even larger gap than Mo emphasized) |
Ad-level
| Mo's claim | Live value | Delta | Verdict |
|---|---|---|---|
| Odometer_05/15 CPL $34.63 (DEFINITIVE) | Auto Max Val: $38.85 | +12% | ⚠️ Mo's DEFINITIVE is undercounted vs current window. v2's "$38.92" is closer. Most likely a data-window difference (DEFINITIVE may include earlier days when CPL was lower). |
| Odometer_05/15 CPL $38.92 (v2) | $38.85 | -0.18% | ✅ MATCH |
| Odometer_05/15 spend ~$178K (v2 single-ad) | $180,727 single-ad | +1.5% | ✅ MATCH |
| Odometer_05/15 spend $222K (v3 across all campaigns) | $270,660 if you sum Odometer concept across all variants (05/15 + 05/22 + Moving-Odometer 06/03) | +22% | ⚠️ The Odometer concept family is even larger than Mo cited. v3's $222K covered fewer variants than what's currently live (more 05/22 variants exist). |
| Lower-Your-Auto_04/28 ~$22 CPL on BAU | BAU avg across variants: $20.39–$23.89 (mean ~$22) | <1% | ✅ MATCH |
| Lower-Your-Auto_04/28 1.45 ROAS (v3) | Cannot validate live ROAS (broken pipe). Currently the workhorse winner across BAU at ~$22 CPL | — | ⚠️ ROAS unverifiable via API; CPL is consistent with v3's positive ROAS finding |
| Veteran-VO 0.90 ROAS, loses money (v3 inversion) | One active variant in Auto Max Val at $34.78 CPL on $2,052 30d. Most variants paused. Veterans-Save sibling at $29–$67 CPL | — | ✅ CONFIRMED via deprioritization. Mo's audit fix is already in place — the bad creative is essentially turned off. |
| Drive-On_05/30 $18.48 CPL — best auto CPL | BAU Custom: $18.43 | -0.27% | ✅ MATCH |
| TYFYS_03/24 underperforms on Max Val (v3) | Max Val: $36.54 CPL. BAU: $21.73 CPL | — | ✅ CONFIRMED. Also: Meta auction-ranking endpoint surfaced TYFYS_03/09 as "Below Average engagement, Above Average conversion" — confirms it converts within a niche but won't scale |
Dataset / CAPI
| Mo's claim | Live value | Delta | Verdict |
|---|---|---|---|
| CompleteRegistration EMQ 8.3 | 8.3 | EXACT | ✅ EXACT MATCH |
| 98% of Purchase price data malformed | API cannot validate (this signal lives in Events Manager Diagnostics UI, not in dataset_quality endpoint). However, purchase_roas: "Not available" at every level CONSISTENT with broken value. |
— | ⚠️ Requires manual Events Manager check Tuesday. Directionally confirmed by ROAS unavailability. |
| fbc/fbclid truncation 15 ad sets, $67,174 spend, 27% of CompleteRegistration | API: fbc coverage 100% on CompleteRegistration, 87% on Purchase. Truncation (value malformation) ≠ coverage (presence) — the truncation question requires Events Manager Diagnostics check. | — | ⚠️ Requires manual check. Coverage is high; malformation question is separate. |
| CAPI reported 17.5% more Purchase conversions (last 7d) | Current 7d server vs browser uplift: 3–8% per hour. Not refuted, but the 17.5% number may have been from a different window/methodology | -10–14pp | ⚠️ Window difference; CAPI lift is positive but smaller in current window than Mo's earlier finding |
Dataset C content pixel CAPI Gateway 0% set up (587241028099131 "Military.com's Pixel") |
Browser fires today; server last fired March 2023 (3+ years silent) | EXACT | ✅ CONFIRMED. This is the +23% cost/result lever Mo identified. |
| FunnelFlux offline conversion upload fires every ~15 min | Not surfaced by API; would require dev confirmation | — | ⏳ Verify Tuesday with dev |
Audiences
| Mo's claim | Live value | Delta | Verdict |
|---|---|---|---|
| Opportunity Score 99/100 | 99/100, 1-point recommendation outstanding | EXACT | ✅ EXACT MATCH |
| ~30 dead placeholder lookalikes to delete | ~28 INACTIVE lookalikes all sized at 1,000 | -6% (close to 30) | ✅ MATCH |
| "Mil FB Customer Match 4.12.21" last refreshed May 2025 (13+ months ago) | This specific name is NOT in the current inventory. The active customer-match list is "Custom_Recruiting-Leads_08-05-2025" — 10 months old, 39,200-46,100 size | — | ⚠️ The "4.12.21" list may have been archived/replaced. Current active list is also stale (10 months) but with a different name. Same underlying issue (stale customer-match seed). |
2 narrow Custom ad sets ~1,000 audience (IDs 120240808864440498, 120227142278180498) |
Live: those ad set IDs exist but reach 716K and 52K respectively (delivery is wider than the seed audience because Meta expands). The "1,000-person audience" finding referred to the underlying CUSTOM audience source size, not the ad set's targeting reach. | — | ⚠️ Different metric. Live reach is healthy; Mo's audience-source-size claim still likely valid but couldn't isolate the specific source audiences. |
| NEW (this audit): All Site Visitors (180D) and Visited Auto LP (180D) are at ~20 people each | CONFIRMED — both PLATFORM audiences sized at ~20 | — | 🆕 NEW FINDING — even more severe than Mo's "narrow Custom ad set" framing. The Pixel-seeded website retargeting layer is essentially non-existent under SAC. |
| 2 narrow Custom ad sets flagged by Meta anomaly detector | Anomaly Signal endpoint: "No anomaly signal data available" | — | ✅ Anomalies have cleared OR the API doesn't expose ad-set anomalies. Net: not a current issue. |
| Engaged audience is empty (Mo's 30-day plan B1) | FB Mil.com Page Engagers (341–401K), IG Engagers (93–110K) EXIST as audiences but appear NOT to be targeted in any active ad set | — | ⚠️ The audiences exist; the targeting use does not. Building an ad set against these = real warm layer. |
What needs manual Tuesday verification
The API confirmed the dollar-impact findings but cannot validate signal-quality validation issues. Items below require Mo to open Meta Events Manager (not the Marketing API):
- Purchase value malformation (98%): Events Manager → Dataset
332555186604235→ Diagnostics tab → check "value" parameter validation status - fbc truncation: Same Diagnostics view, check fbc parameter validation
- The "Mil FB Customer Match 4.12.21" list status: Check Business Settings → Audiences for any archived audience by that name; confirm whether it was replaced by Custom_Recruiting-Leads_08-05-2025 or is a separate stale entity
- The narrow Custom ad set audience source sizes: In Ads Manager, click into the ad set targeting → view audience definition to see the actual source audience size (Reach is wider; Source is what Mo flagged as ~1,000)
What the live API revealed that Mo's audit did not surface
| New finding | Detail | Impact |
|---|---|---|
| All Site Visitors and Visited Auto LP audiences are effectively empty (~20 people each) | The Pixel-seeded website retargeting layer is essentially non-existent under SAC | Confirms there's NO website-retargeting lane; only customer-list LALs + page-engagement audiences are usable |
| The page-engagement audiences exist but are not being used as ad-set targeting | FB Page Engagers 341–401K, IG Engagers 93–110K healthy but inactive | Building ad sets against these = real warm layer the account currently lacks. Maps to Mo's B1 task. |
| The Custom_Recruiting-Leads seed is 10 months old, not 13 | Still stale but slightly less stale than Mo's "May 2025 refresh" finding | Refresh is still the right move; the deadline pressure is the same |
| MA Military Insurance dataset (likely MediaAlpha) has never fired server-side | Created Dec 2025; browser fires; server: never | Either activate or archive; consistent with Anthony's "ignore MediaAlpha" direction |
| TYFYS auction-ranking diagnostic: "Below Average engagement, Above Average conversion" | Direct from Meta — confirms it converts in a niche but won't scale broadly | Validates v3 audit conclusion to keep TYFYS in BAU only |
| Direct competitor "The Military Wallet" is active with "Did You Serve? You Might Save »" hook | New competitive signal | The Military Wallet is running the identity-led hook Military.com walked away from. Worth watching. |
| Total spend on the "Lower-Your-Auto" creative concept across all campaigns: $370K/30d | The workhorse is even bigger than the single-ad numbers Mo cited | Concept-family thinking matters; Mo's per-ad spend counts undercount the concept's true dominance. |
| Total spend on the "Odometer" concept (incl. 05/22 + Moving-Odometer 06/03): $270K/30d | The high-CPL concept is also bigger than Mo cited | Reallocation lever is even larger than v3 suggested |
Net take
Mo's audit framework is sound and the major findings reproduce against live data. The audit can be carried forward with confidence. The few deltas surface:
- Concept-family thinking beats single-ad accounting (Odometer is 50% bigger than DEFINITIVE counted; Lower-Your-Auto is the dominant single concept at $370K/30d)
- The Pixel-seeded retargeting layer is broken even worse than Mo flagged — All Site Visitors and Visited Auto LP at ~20 people each
- The page-engagement audiences are unused — building an ad set against them is a free lever
- The MediaAlpha dataset puzzle — likely intentionally dormant per Anthony's framing
Appendix A — Meta Account Structure
appendix_a_meta_account.md
Appendix A — Meta Account Structure
Live API pull, June 4, 2026. Data window: May 5 – June 3, 2026 (last 30d).
Account identity
| Field | Value |
|---|---|
| Ad Account ID | 1034037341617540 |
| Account Name | LG Military Ads |
| Business | Military.com (10153481725199270) |
| Currency | USD |
| Status | ACTIVE |
| Queryable | Yes |
Note: A second account (44665674 — "Military.com Ads") exists under the same business but only spent $4,990 last 30d (likely brand/content boost). The lead-gen audit target is unambiguously 1034037341617540.
Account totals (last 30d)
| Metric | Value | Mo's prior claim | Delta |
|---|---|---|---|
| Spend | $841,425.95 | $842K (v2), $841,952.78 (v1) | matches within 0.07% |
| Impressions | 38,557,408 | — | — |
| Clicks | 443,130 | — | — |
| Reach | 6,039,757 | — | — |
| Frequency | 6.38 | 6.45 (v1), 6.85 (May peak) | matches; frequency has stayed elevated |
| CTR | 1.15% | — | — |
| CPC | $1.90 | — | — |
| CPM | $21.82 | — | — |
| Purchase ROAS (Meta-reported) | "Not available" | "Meta captures ~half of real revenue" | CONFIRMED — Meta can't compute ROAS because the Purchase value signal is broken (the root-cause issue) |
Campaigns (6 active, sorted by spend)
| # | Campaign | ID | Objective | Bid Strategy | Daily Budget | 30d Spend | Leads | CPL | Notes |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Auto SAC ALC Max Val (NEW) | 120241310920250498 |
OUTCOME_SALES | Highest volume | $7,000 | $341,592.67 | 9,375 | $36.44 | Started Mar 16. 66.9% premium over BAU (Mo said 65%) |
| 2 | Auto SAC BAU (NEW) | 120240808864310498 |
OUTCOME_LEADS | Cost per result goal | $19,800 | $338,882.19 | 15,587 | $21.84 | Started Mar 3. Pacing $338.9K/30d ÷ $19.8K/day cap = ~$11.3K/day actual = 57% utilization → MATCHES Mo's "$19.8K budget vs $11.4K actual" finding exactly |
| 3 | Auto SAC ALC (NEW) | 120240808866140498 |
OUTCOME_LEADS | Cost per result goal | $8,500 | $80,960.38 | 3,491 | $23.19 | Started Mar 3 |
| 4 | Home SAC ALC | 120238737024600498 |
OUTCOME_LEADS | Cost per result goal | $4,000 | $37,553.24 | 2,573 | $14.60 | Started Jan 12. Lowest CPL of any Auto/Home ALC — Home is materially cheaper |
| 5 | Home SAC ALC Max Val (NEW) | 120241432784690498 |
OUTCOME_SALES | Highest volume | $1,600 | $29,268.19 | 1,363 | $21.47 | Started Mar 18 |
| 6 | Home SAC BAU | 120227142278050498 |
OUTCOME_LEADS | Cost per result goal | $2,000 | $13,169.28 | 959 | $13.73 | Started Jun 16, 2025 — the longest-running campaign in the account, cheapest CPL |
Structural observations:
- All campaigns are tagged SAC in their names → Special Ad Category (Financial Products) is on. Confirms Mo's Integrated Audit finding. Locks out: age targeting, geo targeting <15mi, lookalikes (subject to in-product test), exclusion audiences in standard form.
- Three-campaign trio per product: BAU / ALC / Max Val (Mo's "intentional trio" framing). Auto and Home each have all three; Home BAU started June 2025, Auto BAU and ALC started March 2026.
- Auto Max Val campaign optimizes for
RETURN_ON_AD_SPENDagainst a broken Purchase value signal (98% malformed per Mo's audit). Paying $36.44 CPL = $14.60 premium per lead chasing a signal that doesn't compute. Largest single inefficiency in the account. At 9,375 leads × $14.60 premium = ~$136.9K/30d of premium spend with no value visibility = ~$1.6M/yr at current pace. - Auto BAU pacing gap is real and large: $19,800 cap, ~$11,296 actual = ~$8,500/day of unused budget. If filled at current $21.84 CPL → ~390 additional leads/day → ~$200K/30d incremental net revenue at $25-ish RPL gross.
Ad sets (13 active, sorted by spend)
| Ad Set | Campaign Type | Spend | Reach | Freq | CTR | CPL | Notes |
|---|---|---|---|---|---|---|---|
| Broad (Auto Max Val) | Auto Max Val | $341,592.67 | 4.09M | 4.80 | 0.73% | $36.44 | Optimizes for RETURN_ON_AD_SPEND |
| Broad (Auto BAU) | Auto BAU | $117,789.71 | 1.79M | 2.44 | 1.44% | $22.10 | |
| Digital Marketing & Tech (Auto BAU) | Auto BAU | $77,645.37 | 1.45M | 2.15 | 1.46% | $20.74 | Best CPL of all Auto BAU interest sets |
| Young Real Estate & Career (Auto BAU) | Auto BAU | $61,082.39 | 1.25M | 2.13 | 1.51% | $22.72 | |
| Broad 2.0 (Auto ALC) | Auto ALC | $50,388.12 | 1.17M | 2.36 | 0.89% | $23.38 | |
| Custom (Auto BAU) | Auto BAU | $48,084.24 | 715,735 | 2.49 | 1.52% | $21.42 | Reach is 716K, NOT a "1,000-person audience" (delivery is fine — Mo's "narrow Custom ad set" claim may refer to underlying custom-audience size, not reach; verify in Phase 1D) |
| Broad (Home ALC) | Home ALC | $37,553.24 | 202,793 | 3.23 | 2.60% | $14.60 | Highest CTR + best Home CPL |
| Vehicle Insurance (Auto BAU) | Auto BAU | $34,280.48 | 920,461 | 1.60 | 1.49% | $22.64 | |
| Broad (Auto ALC) | Auto ALC | $30,572.26 | 400,961 | 2.34 | 4.59% | $22.88 | Anomaly — 4.59% CTR is 3x account avg; worth investigating |
| Broad (Home Max Val) | Home Max Val | $29,268.19 | 336,781 | 2.77 | 1.19% | $21.47 | |
| Custom (Home BAU) | Home BAU | $7,600.23 | 51,979 | 2.19 | 2.75% | $12.73 | Cheapest CPL in account. Reach 52K — small but delivering well |
| Broad (Home BAU) | Home BAU | $3,149.90 | 42,071 | 1.52 | 2.07% | $15.29 | |
| Home Insurance (Home BAU) | Home BAU | $2,419.15 | 32,212 | 1.65 | 2.39% | $15.51 |
Audience-targeting observations:
- All BAU/ALC ad sets converge in a tight $20.74–$23.38 CPL band on Auto (excluding Max Val). Confirms Mo's v2 finding: "interest targeting is NOT underperforming on CPL." Consolidation is a test, not an obvious win.
- The narrow-Custom-ad-set claim needs the audience-size pull in Phase 1D. Live reach for Auto Custom (
120240808864440498) is 716K; for Home Custom (120227142278180498) is 52K. Mo's "1,000-person audience" finding refers to the custom audience source size, not reach — they're delivering to a much larger audience than the source seed because Meta's algorithm expands.
Auto vs Home blended (30d)
| Auto | Home | |
|---|---|---|
| Spend | $761,435.24 | $79,990.71 |
| % of spend | 90.5% | 9.5% |
| Leads | 28,453 | 4,895 |
| % of leads | 85.3% | 14.7% |
| Blended CPL | $26.77 | $16.34 |
Key finding: Home CPL is 39% lower than Auto CPL. Home is the cheaper acquisition channel by a wide margin. Mo's earlier finding that "Home is growing while Auto fatigues" is consistent with this — and the case for reallocating spend share to Home is sharper than the May CSV alone suggested.
What's worth flagging now
- Auto Max Val is the largest single lever — $341K/30d at a 67% CPL premium, optimizing against a broken value signal. Either fix the value signal (Track 2 — root-cause) or pause Max Val until it's fixed (Track 1 — defensive). Both are valid; current state is the worst of both.
- Auto BAU pacing gap is confirmed at $8.5K/day undeployed — pure free-money lever if filled smartly (avoid over-scaling into fatigue per the May data).
- Home is the most efficient channel in the account by CPL — $14.60 (Home ALC) and $13.73 (Home BAU) vs Auto's $21–23 band. Recommends increasing Home share substantially.
- All-SAC structure confirms most "standard CPL levers" Mo identified are blocked — the audit must focus on what's available under SAC (creative, pacing, value-signal quality, customer-list LAL eligibility test).
- Frequency 6.38 sustained — at this level the account is mathematically burning audience; new creative inflow is the only structural fix.
Appendix B — Creatives
appendix_b_creatives.md
Appendix B — Creatives
Live API pull, June 4, 2026. Data window: May 5 – June 3, 2026 (last 30d), ad-level.
Naming convention (decoded from sample)
{Concept}_{Static|Video}_{M=Military|NM=Non-Military|F=Family?}_{Animation|Inside|Outside}_{Swipe|Family|Car|Icon|Phone|Headlight|Flag-Swipe}_{MM/DD/YY}
M= Military-targeted variant;NM= Non-Military-targeted variant. Confirms two parallel audience tracks.- Format is mostly Static (heavily skewed), some Video. Very little carousel; no UGC.
- Element naming (Swipe, Icon, Car, etc.) refers to the animation style or visual hook.
- Date suffix = creative launch date. Creative refresh cadence is real — March 16, March 24, April 28, May 4, May 15, May 22, May 29, May 30, June 3 launches all visible.
Top 20 ads by spend (last 30d)
| # | Ad Concept | Campaign | Spend | Leads | CPL | CTR | Created |
|---|---|---|---|---|---|---|---|
| 1 | Odometer_Static_NM_Anim_Swipe_05/15 | Auto Max Val | $180,727 | 4,652 | $38.85 | 0.78% | May 15 |
| 2 | Lower-Your-Auto_Static_NM_Anim_Swipe_04/28 | Auto Max Val | $115,062 | 3,584 | $32.10 | 0.66% | Apr 28 |
| 3 | Lower-Your-Auto_Static_NM_Anim_Swipe_04/28 | Auto BAU (Broad) | $95,830 | 4,380 | $21.88 | 1.48% | Apr 28 |
| 4 | Lower-Your-Auto_Static_NM_Anim_Swipe_04/28 | Auto BAU (Digital Mktg) | $64,671 | 3,171 | $20.39 | 1.36% | Apr 28 |
| 5 | Odometer_Static_NM_Anim_Swipe_05/15 | Auto ALC (Broad 2.0) | $41,309 | 1,761 | $23.46 | 0.87% | May 15 |
| 6 | Lower-Your-Auto_Static_NM_Anim_Swipe_04/28 | Auto BAU (Young R.E.) | $40,789 | 1,774 | $22.99 | 1.27% | Apr 28 |
| 7 | Lower-Your-Home_Static_NM_Inside_Icon_05/07 | Home ALC | $30,460 | 2,073 | $14.69 | 2.64% | May 7 |
| 8 | Lower-Your-Auto_Static_NM_Anim_Swipe_04/30 | Auto BAU (Custom) | $26,460 | 1,225 | $21.60 | 1.16% | Apr 30 |
| 9 | Lower-Your-Home_Static_NM_Inside_Icon_05/07 | Home Max Val | $25,580 | 1,200 | $21.32 | 1.19% | May 7 |
| 10 | Lower-Your-Auto_Static_NM_Anim_Swipe_04/28 | Auto BAU (Vehicle Ins) | $20,590 | 862 | $23.89 | 1.18% | Apr 28 |
| 11 | Odometer_Static_NM_Anim_Swipe_05/22 | Auto BAU (Broad) | $13,440 | 606 | $22.18 | 0.92% | May 22 |
| 12 | Odometer_Static_NM_Anim_Swipe_05/22 | Auto BAU (Young R.E.) | $13,206 | 618 | $21.37 | 1.05% | May 22 |
| 13 | TYFYS_Video_M_Anim_Swipe_03/24 | Auto Max Val | $11,984 | 328 | $36.54 | 0.65% | Mar 24 |
| 14 | Odometer_Static_NM_Anim_Swipe_05/22 | Auto BAU (Custom) | $9,274 | 454 | $20.43 | 0.94% | May 22 |
| 15 | Odometer_Static_NM_Anim_Swipe_05/22 | Auto BAU (Vehicle Ins) | $8,477 | 427 | $19.85 | 1.06% | May 22 |
| 16 | Lower-Your-Auto_Static_NM_Anim_Swipe_05/04 | Auto ALC (Broad 2.0) | $7,336 | 317 | $23.14 | 0.78% | May 4 |
| 17 | Lower-Your-Home_Static_NM_Inside_Icon_05/07 | Home BAU (Custom) | $5,363 | 423 | $12.68 | 2.73% | May 7 |
| 18 | Drive-On_Static_NM_Anim_Swipe_05/29 | Auto Max Val | $5,288 | 154 | $34.34 | 0.76% | May 29 |
| 19 | Drive-On_Static_NM_Anim_Swipe_05/30 | Auto BAU (Custom) | $5,159 | 280 | $18.43 | 1.40% | May 30 |
| 20 | Odometer_Static_M_Anim_Swipe_05/22 | Auto BAU (Digital Mktg) | $4,227 | 190 | $22.25 | 1.00% | May 22 |
Validation of Mo's specific creative findings
| Mo's claim | Live data | Verdict |
|---|---|---|
| Odometer_05/15 at $34.63 CPL on ~$178K (DEFINITIVE) | Auto Max Val: $180,727 spend, $38.85 CPL | MATCH on spend (within 1.5%); CPL slightly higher ($38.85 vs $34.63 — Mo's window probably includes earlier days at lower CPL). Mo's v2 said $38.92 — matches that closer. |
| Odometer_05/15 at $222K spend, 1.21 ROAS (v3 across all campaigns) | Across all campaigns: $180,727 + $41,309 + $13,440 + $13,206 + $9,274 + $8,477 + $4,227 = $270,660 all-Odometer (incl. v05/22 variants) | Mo's $222K was only the original 05/15 variant; with the 05/22 follow-on, Odometer concept is even larger spend at $270K+ for 30d. Recommend treating Odometer as a concept family. |
| Lower-Your-Auto_04/28 at ~$22 CPL, 1.45 ROAS, +$191K net | BAU Broad $95,830 / $21.88 CPL; BAU Digital Marketing $64,671 / $20.39 CPL; BAU Young R.E. $40,789 / $22.99 CPL; BAU Custom $26,460 / $21.60 CPL; BAU Vehicle Ins $20,590 / $23.89 CPL; ALC Broad 2.0 $7,336 / $23.14 CPL; Max Val Broad $115,062 / $32.10 CPL = $370,738 30d spend on Lower-Your-Auto concept | CONFIRMED as the workhorse winner. Across BAU: $248K at avg $21.85 CPL. Max Val cut: $115K at $32.10. The Max Val pay-up is real. |
| TYFYS at 1.57 ROAS in v3, best high-spend ad | Max Val: $11,984 / $36.54 CPL on 0.65% CTR. BAU Vehicle Ins: $3,194 / $21.73 CPL on 2.26% CTR | TYFYS still active but at much lower spend than v3 era. BAU variant works ($21.73); Max Val variant does not ($36.54). Consistent with v3's "TYFYS works at BAU, value-blindness kills it at Max Val." |
| Veteran-VO at 0.90 ROAS, loses money (v3 inversion) | One active variant in Auto Max Val: $2,052 spend, $34.78 CPL. Most Veteran-VO variants paused. Veterans-Save sibling concept: ~$89–$366 each, $29–$67 CPL | MATCHES v3 inversion — Veteran-VO has been correctly deprioritized; only $2K spend on the one active variant. The audit fix is already in place. |
| Drive-On_05/30 at $18.48 CPL — best auto CPL, newer creative (v2) | BAU Custom $5,159 / $18.43 CPL ✅ | MATCH (within 0.3%). Drive-On is performing as Mo identified. |
| Lower-Your-Home_05/07 (not in Mo's older audits) | Home ALC $30,460 / $14.69 CPL (2.64% CTR), Home Max Val $25,580 / $21.32 CPL, Home BAU Custom $5,363 / $12.68 CPL | NEW finding from this pull: Lower-Your-Home is the dominant Home creative, ~$61K/30d spend at $14.69–$21.32 CPL. The Inside_Icon format works on Home where Animation_Swipe works on Auto. |
The dominant creative concepts (the ~10 Mo identified, now more precisely mapped)
| Concept | Format | Variants | 30d Spend | Avg CPL | Where it works | Where it fails |
|---|---|---|---|---|---|---|
| Lower-Your-Auto-Insurance | Static + Animation + Swipe | 04/28, 04/30, 05/04 | ~$371K | $21–32 | BAU (~$22) | Max Val ($32) |
| Odometer | Static + Animation + Swipe | 05/15, 05/22, 06/03 (Moving-Odometer) | ~$270K | $20–47 | BAU/ALC ($20–23) | Max Val ($38–47) |
| Lower-Your-Home-Insurance | Static + Inside + Icon | 05/07 | ~$61K | $12.68–$21.32 | All Home placements | (Home concept only) |
| TYFYS (Thank You For Your Service) | Video + Animation + Swipe | 03/09, 03/24 | ~$17K | $21.73–$36.54 | BAU low spend | Max Val |
| Drive-On | Static + Animation + Swipe | 05/29, 05/30 (NEW) | ~$13K | $18.43–$34.34 | BAU Custom ($18.43) | Max Val ($34) |
| Simplified family (V2-Stopwatch, V3-Gradient, V4-Camo) | Mostly Video + Inside + Icon | 01/12, 01/13, 03/16, 03/17 | ~$8K | $13.22–$41.62 | Home ($13–14) | Auto Max Val ($41+) |
| Moving-To-Do-List | Static + Animation + Swipe | 05/04 | ~$3.6K | $25.31–$41.31 | BAU | Max Val |
| Veteran-VO / Veterans-Save | Video + Animation + Flag-Swipe/Headlight | mostly paused | ~$3K | $29–$67 | (deprioritized — correct) | All |
| Family-outside / Loading-car-2 / Save-Piggybank-Camo / Half-Truck | Static + Outside + Family | 12/03/25, 03/03/26 | ~$6K | $19.81–$23.21 | Auto ALC | — |
| Gradient-V3_You-Earned-It / Half-Car / Drive-Down / More-Savings / Blue-Camo-Vets-Save | Static + Animation + Swipe | various | ~$10K | $18.27–$69.78 | BAU (More-Savings $18) | Max Val (More-Savings $70!) |
~10 distinct concept families — Mo's count is right. ~15 if you split families into sub-concepts (e.g., V2, V3, V4 of Simplified).
Critical creative observations
-
The Max Val penalty is HUGE on identical creatives. Same creative concept (Lower-Your-Auto Static), same format, same audience targeting — but the campaign objective changes CPL by 47% premium ($32.10 Max Val vs $21.88 BAU). The value-pipe fix is what unlocks Max Val. Currently, every Max Val dollar is paying that penalty.
-
Static dominates over Video by ~5:1 in spend. The top 20 spenders are 18 Static, 2 Video. The TYFYS video at $11K in Max Val and Video 2 family ($2-4K) are the only video presence. Massive video opportunity gap — competitors run video heavily.
-
No UGC, no testimonial, no real-veteran-on-camera creative. The whole library is graphic/animation-driven. Mo's audit conclusion is confirmed: this is the defensible moat that's unbuilt.
-
Home creative is materially different and materially cheaper. Home uses
Inside_Iconformat (icon-driven, calmer); Auto usesAnimation_Swipe(motion-driven, urgency). Home CPL is 40–60% lower than Auto. The opportunity: scale Home creative production + spend share faster. -
Creative cadence: 8 net-new creative launches identified in May–June (05/04, 05/05, 05/07, 05/15, 05/22, 05/29, 05/30, 06/03). That's ~2 net-new shippable concepts per week, which is consistent — but the variant count per launch is low (2–4 placement variants). True diversity is closer to 1 new concept/week → fatigue clock keeps ticking.
-
All ads use the same auto custom conversion event (
26414218331497189) for Auto, and527662590217855for Home — confirming Mo's "click to quotes" finding. Native Lead and Purchase events are not the optimization target despite Purchase having ROAS optimization on Max Val campaigns (which is exactly the broken-value-pipe problem). -
Frequency on top Odometer ad: 3.27 (the $180K one in Auto Max Val). Reach 3.1M. Not yet in fatigue territory, but climbing. Within 14 days at current pace it likely passes 4.0.
-
purchase_roas: "Not available"on every single ad — the broken value signal is account-wide. Every ad in the account has this state. This is not "some events malformed" — this is structurally no usable Purchase ROAS data in Meta. The 98% Mo cited may actually understate it.
Top 5 longest-running active ads (by created_time)
- Video 2_Video_M_Anim_Phone (03/03/26) — created Mar 3 — ~$2,333 30d / 1.75 freq / 8.33% CTR ⚠️ anomaly
- Family-outside_Static_M_Outside_Family (03/03/26) — Mar 3 — $3,992 / 23.21 CPL
- Loading-car-2_Static_NM_Outside_Family (03/03/26) — Mar 3 — $1,078 / 22.95 CPL / 4.47% CTR
- Save-Piggybank-Camo_Video_M_Anim_Swipe (12/23/25) — created Dec 2025! — $662 30d but 10.49% CTR ⚠️
- Video 2-V2-Emojis_Video_M_Anim_Phone (12/03/25) — created Dec 2025 — $780 / 32.51 CPL
The 10.49% CTR Save-Piggybank-Camo video and 8.33% Video 2 are anomalies worth investigating: very high CTR but moderate spend. Either (a) they only deliver to narrow audiences that ad set targets, or (b) they're cheap because they self-throttle on CTR but Mo could push more budget here.
What's still open after this pull
- Need to confirm exact
is_videovsis_staticformat mix by impressions (the naming convention is a proxy; ad-image vs ad-video API call would confirm) - The
Video 2family (12/2025-era) carries high CTRs but low spend — worth deeper performance trend lookup - Veteran-VO concept is correctly de-prioritized; no action needed
- Drive-On is new and trending well at BAU — recommend scaling spend
Appendix C — Dataset / CAPI / Signals
appendix_c_dataset_capi.md
Appendix C — Dataset / CAPI / Signals
Live API pull, June 4, 2026.
Datasets attached to the account
Three unique datasets (one shown twice via duplicate business associations):
| ID | Name | Created | Last Web Fired | Last Server Fired | Business | Status |
|---|---|---|---|---|---|---|
1536649764252698 |
MA Military Insurance | Dec 1, 2025 | Jun 4 14:42 ✅ | NEVER (1969 epoch) | Military.com (10153481725199270) |
ACTIVE |
587241028099131 |
Military.com's Pixel | Feb 2016 (legacy) | Jun 4 14:39 ✅ | Mar 2023 (3+ years silent) | Military.com (10153481725199270) |
ACTIVE |
332555186604235 |
Military Insurance | May 21, 2024 | Jun 4 14:39 ✅ | Jun 4 14:34 ✅ | 551525685236215 (QW/Delty integration?) |
ACTIVE |
The decode:
- Dataset
332555186604235("Military Insurance") is the live lead-gen workhorse — both Pixel and CAPI firing in real-time, owned by a separate business (almost certainly the QuoteWizard/Delty postback integration entity, hence the different business_id). - Dataset
587241028099131("Military.com's Pixel") is the legacy content/site Pixel from 2016. Has Lead, PageView, SubscribedButtonClick events — but server hasn't fired since March 2023. Maps to Mo's audit finding: "Dataset C content pixel CAPI Gateway 0% set up." This is the brand/content pixel for the main site, where adding CAPI would unlock the +23% cost/result Mo cited. - Dataset
1536649764252698("MA Military Insurance") — MA likely = MediaAlpha. Created Dec 2025, browser fires today, server never has fired. Likely a parallel test/integration that's not active server-side. Could be a placeholder or a half-built MediaAlpha lane.
Event Match Quality (EMQ) by dataset
Dataset 332555186604235 (the lead-gen workhorse)
| Event | EMQ Composite | Email % | Phone % | fbc % | fbp % | zip % | Upload Frequency |
|---|---|---|---|---|---|---|---|
| Purchase | 9.1 ⭐ | 85.2% | 97.1% | 87.0% | 100% | 99.9% | hourly |
| CompleteRegistration | 8.3 ⭐ | 100% | 97.8% | 100% | (not shown) | 97.8% | hourly |
| PageView | 6.9 | 12.7% | 11.3% | 82.7% | 99.2% | 80.3% | real-time |
Key validations:
- CompleteRegistration EMQ = 8.3 — EXACT MATCH to Mo's audit finding "EMQ 8.3/10". Strong signal health.
- Purchase EMQ = 9.1 — higher than Mo's audit cited. Score is excellent.
- fbc coverage = 100% on CompleteRegistration, 87% on Purchase — Coverage is HIGH. Mo's "fbc truncation on 15 ad sets, 27% of CompleteRegistration affected" — the
truncationis a value malformation visible only in Meta Events Manager Diagnostics UI, not in this API's coverage field. This API confirms fbc is PRESENT in 100% / 87% of events; the truncation question (presence-but-malformed) needs a manual Events Manager check. - All three events upload hourly or real-time — data freshness is fine.
Dataset 587241028099131 (Military.com's Pixel — content/site)
| Event | EMQ |
|---|---|
| PageView | not surfaced (no match keys) |
| SubscribedButtonClick | not surfaced |
| Lead | not surfaced |
No CAPI events, no EMQ scoring. This dataset is browser-only. Maps to Mo's "Dataset C content pixel CAPI Gateway 0% set up" finding — CONFIRMED. Adding a Signals Gateway / CAPI for this pixel is the +23% cost/result opportunity Mo flagged.
Dataset 1536649764252698 (MA Military Insurance)
| Event | EMQ |
|---|---|
| Purchase | not surfaced |
| PageView | not surfaced |
Browser-only, no EMQ data. Dormant from a server-side perspective.
Event volume (last 7 days, Dataset 332555186604235)
Rough totals across the 7-day window May 28 14:00 – Jun 4 13:59:
- PageView: 392,000+ events
- Purchase: 5,300+ events (~755/day average)
- CompleteRegistration: 5,300+ events (~755/day)
Server vs Browser split (across same window): SERVER ~52%, BROWSER ~48%. CAPI is doing roughly equal volume to the Pixel. Healthy dual-channel setup.
Server uplift over browser: ~5–8% per hour on average. Mo's "17.5% more Purchase conversions via CAPI last 7d" was likely from a different reference window or measurement methodology (Meta's UI sometimes shows attribution-window-adjusted lift). The current dataset health is good but the 17.5% number may not be re-derivable today.
The Purchase value malformation issue (the root-cause)
This API cannot validate or refute Mo's "98% of Purchase price data is malformed" claim directly. That signal lives in Meta Events Manager's Diagnostics UI, which surfaces parameter-validation issues that are invisible to the dataset_quality / dataset_stats endpoints (those only check presence, not validation).
What this API DOES confirm: - Purchase events are firing at healthy volume (~755/day) - EMQ is excellent (9.1) - All match keys have high coverage
What this API CANNOT confirm:
- Whether the value parameter being sent is a real QW payout amount, or a flat placeholder ($1, $0, etc.)
- Whether the value parameter format is well-formed (numeric, decimal-correct, etc.)
Mo's audit conclusion stands and is not refuted: Purchase events fire, EMQ is great, but if the value parameter is flat/malformed, Max Value campaigns optimizing on RETURN_ON_AD_SPEND are training against noise. This is consistent with purchase_roas: "Not available" at every level of the account (Appendix A account-level, Appendix B every ad). If Meta had usable Purchase value data, it would compute ROAS — it doesn't, because the value is unusable.
Mapping to Mo's 5-workstream task list
| Workstream | Item | Live Verification |
|---|---|---|
| W1-1 | Reconcile Browser Purchase value vs FunnelFlux | API confirms Purchase fires at high EMQ; value validity needs Events Manager check (not API-accessible) |
| W1-2 | EMQ optimization | CompleteRegistration EMQ 8.3 / Purchase EMQ 9.1 — strong. Marginal room: PageView EMQ 6.9 (low email/phone). |
| W1-3 | fbc/fbclid integrity | API: fbc 87–100% present. Truncation (value malformation) is a manual Events Manager validation. |
| W1-4 | PageView match quality | EMQ 6.9 — improvable. Email coverage 12.7%, phone 11.3% on PageView. Most-impact fix: capture email/phone at PageView when known (post-login pageview, etc.) |
| W1-5 (new) | Dataset C CAPI Gateway 0% set up | CONFIRMED — 587241028099131 "Military.com's Pixel" has zero server activity since Mar 2023. Adding a Signals Gateway is the +23% cost/result lever Mo identified. |
The MA Military Insurance dataset puzzle
A dataset created Dec 2025 with server never fired is suspicious. Two hypotheses:
- MediaAlpha integration that was set up but never activated. Iron Corp had plans to route through MediaAlpha but the server-side hookup was never completed. If true, this is a quietly-broken integration that should be either activated or removed.
- A test/staging dataset left behind. Less concerning but should be archived.
Anthony's "ignore exchange.qmp.ai and MediaAlpha, focus on Delty + Meta" framing earlier suggests MediaAlpha is intentionally not active. This dataset's state is consistent with that.
Open items for Tuesday
- Manually open Meta Events Manager → Dataset
332555186604235→ Diagnostics tab to verify the Purchase value-malformation claim (98% per Mo). The API confirms events fire and EMQ is high; only Events Manager Diagnostics shows value validity. - Confirm with dev: is Dataset
587241028099131(Military.com's Pixel) intended to have CAPI? This is the +23% cost/result lever — if there's no policy reason not to, adding the Signals Gateway is a 24-48 hour engineering task. - Confirm with Anthony/dev: what is the MA Military Insurance dataset for? Activate or archive.
- Verify the Dataset
332555186604235business_id (551525685236215) — confirm this is the QW/Delty integration entity.
Appendix D — Audiences / Opportunity / Anomalies
appendix_d_audiences_signals.md
Appendix D — Audiences, Opportunity Score, Anomalies, Auction Benchmarks
Live API pull, June 4, 2026.
Custom Audiences inventory (38 total)
Active audiences (10)
| # | Name | Subtype | Size | Status | Created | Notes |
|---|---|---|---|---|---|---|
| 1 | Lookalike (US, 5%) — Custom_Recruiting-Leads_08-05-2025 | LOOKALIKE | 8.5–10.1M | ACTIVE | Aug 27, 2025 | Top of LAL ladder, properly sized |
| 2 | Lookalike (US, 3%) — Custom_Recruiting-Leads_08-25 | LOOKALIKE | 5.3–6.3M | ACTIVE | Aug 6, 2025 | Mid LAL |
| 3 | Lookalike (US, 1%) — Custom Audience_08-05-2025 | LOOKALIKE | 1.9–2.2M | ACTIVE | Aug 6, 2025 | Tight LAL |
| 4 | Custom_Recruiting-Leads_08-05-2025 | CUSTOM | 39,200–46,100 | ACTIVE | Aug 5, 2025 | The seed for the LALs. "Recruiting Leads" naming — likely a sold-lead or registration export from 10 months ago. Refresh candidate. |
| 5 | All Site Visitors (180D) | PLATFORM | ~20 people ⚠️ | ACTIVE | May 5, 2025 | CRITICALLY BROKEN — should be hundreds of thousands. Pixel not properly seeding this audience. |
| 6 | Visited Auto LP (180D) | PLATFORM | ~20 people ⚠️ | ACTIVE | May 5, 2025 | SAME BROKEN STATE — Auto landing page audience essentially empty. |
| 7 | FB Mil.com Page Likers/Followers | PLATFORM | 999K–1.2M | ACTIVE | Apr 28, 2025 | Healthy size — Military.com's FB page audience |
| 8 | FB Mil.com Page Engagers (365D) | PLATFORM | 341K–401K | ACTIVE | Apr 28, 2025 | Healthy engagement audience |
| 9 | IG Mil.com Followers | PLATFORM | 30K–35K | ACTIVE | Apr 28, 2025 | Small but legit |
| 10 | IG Mil.com Account Engagers (365D) | PLATFORM | 93.6K–110K | ACTIVE | Apr 28, 2025 | Healthy IG engagement audience |
Inactive audiences (~28 broken placeholder LALs)
ALL 28 inactive lookalikes are sized at exactly 1,000 people — Meta's signature for a "broken" / orphaned lookalike (seed audience deleted or invalid). Examples:
Lookalike (Worldwide, 1%) - IG Mil.com Account Engagers (365D)— 1,000Lookalike (Worldwide, 1%) - FB Mil.com Page Engagers (365D)— 1,000Lookalike (US, 10%) - All Site Visitors (180D)— 1,000- (25 more similar — all 1,000 size)
These map directly to Mo's 30-day plan B4 task: "Delete ~30 dead placeholder lookalikes" — CONFIRMED. Slightly fewer than 30 (count is ~28) but the finding is exact.
Critical broken state — the retargeting layer doesn't exist
All Site Visitors (180D) = ~20 people. Visited Auto LP (180D) = ~20 people.
These are PLATFORM-subtype audiences (Pixel-seeded website audiences) that should contain everyone who has visited military.com or auto.military.com in the last 180 days. They are essentially empty (~20 people each).
Two interpretations:
-
The Pixel isn't properly feeding these audiences. Likely cause: cross-domain tracking issue between
military.com(the content site, Dataset587241028099131) and the lead-gen funnel (Dataset332555186604235). The Pixel that fires on auto.military.com is the lead-gen one, and its audience aggregation isn't writing back to these account-level audiences. -
SAC (Special Ad Category) is filtering them out. Financial Products SAC restricts Pixel-derived audiences for retargeting. This is the more likely explanation — under SAC, these audiences simply don't accumulate users because Meta filters them as not eligible.
Either way: this account effectively has NO retargeting layer. Mo's audit framework should be updated: under SAC, retargeting Pixel-seeded audiences may not be available at all. The page-engagement audiences (FB/IG, healthy at 30K–1.2M) ARE allowed under SAC, but website-Pixel-seeded ones are not.
This is critical context for the W4 Audiences workstream: under SAC, the legitimate audience seeds are: - ✅ Customer-list (advertiser-provided): the Recruiting-Leads seed and its LALs - ✅ FB/IG engagement (on-Meta surfaces): page likers, engagers, IG followers - ❌ Pixel-seeded website retargeting: blocked or broken under SAC
The "B1 — Define Engaged audience from FB/IG page engagers" task in Mo's 30-day plan is the right move because the engagement audiences (#7–#10 above) are healthy and usable.
The "Mil FB Customer Match 4.12.21" question
Mo's audit referenced "Mil FB Customer Match 4.12.21 (Full List) — last refreshed May 2025 (13+ months ago)". That specific name is NOT in the current audience inventory.
What's there instead:
- Custom_Recruiting-Leads_08-05-2025 — created Aug 5, 2025 (~10 months old)
Possibilities: - The "4.12.21" list was archived/deleted and replaced by the "Recruiting-Leads_08-05-2025" list (this would be the "May 2025 refresh" Mo referenced, but dated Aug not May). - The "4.12.21" list is in a different ad account or business. - The audit conducted before today already led to its removal.
Recommend: confirm with Lauren which is the "live" customer-match list — the Recruiting-Leads_08-05-2025 (39K-46K seed) is the only Custom-subtype audience currently active in this account, and its 1%/3%/5% LALs are powering the ALC and Max Val campaigns.
Opportunity Score: 99/100 — CONFIRMED
Account-level Opportunity Score: 99 out of 100. EXACT MATCH to Mo's audit finding.
The single live recommendation
| Field | Value |
|---|---|
| Type | offsite_conversion |
| Recommendation | Maximize number of conversions performance goal |
| Lift estimate | 17% lower cost per result |
| Opportunity score lift | 1 point (would take 99 → 100) |
| Stage | pre_create_guidance |
Decode: Meta is suggesting a campaign-objective optimization tweak that would yield a 17% lift. The body text suggests it's pre-create guidance (not a recommendation against existing campaigns). Likely flagged because the account has multiple optimization goals across BAU/ALC/Max Val and Meta thinks consolidating around offsite_conversion goal would be cleaner.
The fact that the only outstanding recommendation is a 1-point lift means structural levers are exhausted. Mo's audit conclusion holds: "leverage is in measurement plumbing, creative, and the success metric — not structure."
Anomaly Signals: NONE FLAGGED
API returned: "No anomaly signal data available for the given criteria."
This is interesting. Mo's audit cited "2 narrow Custom ad sets flagged by Meta anomaly detector." Possibilities:
- Those anomalies have cleared since Mo's pull (the ad sets are still active with the same ~Custom names but no longer flagged).
- The anomaly endpoint surfaces a narrower set than the in-product detector.
- Meta resolved the flags after seeing performance.
Recommended check: Tuesday Open Ads Manager → Campaign view → look for any in-UI anomaly badges on Custom (Auto BAU) (120240808864440498) and Custom (Home BAU) (120227142278180498). If clean, the issue is resolved. If still flagged, the API just isn't exposing them — Mo can address via the UI.
Auction Ranking Benchmarks (last 30d)
Optimization cohort: OFFSITE_CONVERSIONS + complete_registration + prospecting (new customers).
One ad surfaced with diagnostics:
| Ad | TYFYS_Video_M_Animation_Swipe_03/09/26 (120241039108910498) |
|---|---|
| Quality Ranking | Average |
| Engagement Rate Ranking | Below Average (Bottom 35% of ads) |
| Conversion Rate Ranking | Above Average |
| Diagnosis | "This ad is not spurring interest." |
Key insight: TYFYS has good conversion rate (above average) but weak engagement (bottom 35%). The ad earns the click-throughs that lead to conversion — but most users scroll past it. This is the profile of a niche/identity creative that converts well within a small interested segment but won't scale broadly.
Recommended action: keep TYFYS at BAU low spend (where it works) but do NOT scale it into Max Val or broad audiences. This is exactly what Mo's v3 audit concluded — keep it in BAU only.
Other ads not surfaced by the auction-ranking endpoint:
The endpoint only flagged TYFYS_03/09 — the other top spenders (Odometer, Lower-Your-Auto, Lower-Your-Home) aren't surfaced as having auction-ranking issues. This suggests they're all operating in the "expected" auction quality range, even Odometer despite its high CPL ($38.85 in Max Val). The reason Odometer is expensive isn't auction quality — it's the broken value signal in Max Val campaigns optimizing for ROAS against malformed Purchase value data.
Auction overlap diagnosis (the cannibalization question)
The auction-ranking endpoint did NOT surface significant cross-campaign overlap. No "merge campaigns" or "consolidate ad sets" recommendations were returned.
This validates Mo's Integrated Audit finding: the BAU/ALC/MaxVal trio is intentional and not cannibalizing. The media buyer's structural design is sound.
Mapping to Mo's 30-day plan audience workstream
| Mo's task | Live status | Recommended action |
|---|---|---|
| B1: Define Engaged audience from FB/IG page engagers | Audiences EXIST (#7–#10, sized 30K–1M). Not currently used as ad-set targeting based on ad-set names (only Broad and interest-named sets are visible) | Build new ad set: targeting FB Page Engagers + IG Engagers (suppression-excluded). Could be the warm/retargeting layer. |
| B2: Replace stale 2021 customer-match list with 180d sold-leads | Current live list is "Custom_Recruiting-Leads_08-05-2025" (39K-46K), 10 months old, NOT 13. Still stale; needs Lauren's fresh export of sold-leads from last 180d. | Get fresh sold-lead CSV from Lauren → rebuild Custom audience → rebuild 1%/3%/5% LALs |
| B3: Build suppression/exclusion audiences | All Site Visitors and Visited Auto LP are broken (~20 people each), so suppression-by-pixel isn't viable. Suppression must be customer-list based (uploaded sold-leads → exclude from prospecting) | Use the Recruiting-Leads CUSTOM audience as a suppression list on prospecting campaigns |
| B4: Delete ~30 dead placeholder lookalikes | ~28 confirmed broken (all 1,000 size, INACTIVE) | One-shot cleanup task. Low risk. |
What's worth flagging now
-
The retargeting layer doesn't functionally exist. All-Site-Visitors and Visited-Auto-LP audiences are essentially empty (~20 people). Under SAC, the Pixel-seeded website retargeting may not be allowed. Account effectively has only customer-list LALs + page-engagement audiences. No warm-website retargeting layer.
-
The "Custom_Recruiting-Leads" seed is 10 months old. Refreshing it with last-180-day sold leads (per B2) is high-leverage because: - All three active LALs (1%, 3%, 5%) are downstream of this seed - A 10-month-old seed underweights recent buying behavior - Lauren has the fresh data; this is a 1-day task
-
The 28 broken placeholder LALs are a cleanup-only task — no positive impact from leaving them, no risk from deleting them. Inactive state is safe to delete.
-
The page-engagement audiences are an under-used warm layer. FB Page Likers (1M), Page Engagers (341–401K), IG followers (30K), IG engagers (93–110K) — all healthy sizes, all SAC-compliant. None visible as targeted audiences in current ad sets. Building an ALC or ad set targeting these = real warm-audience layer the account currently lacks.
-
TYFYS is correctly tagged by Meta as low-engagement, high-conversion. Confirms keeping it in BAU low-spend (where it works) and NOT scaling it into Max Val. v3 audit conclusion intact.
-
Opportunity Score is 99/100. Confirms Mo's "no structural fixes; leverage is in measurement, creative, metric" thesis. The 1-point recommendation is a minor objective tweak.
-
No active anomaly flags. The "2 narrow Custom ad sets flagged" issue from Mo's earlier audit has cleared.
Appendix E — Competitive Scan
appendix_e_competitive.md
Appendix E — Competitive Ad Library Scan
Live API pull, June 4, 2026. Country: US, Active status: ACTIVE.
API limitation note
Meta Ad Library keyword search returns results by creative text match, not by brand. The major aggregator competitors (EverQuote, The Zebra, Insurify, SmartFinancial, QuoteWizard) do not put their brand names in creative copy — they use product pages with neutral names ("Auto Savings," "Compare Quotes," etc.). As a result, brand-keyword searches return zero matches for these competitors via the API.
The competitive teardown produced May 13 (/Users/mo/Desktop/military.com/deliverables/07_competitive_teardown.md) covers these competitors in depth using public 10-K data and other sources. This appendix focuses on what the live Ad Library search DID surface.
Direct competitor identified: The Military Wallet
| Field | Value |
|---|---|
| Page ID | 220855334603609 |
| Page Name | The Military Wallet |
| Active ads (matching the search) | 3 |
| Common creative copy | "Did You Serve? You Might Save »" |
| Created | Late Feb 2026 |
This is a direct competitor in Military.com's exact niche. Same target audience (veterans/active duty), same product (insurance comparison), running on the same Meta auction.
Notable observations about The Military Wallet's "Did You Serve?" hook
-
It's running active despite SAC restrictions. The "Did you serve?" framing should arguably trip Meta's sensitive-attribute detector (military/veteran status). The fact that it's running suggests: - It's NOT flagged as sensitive by Meta's classifier - OR The Military Wallet has been operating long enough that the policy treatment is lenient on this specific brand - This is a hook angle Military.com COULD test under SAC if it's actually allowed
-
Identical hook strategy to Military.com's "Veteran-VO" creative concept. Military.com's Veteran-VO ads also use military-identity framing, but they've been deprioritized (per Mo's v3 audit: 0.90 ROAS, loses money). The Military Wallet is doubling down on what Military.com just walked away from.
-
Hypothesis worth testing: The Military Wallet may target a different lifecycle stage. "Did you serve?" is an identity-confirmation question (works for cold/discovery). Military.com's "Easily Compare Quotes" + "Save 15% or More" is an offer-led hook (works once identity is established). The two hooks may work at different funnel stages.
Adjacent vertical: Veteran Life Insurance
| Page ID | 222591640945329 |
| Page Name | Veteran Life Insurance |
| Creative copy | "Protect your spouse and your retirement. Straightforward life insurance for veterans." |
Adjacent vertical (life insurance, not auto/home), but uses two angles Mo's audit hasn't surfaced:
- Spouse-protection angle — "Protect your spouse"
- Retirement angle — "your retirement"
Both are family-financial-security framings that Military.com's auto creative does NOT use. The Family-outside and Loading-car-2 creatives are family-themed but not retirement-themed. Test hypothesis: a "Protect your family's finances on insurance" hook in Military.com's Auto BAU might convert at lower CPL than the "Lower-Your-Auto-Insurance" cost-led hook.
Cross-referencing with Mo's earlier competitive teardown
The May 13 deliverable 07_competitive_teardown.md covers EverQuote, The Zebra, Insurify, SmartFinancial, QuoteWizard direct in depth. Five key angles Mo identified that Military.com isn't running:
| Angle | Mo identified competitor | Live status (this scan) |
|---|---|---|
| Spouse-angle creative | EverQuote, Insurify | Confirmed — Veteran Life Insurance is running it in adjacent vertical. Military.com still has zero spouse-specific creative. |
| Interactive quiz/calculator hook | SmartFinancial, The Zebra | Couldn't verify via this search; Mo's source observation stands. Military.com has Moving-To-Do-List (calculator-adjacent at $41/CPL Max Val); not winning. |
| Real-veteran UGC | Under-utilized everywhere | Confirmed under-utilized. The Military Wallet uses static graphics. No competitor is running authentic veteran UGC at scale in this scan. Defensible moat for Military.com still unbuilt. |
| Mobile-native (9:16 first-frame, captions, finger-tap CTAs) | Industry-trending | Couldn't verify; competitor format mix not in API output. |
| Specific dollar/monthly-payment framing | Better than generic savings | Military.com uses generic "Save 15% or More" — competitor Military Wallet uses "You Might Save" (identical generic framing). Both leave money on the table by not using specific dollar amounts. |
What's worth flagging
-
The Military Wallet is the most direct competitor surfaced live. Same audience, same product, same hook strategy as Military.com's deprioritized Veteran-VO concept. Worth watching as a competitive signal: if The Military Wallet scales spend, they're validating the identity-led hook in the current SAC environment.
-
Spouse-angle creative is still a Military.com gap. Veteran Life Insurance proves the angle works in adjacent vertical. Military.com Auto BAU has no spouse-specific variant.
-
Real-veteran UGC remains the moat nobody is taking. Across all live competitive scans, no competitor is running authentic-veteran-on-camera creative. Military.com is the only player with the audience, brand permission, and editorial relationships to ship this credibly.
-
The "Did You Serve?" hook is running in the SAC environment without obvious penalty (The Military Wallet has 3 active ads with this copy). This contradicts Mo's earlier compliance-safe framing in
02_creative_engine_plan.mdwhich advised avoiding identity-confirmation hooks. Re-test hypothesis: military-identity hooks may not be Meta-policy-blocked in 2026 the way they were earlier. This is worth verifying in-product before writing off this angle. -
No EverQuote/Zebra/Insurify/SmartFinancial live ads surfaced via brand-keyword search. Either they're running under different page names, using only product-neutral copy, or temporarily out of the auction. Use the May 13 teardown as the canonical competitive view for those brands.
Recommended Tuesday browser check
Open Meta Ad Library directly at facebook.com/ads/library, search by page name (not keyword) for:
- EverQuote
- Insurify
- SmartFinancial
- The Zebra
- QuoteWizard
- The Military Wallet (priority — direct competitor)
- Veteran Life Insurance (priority — adjacent angle insights)
For each, capture: format mix (static vs video), top-running ad concept, hook style, landing approach. This 30-minute manual sweep produces a sharper teardown than the keyword API can.
Mo's Prior Files — Digest (background)
_mo_files_digest.md
Mo's Files Digest — /Users/mo/Downloads/military/
Produced by Explore agents on June 4, 2026 as input to the master audit. Captures everything Mo has documented across 20 files of iterative audit/strategy work.
SECTION 1 — Audit-flavored files (digested)
1. LG_Military_DEFINITIVE_AUDIT.md (CANONICAL narrative audit)
~195 lines / ~2,400 words. Window Mar 1 – Jun 3, 2026. Self-labeled "Definitive."
Top findings: - $2.45M spend → $3.35M revenue → ~$891K net, 1.36x blended ROAS (internal QW dashboard) - Auto 1.38x / 27.3% margin vs Home 1.28x / 22.1% — Auto is the better business - Scaled 4.5x April→May with no ROAS degradation - 98% of Purchase event price data has formatting issues — Meta Events Manager flag; all events send the same flat price - fbc/fbclid truncation on 15 ad sets, $67,174 spend, 27% of CompleteRegistration events affected - Auto BAU pacing gap: $19,800/day budget vs ~$11,400/day actual - Odometer_05/15 running at $34.63 CPL on ~$178K — highest-cost big spender - "Mil FB Customer Match 4.12.21 (Full List)" — audience list reads as a 2021 list, stale
Conclusions: Two tracks — Track 1 (cost levers for CPL goal posts), Track 2 (fix value pipe for real optimization). GP1 (15% CPL reduction) high confidence from cost levers alone; GP3 (25%) only achievable the right way (value up, not junk in).
Gaps flagged: What value is wired into Purchase event (flat vs real payout)? Why is Auto BAU pacing only ~$11.4K/day? What happened May 23 (0.90x loss day)? Can real QW per-lead payout be sent server-side?
2. LG_Military_Integrated_Audit.md (post-media-buyer-strategy version)
~103 lines / ~1,500 words.
Top findings: - SAC (Special Ad Category) removes the standard CPL levers — no lookalikes, no age/geo targeting, no exclusions. This invalidates the entire "shift budget to 25–44" and "build value-seeded LALs" plans from FULL_AUDIT.md v3. - FunnelFlux offline conversion upload fires every ~15 minutes (single-fire postback) — value tracking exists in principle, but the browser Purchase event's flat value may be diluting the algorithm's signal - Campaign structure (BAU/ALC/MaxVal trio) is intentional, not cannibalization — media buyer tested more and saw performance dip from overlap - Auto > Home is a carrier story: Progressive bids strong on auto; Allstate (home) is reactive - The "auto-updating" customer-match list was last confirmed refreshed May 2025 (13+ months ago, per the Master Task List/Learnings PDF) - Two narrow Custom ad sets (IDs 120240808864440498, 120227142278180498) delivering to ~1,000-person audiences — essentially broken
Conclusions: Measure on RPL−CPL spread, not CPL alone — the single most important strategic ask. Drop the lookalike plan. Creative is the primary CPL lever remaining under SAC.
3. LG_Military_Optimization_Audit.md (LEADS campaigns optimization trace)
~72 lines / ~900 words.
Top findings:
- Custom conversion total (~33,277 / 30d) reconciles with internal QW dashboard (34,158 May leads) and CompleteRegistration (31.3K) — all within ~2.5%
- Native Meta Lead event is never populated ("Not available") — leads flow through custom conversions "click to quotes" — this is not a malfunction
- Max Value campaigns pay $36.24 CPL vs $21.91 on BAU — a ~65% premium — to optimize for value against a flat value signal (98% malformed Purchase price data)
- A paused SALES campaign optimizes toward fb_pixel_purchase (standard Purchase event) — different/older setup, currently inactive
- CAPI alongside Pixel reported 17.5% more Purchase conversions in the last 7 days
4. LG_Military_Master_Audit_TaskList_Learnings.pdf (5-page June 2026 deck — CANONICAL client-facing)
Top findings (identical economics, new framing): - Meta Opportunity Score: 99/100 — no structural fixes to make; leverage is in measurement, creative, and the success metric - Key Learning #4: Max Value pays a ~65% CPL premium to chase a value signal that doesn't exist - Key Learning #5: SAC removes standard CPL levers — bypassing SAC is "Evasion violation that damages account health" - Customer-match list last refreshed May 2025 (13+ months ago, not auto-updating) - fbc truncation: 15 ad sets, $67,174 spend, 27% of CompleteRegistration (confirmed) - CAPI reported 17.5% more conversions (last 7d) — signal health is real - Dataset C (Military.com's content pixel) CAPI Gateway 0% set up; Add a Signals Gateway Pixel impact estimated at ~23% cost/result
Conclusions: 5 workstreams — W1 Measurement Plumbing (highest leverage), W2 Creative (primary SAC lever), W3 Efficiency (learning-phase safe), W4 Audiences (SAC-compliant), W5 Strategic/Metric (most important ask: reframe to RPL−CPL spread).
5. FULL_AUDIT.md (v3 ROAS-verified — superseded but contains the inversions)
Key inversions vs v1: - Veteran-VO: 9.37% CTR → 0.90 ROAS, loses money (v1 said "revive it") - Instagram Stories: 0.34% CTR → 1.42 ROAS — top placement (v1 said "cut it") - Desktop: 3.6x CPC → 1.45 ROAS — best device (v1 said "exclude") - 65+: cheapest CPL → 1.18 ROAS — lowest of all ages (v1 said "shift budget here") - Rewarded video: "fraud" → real leads, $22.65 CPL, break-even at 0.96 ROAS - TYFYS video: "CTR mirage" → 1.57 ROAS — best high-spend ad - Lower-Your-Auto_04/28: $421K spend, 1.45 ROAS, +$191K net — the workhorse winner - Odometer_05/15: $222K spend, 1.21 ROAS — net positive but least efficient big-spend ad - Meta reported value ($1.62M) vs internal dashboard ($3.35M) — Meta captures ~half of real revenue
6. lg_military_full_audit.md (v2 — superseded)
Blended: ~$842K spend → ~33,366 leads → ~$25.23 CPL. Odometer at $38.92 CPL (later revised to $34.63). Drive-On_05/30: $5,137 at $18.48 CPL — best auto CPL, newer creative.
7. lg_military_audit.md (v1 — origin doc, mostly self-corrected)
$841,952.78 spend / 30d. Account frequency 6.45. Estimated recoverable value: $140–200K/month conservative, $335–565K/month full execution (based on CTR assumptions later invalidated). Most v1 claims were inverted by v2/v3.
8. Master prompts (procedural artifacts, not audits)
full_audit_master_prompt.md, lg_military_full_audit_master_prompt.md, ad_library_research_prompt.md — execution prompts for prior audit pulls. Contain the 8 epistemic rules Mo developed (never trust CTR alone, tag every finding, custom conversions don't break by placement, etc.) — worth preserving.
Audit Synthesis
Canonical now: DEFINITIVE_AUDIT (narrative) + Master_Audit_TaskList_Learnings.pdf (deck). Everything else superseded but historically useful.
Consolidated picture of what Mo found: A healthy $850K/month lead engine with three compounding problems, not the six "critical leaks" the v1 audit identified:
- Broken conversion value (the root cause): 98% of Purchase price data is malformed/flat. Max Value campaigns can't optimize for value. Meta estimates +7% ROAS from fixing this alone.
- fbc/fbclid truncation on 15 ad sets ($67,174 spend, 27% of CompleteRegistration events): degrades attribution and optimization signal.
- Odometer_05/15 concentration: ~$178K/30d at $34.63 CPL vs Lower-Your-Auto at ~$22 CPL. Reallocation is the largest single pure cost lever today.
The SAC constraint removes the standard CPL levers (no demo reallocation, no exclusion audiences, no lookalikes). What remains: creative (UGC test batch — primary lever), budget/pacing efficiency, value-signal quality, and the strategic ask to reframe success metric from CPL to RPL−CPL spread.
SECTION 2 — Plan / strategy / pitch files (digested)
1. LG_Military_30Day_Action_Plan.md
~1,400 words. Task-level execution plan with workstream B (audiences), C (tracking), D (cost):
- B1: Define Engaged audience from FB/IG page engagers
- B2: Replace stale 2021 customer-match list with 180-day sold-leads export from Lauren
- B3: Build suppression/exclusion audiences
- B4: Delete ~30 dead placeholder lookalikes; rebuild on sold-leads + engagement seeds
- C1: Fix Purchase event value — "#1 priority" — real QW payout server-side
- C2: Fix fbc/Click ID truncation
- D1: Reallocate Odometer_05/15 budget → Lower-Your-Auto_04/28
- Close Auto BAU pacing gap
2. LG_Military_Master_Plan.md
5-workstream strategic plan. Thesis: Meta Opportunity Score 99/100 → structural wins don't exist → leverage in measurement plumbing, creative, and success metric reframe.
Most important strategic ask (W5-T1): Reframe success metric to RPL − CPL spread (or ROAS), or pair CPL with RPL/acceptance floor.
HELOC expansion thesis (W5-T2) introduced here.
SAC mechanics extensively documented: 15-mile radius minimum, no age/geo targeting, LAL eligibility contested for financial category.
3. LG_Military_Audit_June_Priorities.md
Most complete economics table (verified Meta $25.23 vs internal $24.91, sub-2% reconciliation). 4.5x April→May spend scale-up without ROAS degradation as evidence of headroom. Conversion-value fix called #1 June priority (longest lead time). 7% ROAS improvement estimate from Meta modeling on value-fix alone.
4. LG_Military_Deck_Source.md
16-slide deck. Frames GTW as "sharpening, not fixing." RPL−CPL reframe needs leadership signoff, not just media buyer.
5. military_meeting_package.md
Pre-meeting walk-in pitch. Three problems / three threads (Performance/Compliance/Partnerships). Stage 1 $20K diagnostic + cross-portfolio. Stage 2 $75K pilot. Stage 3 $60K/mo + 5% net-new revenue + 10% partnerships. Stage 4 $1.5–4M Cross-Valnet.
6–8. military_pitch_v2/v3.md, military_proposal.md
Earlier pitch iterations. Stage 3 $50–100K/month. Thread C (recruitment partnerships): "10 partners × $100K = $1M/year at 60–80% margin." military_proposal.md is the formal $75K 90-day pilot doc.
9. claude_code_master_prompt.md
Multi-agent orchestration prompt for original meeting prep. Contains the IP clause language (GTW retains War Room; client owns campaign data + creative assets). 8-vector risk assessment including "Hassan needs Rony signoff," "Valnet pays Net-60+ in practice."
Strategy Synthesis
Canonical strategy doc now: /Users/mo/Desktop/military.com/deliverables/june_2026/06_june_strategy_master.md. None of the Downloads strategy files reach that level of post-access operational specificity.
What's NEW in Downloads files not in June 2026 deliverables:
- HELOC expansion thesis — not in June plan at all
- RPL − CPL spread metric reframe — Mo's "most important strategic ask"; June plan operates within CPL goal-post framework without proposing change
- Thread C (recruitment partnerships) — present in pitch files; absent from June 2026 deliverables scope
- Customer-list lookalike eligibility test (W4-T3) — specific in-product test for the contested SAC/LAL question; not in June 2026 weekly roadmap
- Value-based lookalike seeded from payout-weighted customer list — not in June 2026 deliverables
- IP clause language — GTW retains War Room; client owns campaign data
- SAC mechanics documentation — more precise in Downloads files than in June 2026 deliverables
Tensions / contradictions with renegotiated deal terms
| Tension | Downloads file(s) | June 2026 reality |
|---|---|---|
| Counterparty | "the GM" / "Iron Corp leadership" | Hassan Youssef (Valnet CEO) |
| Comp structure | Fixed-fee pilots ($75K, $25K/month) | Base + % of growth above baseline |
| Baseline | Not discussed | Highest-leverage open item; $275K contested vs ~$155–185K defensible |
| Thread C (partnerships) | Core upside in pitch files; $1–3M/year | Not in June pilot scope |
| Goal-post targets | Static-baseline GP1/GP2/GP3 | Growing-baseline GP1 +15%, GP2 +36%, GP3 +57% |
| Metric | RPL−CPL spread proposed | June plan operates within CPL goal-post framework |
| Conversion-value priority | Ranked #1 | June plan deprioritizes vs creative engine + home reallocation |
| Form migration | Not mentioned | Major June scoping item |
Cross-references to the existing deliverables structure
LG_Military_DEFINITIVE_AUDIT.md+LG_Military_Master_Audit_TaskList_Learnings.pdf→ connect directly to/Users/mo/Desktop/military.com/deliverables/05_audit_visual_spec.md(the reliability framework / two-track plan source)LG_Military_Audit_June_Priorities.md→ connects to/Users/mo/Desktop/military.com/deliverables/june_2026/04_baseline_vetting_framework.md(economics table)LG_Military_30Day_Action_Plan.md→ maps onto Track 1 (cost levers) in/Users/mo/Desktop/military.com/deliverables/june_2026/01_first_week_playbook.mdand Track 2 (value pipe) in03_tracking_capi_rebuild.mdLG_Military_Master_Plan.mdW5 (metric reframe) → NOT YET reflected in any June 2026 deliverable — surface in master auditmilitary_meeting_package.md, pitch v2/v3,military_proposal.md→ fully superseded by the renegotiated deal; historical reference only
End of digest.