Lucerna.Skin
Creative slate · 2026-Q2 Meta launch
Prepared 2026-05-20 · Daniel Illingworth · Flowsly AI

Two campaigns, ten placement units. Prospecting locked on Carla’s first-batch references plus one Gemini-iterated variant. Retargeting half-locked: the reviews angle shipped today, three more angles wait on Carla’s second-batch revisions.

Status at a glance

6Campaign A locked
2Campaign B locked (Angle 1)
5Pending Carla (B Angles 2/3/4)
5Bonus prospecting pipeline
€12Combined daily budget
Lockedasset on disk, copy ready or trivial Carlaawaiting designer revision GeminiAI-rendered in-house TBDcopy field still to draft at upload

Campaign A — LK_Prospect_2026Q2 · €8/day

SettingValue
ObjectiveSales · optimise for Purchase · Lowest cost · 7-day click / 1-day view
TargetingManual (Advantage+ Audience OFF, Detailed Targeting Expansion OFF)
Geo / DemoSpain (peninsular + Baleares + Canarias) · 18–40 · all genders · Spanish (Spain) language
Detailed targetingManual interest stacks — see ad-set breakdown below. Detailed Targeting Expansion OFF. Advantage+ Audience OFF forever.
ExclusionsLK_Past_Purchase_30d + LK_Past_Purchase_180d + LK_ATC_30d + LK_IG_Engagers_90d
PlacementsManual: Feed (FB + IG) + Reels + Stories · drop Audience Network, Marketplace, Right column
Destinationlucernaskin.com/products/cubrepezones (UTM-tagged per ad)
CTAComprar ahora

Targeting — ad-set breakdown New 2026-05-20

Billy pushback 2026-05-20: at €8/day on a niche premium DTC product, broad targeting burns impressions on irrelevant audiences. Manual interest stacks required. Same 6 ads (A1–A6) run inside each ad set — Meta does not double-charge for mutually-exclusive audiences. Full rationale + Phase 2 trigger-gated additions in ops/ads/briefs/2026-05-20-targeting-stacks.md.

Ad set 1 · Lingerie adjacency

LK_Prospect_2026Q2_lingerie_adj · €4/day

InterestsSpanx · Skims · Wolford · Calvin Klein Underwear · Intimissimi · Women’secret · Oysho · Tezenis · Pretty You London · Étam
DemoWomen 22–40 · Spain · ES (Spain)
BehaviorsEngaged Shoppers
Reach · CPM2–4M est. · €6–12 band

Buyers paying €20–50 for invisible/shaping garments are pre-qualified on category AOV.

Ad set 2 · Premium fast-fashion

LK_Prospect_2026Q2_fashion_premium · €4/day

InterestsMassimo Dutti · Mango (mujer) · Zara Woman · Sandro · Ganni · Reformation · COS · Free People · Vestidos de cóctel · Moda femenina
DemoWomen 18–40 · Spain · ES (Spain)
BehaviorsOnline shopping
Reach · CPM4–6M est. · €5–10 band

Style-led shoppers at the premium-but-not-luxury band. Where “vestido sin espalda” use-case lands.

Ad set 3 · LAL IG engagers Optional T+0

LK_Prospect_2026Q2_lal_ig_engagers · +€4/day

Audience1–3% Lookalike from LK_IG_Engagers_90d (seed 9.5–11k)
DemoWomen 18–40 · Spain · ES (Spain)
Detailed targetingNone — the LAL is the targeting

Ready to build now — IG engagers seed is the only audience already sized for LAL. Hold for T+7 if budget tight.

Phase 2 — trigger-gated additions

StackTriggerStatus check
LK_Prospect_2026Q2_lal_atc — LAL from ATC seedLK_ATC_30d size ≥ 1kWeekly via meta-ads wrapper
LK_Prospect_2026Q2_lal_purchase — LAL from PURCHASE seed≥ 100 Pixel Purchase events / 180d (currently 4 lifetime)Monthly
LK_Prospect_2026Q2_bodas_events — weddings/events reserveWedding season Mar–Sep OR Phase 1 plateausActivate manually
LK_Prospect_2026Q2_verano — summer/festivales2026-06-15 + at least 2 summer-themed ads shippedCalendar-gated
LK_Prospect_2026Q2_value_lal — value-based LALCustomer file (email + value) ≥ 1k rowsDefer indefinitely

