← Back to Military.com

Audience Architecture — AS BUILT (verified live in Meta)

Date: June 13, 2026

Account: LG Military Ads (1034037341617540)

Status: ✅ Built and live — verified against Meta API. Supersedes the Jun 11 architecture spec.


TL;DR — what we did today

Replaced a 10-month-old stale audience layer with a fresh, verified one — 18 new audiences built, all live, plus two account-level segment swaps. Match rates landed healthy (~45-51%), so the lookalikes are sitting on strong seeds. The earlier "8% match" scare was a populating-snapshot artifact, not a real problem — confirmed once lists finished processing.

Headline numbers (verified live):


Part 1 — What changed (before → after)

LayerBEFORE (stale)AFTER (as-built today)
Customer seedCustom_Recruiting-Leads_08-05-2025 — 10 months old6 fresh GTW_ customer lists (Mar–May + 7-mo)
LAL ladder1/3/5% off the stale 2025 seed12 fresh GTW_ LALs off 4 new seeds
High-value targetingNoneGTW_HighValue_Seed + LAL ladder (SAC-compliant value workaround)
Phone identifierNone (email-only)gtw_mil_auto_owned_phone added (phone + conversion values)
Existing-customers segmentMil FB Customer Match 4.12.21 (5+ years old)GTW_Mil_AllCustomers_7mo_06-13 (~90K matched)
Engaged segmentNot defined4 page-engagement audiences (~1.5M warm pool) ✅
Warm pool1.5M sitting unusedGTW_Warm_PageEngagement_365D saved audience built

Part 2 — The audiences we built (live, with real match rates)

Customer-list seeds

Audience name (in Meta)Source fileRaw rowsMatched (live)Match %
GTW_Mil_AllCustomers_7mo_06-13 (shows as mil_suppression_all_7mo.csv, label Customers)mil_suppression_all_7mo.csv195,13782,900–97,600~46%
GTW_HighValue_Seed_06-13mil_high_value_seed_7mo.csv62,29927,800–32,700~49%
GTW_Combined_Seed_06-13mil_combined_seed_90d.csv112,26450,100–58,900~49%
GTW_Auto_Seed_06-13mil_auto_seed_90d.csv91,87141,900–49,300~50%
GTW_Home_Seed_06-13mil_home_seed_90d.csv21,7778,700–10,200~43%
GTW_Bundle_06-13mil_bundle_customers_7mo.csv2,698~1,000(small — track only)
gtw_mil_auto_owned_phone_06-13mil_auto_owned_phone_06-13.csv21,37510,000–11,800~51%
mil_auto_owned_phone_highvalue_06-13mil_auto_owned_phone_highvalue_06-13.csv9,7964,600–5,400~51%

Lookalike ladders (12, all live)

LadderAudiencesBuilt from
HighValue ⭐Lookalike (1/3/5%) - GTW_HighValue_Seed_06-13HighValue seed
AutoLookalike (1/3/5%) - GTW_Auto_Seed_06-13Auto seed
HomeLookalike (1/3/5%) - GTW_Home_Seed_06-13Home seed
CombinedLookalike (1/3/5%) - GTW_Combined_Seed_06-13Combined seed

(Meta no longer shows LAL size at creation — it displays when the LAL is loaded into an ad set, sized to that ad set's US location.)

Saved audience + account segments


Part 3 — The phone-file finding (important)

We added Auto_owned_export (phone + email + conversion values, ~3-month Auto window) expecting it to dramatically outperform the email-only files on match rate. It didn't — and that's good news, not bad:

They're essentially equal. This proves the email data was never the problem — the scary 8% we saw earlier was just a mid-population snapshot. Both land at a healthy ~50%.

So what's the phone file actually worth? Two things it has that the email files don't:

Use it as the sharper Auto + HighValue seed, not as a match-rate fix. The match rate was already fine.


Part 4 — File → Audience → Campaign assignment map

This is where each audience gets deployed. (Ad-set loading + budget = Lauren/Anthony's lane — this is the target-state map for when they wire it in.)

CampaignAd setAudience to loadExclude
Auto Max Val (0.91x — bleeder)Broad ValueLookalike 1/3/5% - GTW_HighValue_Seed ⭐ (rescue)Suppression
Auto ALC (1.73x — headroom)Broad 2.OLookalike 1/3/5% - GTW_Auto_Seed (or phone-owned)Suppression + HighValue 1%
Auto BAU (1.76x — engine)Broad (Adv+)Advantage+ broadSuppression
Auto BAUWarm LayerGTW_Warm_PageEngagement_365DSuppression
Home Max ValBroad ValueLookalike 1/3/5% - GTW_HighValue_Seed (combined)Suppression
Home ALCBroadLookalike 1/3/5% - GTW_Home_SeedSuppression + HighValue 1%
Home BAUBroad (Adv+)Advantage+ broadSuppression
Home BAUWarm LayerGTW_Warm_PageEngagement_365DSuppression
ALL prospecting(every ad set)GTW_Mil_AllCustomers_7mo (suppression)

Account-level (already applied, automatic across all Sales campaigns):


Part 5 — Cleanup list (do when convenient — not urgent)

Duplicate/failed uploads from the troubleshooting session. Safe to delete; leave the canonical ones:

DeleteWhy
2gtw_mil_suppression_all_7mo.csv (INACTIVE, 1,000)Failed re-upload
mil_suppression_all_7mo.csvQualified leads label (99,200–116,700)Duplicate; wrong label. Keep the Customers-labeled one instead

Retire AFTER the new LALs are validated in ad sets (don't delete yet — campaigns still use them):


Part 6 — What results to expect, and when

The audiences sharpen WHO Meta reaches. They are not an instant switch. Realistic timeline:

TimeframeWhat happens
ImmediateExisting-customers + Engaged segments apply automatically across all Sales campaigns. Meta begins steering toward net-new.
Days 1–3Once LALs are loaded into ad sets, they enter Meta's learning phase. Directional signal only — don't judge yet.
Days 4–7Learning phase stabilizes. CPL on LAL-targeted ad sets should begin to settle.
Weeks 1–2Clean read. Expect: prospecting CPL improvement from fresher/sharper seeds, less waste from suppression, the HighValue LAL giving Auto Max Val a cleaner audience than its broken value signal.

Honest expectation-setting: the audience layer is one lever. Two things matter more for hitting Anthony's June number:

The audience work makes every prospecting dollar work harder. It compounds with the above; it doesn't replace them.


Appendix — quick reference


Account: 1034037341617540 (LG Military Ads)

GTW audiences live (verified 6/13):
  Seeds (6):     AllCustomers_7mo, HighValue, Combined, Auto, Home, Bundle
  Phone (2):     auto_owned_phone, auto_owned_phone_highvalue
  LALs (12):     {HighValue, Auto, Home, Combined} × {1%, 3%, 5%}
  Saved (1):     GTW_Warm_PageEngagement_365D (1.6-1.9M)
  Segments (2):  Existing customers + Engaged → updated

Match rates: all ~45-51% (healthy). 8% scare = populating snapshot, resolved.

Source files: /Users/mo/Downloads/For FB Audiences/output/
Prep script:  deliverables/audit_2026-06-04/prep_audience_csvs.py

← Back