Specialist sign-off needed before launch. Billy validates: (1) Spanish interest names map to Meta taxonomy, (2) size floors hold after exclusions, (3) budget split €4/€4 vs consolidate to one €8/day ad set, (4) ship Ad set 3 at T+0 or defer to T+7.

Prospecting slate — 6 ads from Carla batch 1 (refs 37)

Each of the 6 ads (A1–A6) below runs inside every active ad set above. Per-ad performance reads cleaner because the creative variable is held constant across audiences.

A1 — Carla ref 3 as-is
A1 · Locked
Lilac bg + orange “10% OFF REGALO” + price slash + per-use footer. Discount-led variant A of the head-to-head.
Assetcarla-refs-2026-05-19/3.png
Format(s)4:5 · 1:1 · 9:16 needed from Carla in 1440 master
Headline (Ads Mgr)10% OFF de regalo
Primary textTBD draft at upload
A2 — 4:5 v3 pale-violet headline
A2 · Locked Gemini
Same composition as A1, headline shifted to pale-violet. Orange isolated to CTA + 30+ icon + price bubble. Tests the lilac-headline variant against A1’s orange-headline parent.
Assets on diskad-assets/a2/a2-4x5-v3.png · a2-1x1-v2.png · a2-9x16.png
Headline (Ads Mgr)10% OFF de regalo
Primary textTBD draft at upload
A3 — Carla ref 4
A3 · Locked
Cream + lilac “10% OFF REGALO” + annotation diagram + per-use footer. Discount-led with educational annotations.
Assetcarla-refs-2026-05-19/4.png
Format(s)4:5 master from Carla; 1:1 + 9:16 for placement expansion
Headline (Ads Mgr)Hipoalergénicas. 0,5mm.
Primary textTBD draft at upload
A4 — Carla ref 5
A4 · Locked
Cream + lilac discount + numbered icon list. Tests icon-set as proof shorthand vs. annotation arrows.
Assetcarla-refs-2026-05-19/5.png
Format(s)4:5 master from Carla
Headline (Ads Mgr)Diseñadas para repetirse.
Primary textTBD draft at upload
A5 — Carla ref 6
A5 · Locked
Real-body, white tank, red-orange panel bg, brand wordmark. No discount. Tests editorial vs. promo for brand-responsive audience segments.
Assetcarla-refs-2026-05-19/6.png
Format(s)4:5 master from Carla
Headline (Ads Mgr)Invisibles bajo la ropa.
Primary textTBD draft at upload
A6 — Carla ref 7
A6 · Locked
Real-body + annotation overlay, red-orange panel bg, no discount. Hybrid: real-body × annotations × brand wordmark.
Assetcarla-refs-2026-05-19/7.png
Format(s)4:5 master from Carla
Headline (Ads Mgr)Pezoneras reutilizables.
Primary textTBD draft at upload

Campaign B — LK_Retarget_2026Q2 · €4/day

SettingValue
ObjectiveSales · optimise for Purchase · same bidding + attribution as Campaign A
AudienceSaved audience LK_Retarget_Union = LK_IG_Engagers_90dLK_ATC_30dLK_VC_NotIC_14dLK_Site_Visitors_30d
ExclusionsLK_Past_Purchase_30d + LK_Past_Purchase_180d
PlacementsManual: Feed + Reels + Stories · same as Campaign A
Creative posture3 angles × 2 variants (with-discount / no-discount) + 1 new carousel angle = 4 angles, 7 placement units. Fresh material — never re-used from Campaign A.

Angle 1 · Real PDP reviews Locked Gemini

Editorial-typographic. Three verbatim 5☆ reviews from Supabase imports (Pamela A. · Valeria A. · Verónica A. — Cliente verificada). Brand-cream bg, EB Garamond italic quotes, brand-orange stars + CTA. Rendered via gemini-3-pro-image-preview 2026-05-20.

Variant A · No discount

Angle 1 Variant A
Assetangle-1-reviews/variant-a-no-discount/4x5.png
Headline (Ads Mgr)Esto dicen quienes ya las usan
Primary textTBD — suggest: “7 de 7 reseñas en 5 estrellas. Estas son tres.”

Variant B · With 10% OFF ribbon

Angle 1 Variant B
Assetangle-1-reviews/variant-b-discount/4x5.png
Headline (Ads Mgr)10% OFF tu primera compra
Primary textTBD — suggest: “Las que ya las usan lo cuentan así. 10% off tu primera.”

Angle 2 · Materials / how-made Carla pending

Base = Carla batch−2 ref 8.png (educational, annotations, brand wordmark, footer present). Already correct — ships as Variant A once 4:5-reframed.

Variant A · No discount

Carla ref 8 (pending 4:5 reframe)
Source refcarla-refs-2026-05-19/8.png (3:4 master, reframe to 4:5 1440×1800)
Headline (Ads Mgr)Silicona médica. 0,5mm.
Primary textTBD — suggest copy that names the four annotations

Variant B · Price-slash overlay

Carla to produce: 8 + 28.99€ → 26.10€ bubble (lilac on cream, no double-orange)
Source refPending Carla — see ops/ads/briefs/2026-05-20-carla-pushback.md §3
Headline (Ads Mgr)10% OFF tu primera compra
Primary textTBD

Angle 3 · Vestido sin espalda Carla pending

Base = Carla batch−2 ref 16.png (draped halter/backless scenario). Needs Fix 1 (WaterproofA prueba de agua) + Fix 2 (per-use footer) + Fix 3 (4:5 reframe).

Variant A · No discount

Carla ref 16 (pending fixes + 4:5 reframe)
Source refcarla-refs-2026-05-19/16.png (pending all 3 fixes)
Headline (Ads Mgr)Para los vestidos sin espalda.
Primary textTBD

Variant B · 10% OFF ribbon

Carla to produce: 16 (after fixes) + lilac 10% OFF tu primera compra ribbon top-right
Source refPending Carla — same brief
Headline (Ads Mgr)10% OFF tu primera compra
Primary textTBD

Angle 4 · 3-slide problem-narrative carousel Carla pending New

Surfaced from Carla batch−2. Three-card narrative 131415: home → outfit → tape pain → solution. Ships as no-discount only (per 2026-05-20 user decision: discount overlay would dilute the problem → solution arc). Carousel mandates 1:1 cards at 1440×1440.

Slide 01 · Casa

Slide 01 — casa
Source13.png → needs footer + 1:1 reframe

Slide 02 · Outfit

Slide 02 — outfit
Source14.png → needs footer + 1:1 reframe

Slide 03 · Tape pain

Slide 03 — tape pain
Source15.png → needs footer + 1:1 reframe

Headline (Ads Mgr): Para vivir tu día sin pensar en ellas.  Primary text: TBD — surface the narrative arc in 50–150 chars.

Bonus prospecting pipeline (T+7 rotation candidates)

Carla batch−2 leftovers after fixes. Hold for the 2026-05-26 T+7 review — rotate in as variant freshness against the slowest-performing Campaign A ads. All need the same 3 systemic fixes from ops/ads/briefs/2026-05-20-carla-pushback.md.

Carla 9 — INVISIBLES headline
Pipeline · 9
Headline-led INVISIBLES ALL-CAPS (single word, allowed for hierarchy). Strong thumb-stop variant. Tests headline-led prospecting vs. annotation-led.
After fixesFooter already present. Only needs Waterproof swap.
Carla 10
Pipeline · 10
Emotional-question prospecting variant. Adds an emotional register to the slate’s otherwise educational + discount mix.
After fixesNeeds Waterproof swap + footer added.
Carla 12
Pipeline · 12
¿Tu primer alivio del día…? question. Same composition as 11 (killed) but cleaner vertical-left icons. Tests question-led hook.
After fixesWaterproof swap + footer + question body to sentence case (not ALL-CAPS).

Carla cycle (sent 2026-05-20, awaiting return)

Brief: ops/ads/briefs/2026-05-20-carla-pushback.md · Refs source: ops/ads/creative/carla-refs-2026-05-19/8.png16.png

What goes to Carla

What comes back

Priority order: (1) 8 + 8-vb and 16 + 16-vb unblock retargeting Angles 2 + 3 with both variants — ship first. (2) Carousel 13/14/15 unblocks Angle 4. (3) 9 / 10 / 12 — bonus prospecting pipeline for T+7.

Setup walkthrough — Ads Manager upload

  1. Phase 0 · Audience hygiene (~10 min)
    • Rename existing 4 audiences with LK_ prefix: PAST_PURCHASE (30 DAYS)LK_Past_Purchase_30d; ADD TO CART (30D)LK_ATC_30d; ENGAGED_IG(90D)LK_IG_Engagers_90d; ENGAGED_FB(90D) mark as deprecated (below floor).
    • Create LK_Past_Purchase_180d (Custom audience → Website → event = Purchase, retention = 180d).
    • Create saved audience LK_Retarget_Union = LK_IG_Engagers_90dLK_ATC_30dLK_VC_NotIC_14dLK_Site_Visitors_30d, excluding both past-purchase audiences.
    • Verify via meta-ads wrapper: 9 audiences with LK_* prefix, LK_Past_Purchase_180d Ready-for-use.
  2. Phase 1 · Campaign A launch (Sales / Purchase / €8/day)
    • Create campaign LK_Prospect_2026Q2 — objective Sales, ad-set budget (no CBO).
    • Single ad set: name LK_Prospect_2026Q2_broad_es18-40. Settings per the Campaign A card above. Set the 4 exclusion audiences.
    • Upload 6 ads (A1–A6). For each ad: Advantage+ Creative enhancements OFF on every toggle (Music, Image animation, 3D animation, Visual touch-ups, Brightness/contrast, Image expansion, Image templates, Add overlays, Show product tags). Standard Enhancements OFF. Multiple text optimisations OFF. Sitelinks OFF. Language: Spanish (Spain) specifically.
    • Per ad upload Headline (≤27 chars), Primary text (50–150 chars), CTA = Comprar ahora, Destination = lucernaskin.com/products/cubrepezones with UTM utm_source=meta&utm_medium=cpc&utm_campaign=LK_Prospect_2026Q2&utm_content=A1 (etc).
  3. Phase 2 · Campaign B launch (Sales / Purchase / €4/day) — blocked on Carla return
    • Create campaign LK_Retarget_2026Q2. Same Sales objective, separate budget.
    • Single ad set: LK_Retarget_2026Q2_union. Audience = LK_Retarget_Union saved. Exclude both past-purchase audiences. Placements + per-ad enhancements identical to Campaign A.
    • Upload 7 placement units once Carla returns: Angle 1 V-A + V-B (locked, ready now), Angle 2 V-A + V-B, Angle 3 V-A + V-B, Angle 4 carousel (3 cards 1:1, single ad).
  4. Phase 3 · Reporting preset (~5 min, anytime)
    • Build column preset LK_Funnel_CR1-CR3: CR1 = Link Clicks + Link CTR · CR2 = Adds to Cart + Checkouts Initiated · CR3 = Purchases + Cost per Purchase + Purchase ROAS · plus Spend, Impressions, Frequency, Quality Ranking, Engagement Rate Ranking, Conversion Rate Ranking. Save and set as default for both campaigns.
  5. Phase 4 · T+7 review (2026-05-26)
    • Kill bottom-2 ads per campaign by CPA outlier OR CTR < 0.5% after ≥1k impressions. Brief 2 replacement variants per campaign (single-dimension changes only). Bonus pipeline (refs 9 / 10 / 12) ready to slot in as Campaign A replacements.

Targeting — locked 2026-05-21 Upload-ready

Supersedes the v1 stacks doc and the menu framing. Two ad sets ship at T+0 under Campaign A — same 6 ads (A1–A6) run in each. Stacks 3–6 are pre-specified with trigger conditions, not "decide later". This section is the canonical upload spec; the markdown file (ops/ads/briefs/2026-05-21-launch-targeting.md) is a mirror.

Campaign A — LK_Prospect_2026Q2 envelope (applies to all ad sets)

ObjectiveSales · optimise for Purchase
Budget controlAd-set budget (no CBO) · Lowest cost bidding
Attribution7-day click / 1-day view
GeoSpain (peninsular + Baleares + Canarias)
LanguageSpanish (Spain) — not the generic "Spanish" toggle (spills into LATAM)
GenderWomen
PlacementsManual: Feed (FB + IG) + Reels + Stories. Drop: Audience Network, Marketplace, Right column.
Detailed Targeting ExpansionOFF (every ad set, invariant)
Advantage+ AudienceOFF (every ad set, forever)
Total Campaign A budget€8/day at T+0 (€4/€4). Scales per trigger schedule below.

Ad set 1 · LK_Prospect_2026Q2_lingerie_adj · €4/day · Age 22–40

Wedge: already pays €20–50 for invisible/shaping garments — AOV pre-qualified.

# Interest (upload-name) Meta ID Audience size
1Spanx60030904723013.6M–4.2M
2SKIMShand-verify in UI
3Wolford6003391746154323k–380k
4Calvin Klein Underwearhand-verify in UI (Graph returns Calvin Klein parent — too broad)
5Intimissimi600324737929911M–13M
6women'secret60031024735782.2M–2.5M
7Oysho60093744622957.8M–9.2M
8TEZENIS60031700337023.6M–4.2M
9La Perla NEW6002991665859522k–613k
10COSABELLA NEW6003148971549778k–915k

Behavior overlay: Engaged Shoppers 6071631541183 · Diff vs v1: dropped Pretty You London + Étam (smaller / less premium); added La Perla + Cosabella (verified premium-AOV signal). Expected CPM: €6–12. Estimated reach (Meta will confirm at upload): 2–4M.

Ad set 2 · LK_Prospect_2026Q2_fashion_premium · €4/day · Age 18–40

Wedge: style-led shoppers at the premium-but-not-luxury fast-fashion band — where "vestido sin espalda" lives.

# Interest (upload-name) Meta ID Audience size
1Massimo Dutti60037797538529.2M–10.8M
2Mango (clothing)600313216273946M–54M
3Zara Womanhand-verify in UI (Graph returns generic Zara parent — too broad)
4Sandrohand-verify in UI (Graph returns near-zero variant — brand exists, normalization issue)
5Ganni6003038366329677k–797k
6Reformation60030135622931.4M–1.7M
7COS60127629264892.9M–3.4M
8BIMBA Y LOLA NEW60123672823631.6M–1.8M
9Sézane NEW60088486781641.3M–1.5M
10Maje NEW60031469968681.4M–1.7M

Behavior overlay: Online shopping 6003346592981 · Diff vs v1: dropped Free People (US-skewed) + "Vestidos de cóctel" + "Moda femenina" (failed verification); added Bimba y Lola + Sézane + Maje. Expected CPM: €5–10. Estimated reach: 4–6M.

Trigger schedule

When Condition Action
T+7 · 2026-05-28 Per ad set: CTR < 0.5% at ≥1k impressions Kill underperformer, replace with Stack 4 (Bodas) at €4/day. Pre-specified below.
T+14 · 2026-06-04 Campaign A has ≥10 Purchases in trailing 7d Add Stack 5 (Verano) at €4/day — festival season is live. Total Campaign A €12/day.
If T+0 both fail Both ad sets < CR1 thresholds Pause Campaign A — not an audience problem. Rework creative.
Held indefinitely Campaign A plateaus AND need reach AND can't activate Stack 4/5 first Stack 3 (Beauty) · AOV-analogue argument weak for body-product specifically.
Held indefinitely Same as above + Stack 3 also exhausted Stack 6 (Body confidence / media) · high-engagement low-purchase risk.

Stack 4 · LK_Prospect_2026Q2_bodas_events · trigger-ready (T+7)

Wedge: highest-intent narrow stack. Wedding/engagement/formal-event life-signal correlates directly with backless/strapless/halter dress purchase. Geo Spain · Women 25–38 · es_ES · same envelope settings as Ad sets 1/2.

# Interest Meta ID Audience size
1Wedding planning60030698982295.1M–5.9M
2Gala60036164986874.8M–5.6M
3Cocktail party60033202132942.4M–2.9M
4Vera Wang60033815267431.7M–2M
5Pronovias60032828690021.2M–1.4M
6Bodas.net6003359354221438k–515k
7Rosa Clará6003202087086353k–415k
8Monique Lhuillier6003257275301248k–292k
9Vestido de noviahand-verify in UI
10Despedida de solterahand-verify in UI

Behavior: Engaged Shoppers 6071631541183

Life events overlay: Newly engaged (1 year) 6003050210972 · Newlywed (3 months) 6013133420583 · Anniversary within 30 days 6017476616183

Stack 5 · LK_Prospect_2026Q2_verano · trigger-ready (T+14)

Wedge: seasonal — Spanish festivales, beach holidays, resort wear. Activated mid-June through August. Geo Spain · Women 18–32 · es_ES.

# Interest Meta ID Audience size
1Mykonos60032220902766.9M–8.1M
2Calzedonia60033260319415.6M–6.6M
3Crucero60150684660994.5M–5.3M
4Formentera60036979671831.6M–1.9M
5Primavera Sound6003372662140891k–1M
6Ushuaïa Ibiza Beach Hotel406865796146660759k–893k
7Bilbao BBK Live6005430973159294k–345k
8Festival Internacional de Benicàssim (FIB)6003288316351140k–165k
9Arenal Sound6003335987448111k–130k

Behavior: Beach Travellers 6014648415813 (narrower than Frequent Travelers — better fit for AOV band)

Life events (optional, skip unless under-pacing): Away from family 6003053857372 · Away from hometown 6003053860372

Phase 2 · LAL audiences (trigger-gated separately)

LAL ad set Seed Status / trigger
LK_Prospect_2026Q2_lal_ig_engagers1–3% LAL from LK_IG_Engagers_90d (9.5–11k, exceeds 1k min)Ready to build now — deferred only because T+0 budget is fully allocated. Activate at T+14 alongside Stack 5 if scale gate clears.
LK_Prospect_2026Q2_lal_atc1–3% LAL from LK_ATC_30dTrigger: ATC audience size ≥1k members. Status-check weekly via meta-ads wrapper.
LK_Prospect_2026Q2_lal_purchase1% LAL from Purchase seedTrigger: ≥100 Pixel Purchase events / 180 days (currently 4 lifetime — far from threshold). Monthly check.
LK_Prospect_2026Q2_value_lalValue-based LAL from customer fileTrigger: same as LAL Purchase + customer-file upload built.

Standard exclusions (every ad set in Campaign A)

Per-ad enhancements (every ad in Campaign A)

All toggles OFF (matches 2026-05-19-campaign-structure.md §4):

Why this lineup (ranked)

Rank Stack Launch slot Confidence Reason
1Lingerie adjacencyT+0HighCleanest AOV-band overlap. €20–50 lingerie buyer → €28.99 product is a direct AOV step, not an analogue. Best verified IDs (Spanx, Cosabella, La Perla, Intimissimi).
2Fashion premiumT+0High"Vestido sin espalda" use-case + editorial register match. Spanish premium fast-fashion buyer (Bimba y Lola, Massimo Dutti, Mango) is the volume play.
3Bodas / eventsT+7 triggerHighHighest intent but narrowest reach + most CPM-volatile. Held back so it doesn't compete with Stacks 1/2 for budget at T+0. Verified bridal + life-event coverage is excellent.
4Verano / festivalesT+14 triggerMedium-highSeasonal — festival season ramps June 1. Holding for scale gate so spend isn't wasted while T+0 stacks are still in learning.
5Beauty / skincareIndefinitelyMedium-lowAOV-analogue argument weak for a body product specifically. Only 5 verified high-confidence brands.
6Body confidence / lifestyle mediaIndefinitelyLowSoftest wedge. Premium-media readers are high-engagement, not necessarily high-purchase on intimate-apparel-adjacent.

Why €4/€4 not €8 on one or €2.67×3: €8 on one stack kills the test (no comparison data). €2.67 across 3 ad sets is below Lowest-cost-bid's learning floor (consensus €4–5/day) — all three stay in learning indefinitely. €4/€4 across 2 stacks is the cleanest A/B with enough budget per ad set to exit learning.

On hand-verify rows: a handful of universally-known brands (SKIMS, Calvin Klein Underwear, Zara Woman, Sandro, plus the ES wedding category terms Vestido de novia / Despedida de soltera / Vestido de cóctel) don't surface cleanly via Meta's public Graph adinterest endpoint — either empty or matched to a too-broad parent. They exist in the Ad Set UI autocomplete. Type the name directly in the in-app search at upload — it will find them. Normal Meta behavior, not a data issue.

Canonical spec: ops/ads/briefs/2026-05-19-campaign-structure.md · Launch checklist: ops/ads/briefs/2026-05-19-launch-checklist.md · Carla pushback brief: ops/ads/briefs/2026-05-20-carla-pushback.md · Carla refs: ops/ads/creative/carla-refs-2026-05-19/ · Rendered assets: ops/ads/creative/drafts-2026-05-19/ · Targeting (locked): ops/ads/briefs/2026-05-21-launch-targeting.md · Verification receipts: ops/ads/briefs/2026-05-21-targeting-research.md · Plan file: ~/.claude/plans/session-handoff-jiggly-abelson.md.