Ebb Ocean Club: who is winning paid social now (2026-11-05)

Research only. No copy written, nothing spent, published or committed. Every number below is an AD COUNT or an ENGAGEMENT count (likes + comments + shares recorded by AdSpy); none of it is spend or sales. Engagement favours old ads and video, so read days beside it. "Live" means AdSpy saw the ad between 2026-10-06 and 2026-11-05. "Proven" = 100+ engagement AND (30+ days between AdSpy's first and last sighting OR the same first line on 2+ ads in the brand's pull, which is the relaunch count).

Baselines: the 2026-10-06 brand table in ../competitors/COMPETITORS.md (all-time AdSpy pulls plus Ad Library display counts) and the 2026-10-07 live pulls in ../competitors/adspy/winners-20261007/now-*.json, which used the identical query (--domain <d> --seen-days 30 --sort likes --n 40). The delta columns compare like with like against 10-07.

1. Ebb's own ads

Conditions: [OBSERVED, market] Meta Ad Library, US, all statuses, destination ebboceanclub.com, pulled 2026-11-05; ad counts, not spend or results; one advertiser.

Ebb is live. Meta Ad Library, US, all statuses, destination ebboceanclub.com: the library displays about 130 results; 120 rows were pulled (raw/adlib/ebb_domain_all.jsonl). The exact-phrase query "Ebb Ocean Club" returns the same 120 ids, and --country ALL also shows about 130 (ebb_domain_ALL_all.jsonl), so the account runs US only.

started lander (ebboceanclub.com/pages/about?view=) format first line ads
2026-10-30 ebb-sephora-42 IMAGE The Sephora Savings Event starts today. 9
2026-10-31 ebb-sephora-41 DCO The Sephora Savings Event ends 11/9. 1
2026-10-31 ebb-sephora-41 IMAGE You take care of your skin barrier. Your hair has one too. 40
2026-10-31 ebb-sephora-42 DCO The Sephora Savings Event starts today. 1
2026-10-31 ebb-sephora-42 IMAGE The Sephora Savings Event starts today. 4
2026-10-31 ebb-sephora-42 IMAGE You take care of your skin barrier. Your hair has one too. 27
2026-11-01 ebb-sephora-41 IMAGE You take care of your skin barrier. Your hair has one too. 7
2026-11-01 ebb-sephora-42 IMAGE You take care of your skin barrier. Your hair has one too. 7
2026-11-04 ebb-sephora-41 VIDEO You take care of your skin barrier. Your hair has one too. 12
2026-11-04 ebb-sephora-42 VIDEO You take care of your skin barrier. Your hair has one too. 12

AdSpy shows none of it. Every Ebb query returned 0 ads (see absences); AdSpy has not indexed ads that started 2026-10-30 to 11-04, which also means AdSpy's 30-day window undercounts every brand's newest ads.

2. Brands ranked by live evidence

Sorted by summed engagement of the brand's live AdSpy ads (raw/adspy/now-<domain>.json). Kitsch was re-pulled with --n 120 (now120-mykitsch.com.json) because the 40-ad pull hit its cap; the 10-07 Kitsch baseline was capped at 40, so its delta in ad count is a floor. Ad Library columns: the library's own displayed result count for active ads by destination domain in the US, and the same query restricted to ads that started on or before 2026-10-06 (still active, so running 30+ days). "not reached" = queued, but the shared AdsPower research profile was held by other lanes' TikTok scrapers (one comments job had a 40-minute timeout) and the lane was stopped at 08:05 EST with these queries unrun. No Meta rate limit (1675004) was hit. Rerun the rest with ./adlib_run.sh adlib_spec3.txt (it skips finished labels), then python3 build_doc.py.

rank brand (domain) sells AdSpy live ads, seen 10-06..11-05 summed eng top ad eng proven video 10-07 same query: ads / summed eng / top / proven Ad Library active (US, displayed) active started on/before 10-06 10-06 Ad Library active
1 mykitsch.com hair care + accessories + face tools 83 289,176 46,797 54 51 40 / 260,148 / 46,777 / 23 ~3,800 ~1,100 about 2,700
2 langehair.com hair tools (dryer brushes) 40+ 207,644 30,118 38 33 not pulled not run not run not pulled
3 humbyorganics.com hair care (shampoo bar, 50+ women) 28 204,055 33,942 27 17 not pulled ~81 not reached not pulled
4 routinecos.com hair care (shampoo + conditioner) 12 129,380 21,904 11 2 not pulled not reached not reached not pulled
5 justnutritive.com hair care (gray hair shampoo, leave-in) 19 34,728 8,476 16 5 not pulled not reached not reached not pulled
6 rouvenor.com general store (one hair mask) 8 32,079 15,203 6 8 not pulled not run not run not pulled
7 kurinuka.com hair oil (batana) 16 29,214 18,589 11 13 not pulled not reached not reached not pulled
8 flownbeauty.com hair tool (GoBrush) 22 25,316 6,743 14 15 not pulled not run not run not pulled
9 olaplex.com hair care (bond repair) 13 10,087 9,104 2 1 11 / 3,955 / 1,938 / 1 not run not run not pulled
10 eskiin.com filtered showerhead 16 6,963 2,582 8 16 29 / 33,544 / 7,033 / 27 ~710 ~370 about 810
11 cecred.com hair care (hair perfume pushed now) 7 4,953 3,921 2 4 18 / 5,701 / 2,672 / 4 not reached not reached not reached
12 crownaffair.com hair care (air dry cream, leave-in) 8 3,266 2,971 1 6 1 / 10 / 10 / 0 not reached not reached not reached
13 theouai.com hair care (fragrance pushed now) 8 1,315 991 2 7 8 / 3,970 / 2,921 / 0 not reached not reached about 270
14 hairbrella.com satin-lined caps 5 927 464 1 2 5 / 1,444 / 1,015 / 2 ~810 ~370 about 970
15 mimihaircare.com kids hair care 1 36 36 0 1 not pulled not run not run not pulled
16 sunbum.com sunscreen (hair line idle) 2 18 9 0 0 2 / 48 / 29 / 0 not reached not reached not reached
17 bondiboost.com hair care (growth) 1 9 9 0 1 5 / 65 / 32 / 0 not reached not reached not reached
18 briogeohair.com hair care 0 0 0 0 0 not pulled not reached not reached -
19 ever-eden.com kids skin + after-swim hair 0 0 0 0 0 not pulled not reached not reached not reached
20 gisou.com hair oil, honey 0 0 0 0 0 not pulled not reached not reached -

Delta vs 2026-10-06/07, in plain terms

3. Top 5 live ads per brand

Columns: AdSpy id (AdSpy's id is the Facebook post id for FB ads and the shortcode for Instagram ads), the post link built from AdSpy's record, format, first line of the caption, engagement (likes/comments/shares), days between AdSpy's first and last sighting with the dates, relaunch count (ads in the brand's pull sharing the first line), proven flag, lander.

mykitsch.com (hair care + accessories + face tools)

# ad id AdSpy FB post format first line eng (L/C/S) days relaunch proven lander
1 1523265583179196 adspy post Video Frizz? Never heard of her. 💁‍♀️✨Meet the NEW Smoothing Air Dry Cream, your effortless solu 46,797 (46495/54/248) 145 (2026-06-06..2026-10-29) 10 yes https://www.mykitsch.com/products/kitsch-smoothing-air-dry-cream
2 1622351319937288 adspy post Video Wake up looking puffy? Give your face a few minutes of massage. ✨ The Lymphatic Contour Fa 30,486 (30185/30/271) 42 (2026-09-17..2026-10-29) 8 yes https://www.mykitsch.com/products/terracotta-lymphatic-contour-face-brush
3 1649532767219143 adspy post Video Wake up looking puffy? Give your face a few minutes of massage. ✨ The Lymphatic Contour Fa 30,278 (30253/2/23) 17 (2026-10-12..2026-10-29) 8 yes https://www.mykitsch.com/products/terracotta-lymphatic-contour-face-brush
4 1661786305993789 adspy post Video Frizz? Never heard of her. 💁‍♀️✨Meet the NEW Smoothing Air Dry Cream, your effortless solu 18,526 (18517/1/8) 5 (2026-10-23..2026-10-28) 10 yes https://www.mykitsch.com/products/kitsch-smoothing-air-dry-cream
5 1618608813644872 adspy post Video Frizz? Never heard of her. 💁‍♀️✨Meet the NEW Smoothing Air Dry Cream, your effortless solu 15,810 (15752/10/48) 27 (2026-09-13..2026-10-10) 10 yes https://www.mykitsch.com/products/kitsch-smoothing-air-dry-cream

langehair.com (hair tools (dryer brushes))

# ad id AdSpy FB post format first line eng (L/C/S) days relaunch proven lander
1 1328378502782138 adspy post Video Easily Done At Home 30,118 (26738/1357/2023) 126 (2026-06-16..2026-10-20) 1 yes https://t.langehair.com/SHOJg
2 935755325221204 adspy post Video Watch as I turn my freshly cut, above-the-shoulder hair into silky smoothness with L’ange’ 25,031 (19538/2629/2864) 961 (2024-03-06..2026-10-23) 1 yes http://t.langehair.com/SHHin
3 1120038399487938 adspy post Video ❤ Tangles slide right out! It is FINALLY on sale so I'M STOCKING UP - 50% off SALE, ( Hydr 19,689 (13242/4756/1691) 688 (2024-11-26..2026-10-15) 1 yes
4 1123580082418385 adspy post Video Does your hair fall flat?? You need Salt & Sea Texturizing Spray!! ONLY $9.95!! 13,269 (10156/1679/1434) 929 (2024-03-28..2026-10-13) 1 yes http://t.langehair.com/SHHlR
5 1458441199622102 adspy post Video The viral brush, but better! 12,098 (10223/1348/527) 274 (2026-01-05..2026-10-06) 1 yes https://t.langehair.com/SHNUc

humbyorganics.com (hair care (shampoo bar, 50+ women))

# ad id AdSpy FB post format first line eng (L/C/S) days relaunch proven lander
1 1171304901686518 adspy post Photo The truth about manufacturing in the USA? 🇺🇸 33,942 (23319/8959/1664) 415 (2025-09-04..2026-10-24) 1 yes https://humbyorganics.com/pages/blueberry-fields-for-mature-hair
2 1217068083776866 adspy post Video Finally tried a shampoo bar for mature hair! Here’s what surprised me... 19,007 (14647/3444/916) 354 (2025-10-28..2026-10-17) 1 yes https://humbyorganics.com/pages/blueberry-fields-for-mature-hair
3 1397364235747249 adspy post Video They told me not to grow out my gray hair 16,832 (13995/2471/366) 140 (2026-06-11..2026-10-29) 2 yes https://humbyorganics.com/pages/blueberry-fields-for-mature-hair
4 1500541498762855 adspy post Video Women over 50 are the reason our best-selling shampoo bar exists. 💙 16,488 (14565/1254/669) 27 (2026-10-08..2026-11-04) 3 yes https://humbyorganics.com/pages/blueberry-fields-for-mature-hair
5 DWxsRm2DPS7 adspy post Video Post-50 hormonal changes can make your hair thin, brittle and frizzy. 14,332 (13234/1098/0) 202 (2026-04-06..2026-10-25) 3 yes https://humbyorganics.com/pages/blueberry-fields-for-mature-hair

routinecos.com (hair care (shampoo + conditioner))

# ad id AdSpy FB post format first line eng (L/C/S) days relaunch proven lander
1 1443272891145883 adspy post Video Get a FREE TRAVEL SIZE KIT with any purchase when you use code: TRAVEL 21,904 (15290/4207/2407) 156 (2026-05-07..2026-10-10) 1 yes https://www.routinecos.com/product/shampoo-conditioner/
2 2208708706534012 adspy post Video Get a FREE TRAVEL SIZE KIT right now with any purchase using code: TRAVEL 21,180 (20587/45/548) 160 (2026-05-12..2026-10-19) 1 yes https://www.routinecos.com/product/shampoo-conditioner/
3 1121944779945364 adspy post Photo BIG NEWS! 20,721 (13224/6967/530) 557 (2025-04-12..2026-10-21) 1 yes https://www.routinecos.com/product/shampoo-conditioner/
4 1112180250921817 adspy post Photo BAD HAIR DAYS BE GONE! 17,186 (10697/5612/877) 572 (2025-04-01..2026-10-25) 1 yes http://routinecos.com/product/shampoo-conditioner/
5 1431996568940182 adspy post Photo FREE TRAVEL SIZE KIT WITH CODE: TRAVEL 9,244 (6051/2587/606) 167 (2026-04-24..2026-10-08) 1 yes https://www.routinecos.com/product/shampoo-conditioner/

justnutritive.com (hair care (gray hair shampoo, leave-in))

# ad id AdSpy FB post format first line eng (L/C/S) days relaunch proven lander
1 815556424147148 adspy post Video Warning: Gray or White Hair? 8,476 (5800/2005/671) 400 (2025-09-11..2026-10-16) 1 yes https://justnutritive.com/gray-hair-nutritive-shampoo/
2 831930825843041 adspy post Photo Say Goodbye to Dull Gray Hair! 7,089 (5909/765/415) 375 (2025-09-30..2026-10-10) 1 yes https://justnutritive.com/gray-hair-nutritive-shampoo/
3 1465309031621529 adspy post Photo Smoother, brighter gray, silver, and white hair with our clean formula—free from alcohol, 4,530 (3439/798/293) 244 (2026-02-08..2026-10-10) 1 yes https://justnutritive.com/collections/gray-hair/products/leave-in-conditioner-1
4 1481640793321686 adspy post Video This non-purple shampoo does not deposit purple dyes, tints, or chemicals that can lead to 2,406 (2052/354/0) 233 (2026-02-27..2026-10-18) 1 yes https://justnutritivestore.com/collections/gray-hair/products/gray-hair-shampoo
5 1439035680915531 adspy post Photo Get 30% Off * All Kits and Duos 1,880 (1384/382/114) 290 (2026-01-06..2026-10-23) 1 yes https://justnutritive.com/collections/kits-duos

rouvenor.com (general store (one hair mask))

# ad id AdSpy FB post format first line eng (L/C/S) days relaunch proven lander
1 122174509280551247 adspy post Video 🔥【Five-in-One Vacuum Warrior】Half-Price Handheld Vacuum King💥 15,203 (12142/1502/1559) 366 (2025-10-12..2026-10-13) 2 yes https://rouvenor.com/products/khbv
2 122159391662551247 adspy post Video 💜✨ Blonde but dull? Dry, unruly hair after coloring? 14,924 (12672/1105/1147) 488 (2025-06-26..2026-10-27) 1 yes https://rouvenor.com/products/anti-yellow-purple-hair-mask
3 122199705092551247 adspy post Video 💧 Is your car's paint still naked to the harsh elements? 989 (735/191/63) 152 (2026-05-12..2026-10-11) 1 yes https://rouvenor.com/products/caruick-1
4 122197037972551247 adspy post Video 🔥【Five-in-One Vacuum Warrior】Half-Price Handheld Vacuum King💥 415 (350/32/33) 173 (2026-04-21..2026-10-11) 2 yes https://rouvenor.com/products/khbv
5 122198944586551247 adspy post Video rouvenor 344 (295/24/25) 160 (2026-05-06..2026-10-13) 1 yes https://rouvenor.com/products/khbv

kurinuka.com (hair oil (batana))

# ad id AdSpy FB post format first line eng (L/C/S) days relaunch proven lander
1 122155918461350658 adspy post Video ✨ Say hello to hair transformation with our Raw Batana Oil! 🌿 18,589 (15143/2141/1305) 13 (2026-10-15..2026-10-28) 7 yes https://kurinuka.com/products/unrefined-honduran-batana-oil
2 122156950821350658 adspy post Video ✨ Say hello to hair transformation with our Raw Batana Oil! 🌿 4,386 (3696/442/248) 4 (2026-10-19..2026-10-23) 7 yes https://www.kurinuka.com/products/batana-natural-hair-oil-copy-sub
3 122147326029350658 adspy post Video ✨ Say hello to hair transformation with our Raw Batana Oil! 🌿 2,417 (2064/225/128) 22 (2026-09-20..2026-10-12) 7 yes https://kurinuka.com/products/unrefined-honduran-batana-oil
4 122156954487350658 adspy post Video ✨ Say hello to hair transformation with our Raw Batana Oil! 🌿 619 (545/47/27) 9 (2026-10-19..2026-10-28) 7 yes https://kurinuka.com/products/unrefined-honduran-batana-oil
5 122146290555007016 adspy post Video ✨ Say hello to hair transformation with our Raw Batana Oil! 🌿 584 (569/0/15) 61 (2026-08-12..2026-10-12) 7 yes https://kurinuka.com/products/unrefined-honduran-batana-oil

flownbeauty.com (hair tool (GoBrush))

# ad id AdSpy FB post format first line eng (L/C/S) days relaunch proven lander
1 122214796322783364 adspy post Video You leave the salon, it looks perfect… and three days later you can't get it back. 6,743 (5953/326/464) 14 (2026-10-15..2026-10-29) 2 yes https://flownbeauty.com/pages/gobrush-pro-bob-virality
2 122212686794783364 adspy post Video I can't leave the house without this thing!Seriously get it! This brush has been such a li 5,973 (4921/526/526) 27 (2026-10-01..2026-10-28) 6 yes https://flownbeauty.com/pages/gbp-adv-shorthair-v1
3 122209832912783364 adspy post Video I can't leave the house without this thing!Seriously get it! This brush has been such a li 2,926 (2523/155/248) 37 (2026-09-12..2026-10-19) 6 yes https://flownbeauty.com/pages/gobrush-pro-bob-virality
4 122212683338783364 adspy post Video I've done hair for twelve years, and these are the tools I'd never recommend to a client w 1,698 (1458/94/146) 17 (2026-10-01..2026-10-18) 2 yes https://flownbeauty.com/pages/gobrush-pro-bob-virality
5 122193988148376770 adspy post Photo I can't leave the house without this thing! 1,571 (1183/377/11) 357 (2025-10-30..2026-10-22) 1 yes https://numoya.com/pages/gbp-lp-1806-04

olaplex.com (hair care (bond repair))

# ad id AdSpy FB post format first line eng (L/C/S) days relaunch proven lander
1 DaiMRLDMIU_ adspy post Video When suitcase space is limited, OLAPLEX N°.7 Bonding Oil™ is a travel must-have. 9,104 (8758/346/0) 99 (2026-07-08..2026-10-15) 1 yes https://olaplex.com/products/olaplex-n-7-bonding-oil-us
2 1594557752705252 adspy post Photo Get even MORE great hair days with our Jumbo sizes & kits. Head to Olaplex.com today. 321 (312/9/0) 13 (2026-09-24..2026-10-07) 2 yes https://olaplex.com/products/olaplex-n-4curl-bond-shaper-hydrating-curl-shampoo-
3 1594561162704911 adspy post Photo Better together. Maximize your results (and your savings) when you shop our curated Virtua 213 (213/0/0) 2 (2026-10-05..2026-10-07) 1 no https://olaplex.com/products/olaplex-total-hair-repair-set
4 DezsxNQMEmk adspy post Photo Gift great hair with new, limited-edition holiday sets.🎁 92 (92/0/0) 5 (2026-10-22..2026-10-27) 4 no https://olaplex.com/collections/the-holiday-shop
5 1651577137003313 adspy post Photo Get even MORE great hair days with our Jumbo sizes & kits. Head to Olaplex.com today. 70 (70/0/0) 0 (2026-10-27..2026-10-27) 2 no https://olaplex.com/products/olaplex-two-ways-to-shine-set

eskiin.com (filtered showerhead)

# ad id AdSpy FB post format first line eng (L/C/S) days relaunch proven lander
1 DcM9_7qgQO2 adspy post Video eskiin will give you your best skin & hair — guaranteed. 2,582 (2460/122/0) 48 (2026-08-19..2026-10-06) 13 yes https://eskiin.com/pages/adv-0010-10-reasons-wm
2 963586970094120 adspy post Video eskiin will give you your best skin & hair — guaranteed. 1,127 (947/122/58) 56 (2026-08-19..2026-10-14) 13 yes https://eskiin.com/pages/adv-0010-10-reasons-wm
3 972216599231157 adspy post Video eskiin will give you your best skin & hair — guaranteed. 1,005 (862/96/47) 44 (2026-08-28..2026-10-11) 13 yes https://eskiin.com/pages/wm-hh
4 844605975325554 adspy post Video Hard water, heavy metals, chlorine and other toxic chemicals are ruining your skin, hair a 746 (596/116/34) 199 (2026-04-05..2026-10-21) 1 yes https://eskiin.com/
5 122111184261346691 adspy post Video Okay I have to talk about this because I genuinely didn't think it would work 507 (440/41/26) 119 (2026-06-14..2026-10-11) 2 yes https://eskiin.com/pages/handheld

cecred.com (hair care (hair perfume pushed now))

# ad id AdSpy FB post format first line eng (L/C/S) days relaunch proven lander
1 DdHnRh_MwUa adspy post Video New! Temple Oud Hair Perfume, the iconic rich, woody, floral scent. 3,921 (3761/160/0) 32 (2026-09-10..2026-10-12) 2 yes https://cecred.com/products/temple-oud-hair-perfume
2 DdmUrJlsSYv adspy post Video New! Temple Oud Hair Perfume, the iconic rich, woody, floral scent. 520 (498/22/0) 20 (2026-09-22..2026-10-12) 2 yes https://cecred.com/products/temple-oud-hair-perfume
3 Dehs8bgMZbf adspy post Photo In case nobody told you, use code WINTER for 25% off treatments, conditioners & more. 303 (294/9/0) 10 (2026-10-15..2026-10-25) 1 no https://cecred.com/collections/exclusive-offer
4 DeKbE3CMvrO adspy post Video Save 14% on the Restoring Hair & Edge Drops Trio for visibly thicker, fuller hair 138 (135/3/0) 13 (2026-10-06..2026-10-19) 1 no https://cecred.com/collections/kits-and-bundles/products/restoring-hair-and-edge
5 DeSDKMQshT9 adspy post Video Save on protective style care, from install to take down. Code PROTECT. Limited time 38 (38/0/0) 6 (2026-10-09..2026-10-15) 2 no https://cecred.com/en-uk/products/hair-scalp-balm

crownaffair.com (hair care (air dry cream, leave-in))

# ad id AdSpy FB post format first line eng (L/C/S) days relaunch proven lander
1 DdmV-1eAs7t adspy post Video Whipping up something weightless before the doorbell rings: delicate layers, a @crownaffai 2,971 (2862/109/0) 25 (2026-09-22..2026-10-17) 1 no https://www.crownaffair.com/products/the-weightless-hydration-set
2 DefnjVAAZ8D adspy post Video Products designed to help your hair look and feel better, softer, smoother, and easier to 102 (102/0/0) 4 (2026-10-14..2026-10-18) 2 yes https://www.crownaffair.com/pages/build-your-ritual
3 Dd7EEVuAMqL adspy post Video Meet The Smoothing Air Dry Cream. 90 (87/3/0) 24 (2026-09-30..2026-10-24) 2 no https://www.crownaffair.com/products/the-smoothing-air-dry-cream
4 1606603784813987 adspy post Video The Smoothing Air Dry Cream defines soft, frizz-free waves—without weighing hair down. 43 (41/0/2) 21 (2026-09-26..2026-10-17) 1 no https://www.crownaffair.com/products/the-smoothing-air-dry-cream
5 De5cDgBAw_v adspy post Video Meet The Smoothing Air Dry Cream. 25 (25/0/0) 6 (2026-10-25..2026-10-31) 2 no https://www.crownaffair.com/products/the-smoothing-air-dry-cream

theouai.com (hair care (fragrance pushed now))

# ad id AdSpy FB post format first line eng (L/C/S) days relaunch proven lander
1 DcY0xeRsbul adspy post Video Meet Laurel Canyon, our new decadent & woody fragrance with notes of fig leaf, jasmine, al 991 (969/22/0) 46 (2026-08-23..2026-10-08) 1 yes https://theouai.com/products/eau-de-parfum-laurel-canyon-travel
2 DdpIfFZMDml adspy post Video Take the scenic route. Laurel Canyon balances lush fig leaf, jasmine & almond milk with wa 159 (153/6/0) 35 (2026-09-23..2026-10-28) 3 yes https://theouai.com/products/eau-de-parfum-laurel-canyon-travel
3 DdpIfnnsdLD adspy post Video Our newest scent has arrived. Laurel Canyon is decadent & woody with notes of fig leaf, ja 74 (74/0/0) 36 (2026-09-23..2026-10-29) 1 no https://theouai.com/products/eau-de-parfum-laurel-canyon-travel
4 1502886231865926 adspy post Photo Wherever you go, go all the OUAI with award-winning hair, body & fragrance products. 61 (60/1/0) 0 (2026-10-06..2026-10-06) 1 no https://www.theouai.com/products/very-merry-melrose-place-kit
5 DfF9WovMPNH adspy post Video Take the scenic route. Laurel Canyon balances lush fig leaf, jasmine & almond milk with wa 18 (17/1/0) 2 (2026-10-29..2026-10-31) 3 no https://theouai.com/products/eau-de-parfum-laurel-canyon-travel

hairbrella.com (satin-lined caps)

# ad id AdSpy FB post format first line eng (L/C/S) days relaunch proven lander
1 1452129557035054 adspy post Photo Rainy days usually mean a choice: stay warm or keep your hair intact. 464 (453/2/9) 20 (2026-09-17..2026-10-07) 1 no https://www.hairbrella.com/products/hairbrella-satin-lined-winter-infinity-rain-
2 1472728328308510 adspy post Video Don't let unexpected rain ruin a good hair day! 🌧️✨ 223 (206/14/3) 16 (2026-10-09..2026-10-25) 1 no https://www.hairbrella.com/products/hairbrella-satin-lined-winter-infinity-rain-
3 1427091539538856 adspy post Photo ☀️ Summer means swim lessons, pool days, and endless fun. 144 (124/0/20) 47 (2026-08-20..2026-10-06) 2 yes https://www.hairbrella.com/products/hairbrella-kids-swim-cap
4 1425552543026089 adspy post Video The perfect addition to your wardrobe to protect your hair against rain, snow, and wind 🖤 52 (51/0/1) 51 (2026-08-19..2026-10-09) 1 no https://www.hairbrella.com/products/satin-lined-waterproof-cuffed-beanie-for-men
5 1474756904772319 adspy post Photo ☀️ Summer means swim lessons, pool days, and endless fun. 44 (42/0/2) 18 (2026-10-11..2026-10-29) 2 no https://www.hairbrella.com/products/hairbrella-kids-swim-cap

mimihaircare.com (kids hair care)

# ad id AdSpy FB post format first line eng (L/C/S) days relaunch proven lander
1 122125097703396821 adspy post Video Australia's favorite kids' haircare range has officially landed in CVS stores. 36 (36/0/0) 31 (2026-09-28..2026-10-29) 1 no https://mimihaircare.com/

sunbum.com (sunscreen (hair line idle))

# ad id AdSpy FB post format first line eng (L/C/S) days relaunch proven lander
1 1567347658756162 adspy post Photo Our Original Sunscreen is the stuff we use every day. 9 (9/0/0) 6 (2026-10-15..2026-10-21) 1 no https://www.sunbum.com.au/
2 DeSFhzGs5jr adspy post Photo Daily moisturizer + SPF in one. Lightweight, hydrating formulas with 24-hour moisture and 9 (9/0/0) 25 (2026-10-09..2026-11-03) 1 no https://www.sunbum.com/collections/daily-sunscreen

bondiboost.com (hair care (growth))

# ad id AdSpy FB post format first line eng (L/C/S) days relaunch proven lander
1 1566637698838295 adspy post Video Your healthiest hair routine starts here ✨ 9 (7/0/2) 13 (2026-10-03..2026-10-16) 1 no https://bondiboost.com/pages/bundle-bar

4. Term sweep (ad text, US, seen in the last 30 days, sorted by likes, 40 each)

Relevance check: an ad was kept when it sells a hair-care product. Dropped ads are listed with the reason. The swim and ocean terms all came back empty this time; on 2026-10-07 the same query for "chlorine hair" returned 3 ads (Philip Kingsley, Pantene) and "after swim" 2 (Instant Swim). Swim season has ended in AdSpy's US window.

term (ad text, US, seen 10-06..11-05, sort likes, n 40) ads returned kept (hair care) dropped (reason) top kept sellers (ads, top eng)
detangling spray 3 1 pet grooming 1; German-language salon brand 1 randco.com (1, 52)
detangler 4 4 - offers.pearcommerce.com (2, 1,082), mimihaircare.com (1, 36), unitehair.com (1, 33)
leave-in conditioner 8 8 - justnutritive.com (2, 4,530), sephora.com (1, 179), isima.com (1, 166), ouidad.com (1, 83), randco.com (1, 52), sallybeauty.com (1, 12)
kids detangler 0 0 - -
chlorine hair 0 0 - -
swimmers hair 0 0 - -
after swim 0 0 - -
hair mask 10 7 Dollar Tree delivery promo 1; Arabic-language, Egypt 1; Sri Lanka, Sinhala copy 1 rouvenor.com (1, 14,924), amazonmareekeratin.com (1, 13,241), sephora.com (3, 4,401), wendydy.com (1, 3,138), amazonpurplemask.com (1, 2,189)
sea moss hair 0 0 - -
seaweed hair 0 0 - -
split ends 9 8 law-firm class action notice 1 kurinuka.com (5, 18,589), wendydy.com (1, 3,138), viori.com (1, 160), kevinmurphy.com.au (1, 50)
frizz 40 25 hair tool bundle (L'ange) 6; Sri Lanka, Sinhala copy 3; hair tool, Brazil 1; Philippines retailer 1; Peru, Spanish copy 1; India store, pillowcases 1; no lander 1; Temu marketplace promo 1 mykitsch.com (9, 46,797), humbyorganics.com (6, 33,942), routinecos.com (3, 21,904), amazonmareekeratin.com (1, 13,241), olaplex.com (1, 9,104), flownbeauty.com (1, 6,743)
silky hair 5 2 Malaysia kids brand 1; hair tool (brush) 1; publisher affiliate article 1 sephora.com (1, 341), costco.com (1, 204)

5. NEW winners not in the old set

The old set is the nine brands in COMPETITORS.md plus the 30 brands picked in SWIPES.md. Humby Organics, JustNutritive, Rouvenor and Marée were already SWIPES picks; they are listed here because they were never sized as competitors and now carry the strongest live hair-formula evidence after Kitsch.

brand sells live ads (proven) summed eng strongest live ad in old set?
Routine Wellness (routinecos.com) clean shampoo + conditioner; "free travel size kit" code offer 12 (11) 129,380 1443272891145883, 21,904, 156 days no
Humby Organics (humbyorganics.com) shampoo bar for women 50+, gray and thinning hair; every top ad goes to one page, /pages/blueberry-fields-for-mature-hair; Ad Library about 81 active (US) 28 (27) 204,055 1171304901686518, 33,942, 415 days SWIPES picks only
JustNutritive (justnutritive.com) gray-hair shampoo and leave-in 19 (16) 34,728 815556424147148, 8,476, 400 days SWIPES picks only
Kurinuka (kurinuka.com) raw batana oil 16 (11) 29,214 122155918461350658, 18,589, 13 days, 7 ads on the hook no
GoBrush via flownbeauty.com hot brush (tool), advertorial landers 22 (14) 25,316 122214796322783364, 6,743, 14 days no
L'ange (langehair.com) dryer brushes and styling tools 40+ (38) 207,644 1328378502782138, 30,118, 126 days no
Rouvenor (rouvenor.com) general store; one hair mask 8 (6) 32,079 122159391662551247 (purple hair mask), 14,924, 488 days SWIPES picks only
Olaplex (olaplex.com) bond-repair hair care 13 (2) 10,087 DaiMRLDMIU_, 9,104, 99 days 10-07 live pull only

Closest to Ebb by product: Routine (a clean shampoo + conditioner sold with a free travel kit; Ebb sells a Travel Kit) and Humby (clean shampoo bar sold through one long advertorial to a narrow buyer). Kitsch remains the scaled seller of the leave-in / anti-frizz door.

6. Ad Library longest-running active ads in the rows pulled

The default Ad Library order is not by age, so these are the oldest among the 10-60 rows pulled per brand, not each brand's true oldest ad.

brand rows pulled oldest active start (days) ad id page format first line link
mykitsch.com 70 153 1774860456878244 Kitsch DCO {{product.brand}} https://www.mykitsch.com/products/kitsch-smoothing-air-dry-cream
eskiin.com 40 575 954830056494062 Eskiin VIDEO Man catches wife 💔 #eskiin #eskiinfilteredshowerhead http://instagram.com/myeskiin
hairbrella.com 20 187 1313510757449894 Hairbrella DCO {{product.brand}} https://www.hairbrella.com/products/satin-lined-waterproof-sun-hat
humbyorganics.com 10 243 1631438004667290 Humby Organics IMAGE Completely transform your silvers with specialized natural hair care.. https://humbyorganics.com/pages/blueberry-fields-for-mature-hair

7. Absences (exact query, result)

tool exact query result
AdSpy adspy_top.py --advertiser Ebb Ocean Club --sort recent --n 40 0 ads (HTTP 200, empty first page)
AdSpy adspy_top.py --domain ebboceanclub.com --sort likes --n 40 0 ads (HTTP 200, empty first page)
AdSpy adspy_top.py --domain ebboceanclub.com --seen-days 30 --sort recent --n 40 0 ads (HTTP 200, empty first page)
AdSpy adspy_top.py --domain ebboceanclub --sort recent --n 40 0 ads (HTTP 200, empty first page)
AdSpy adspy_top.py --lp-domain ebboceanclub.com --sort recent --n 40 0 ads (HTTP 200, empty first page)
AdSpy adspy_top.py --text Ebb Ocean Club --sort recent --n 40 0 ads (HTTP 200, empty first page)
AdSpy adspy_top.py --text Khalyla --sort recent --n 40 0 ads (HTTP 200, empty first page)
AdSpy adspy_top.py --domain briogeohair.com --seen-days 30 --sort likes --n 40 0 ads (HTTP 200, empty first page)
AdSpy adspy_top.py --domain ever-eden.com --seen-days 30 --sort likes --n 40 0 ads (HTTP 200, empty first page)
AdSpy adspy_top.py --domain gisou.com --seen-days 30 --sort likes --n 40 0 ads (HTTP 200, empty first page)
AdSpy adspy_top.py --text after swim --country US --seen-days 30 --sort likes --n 40 0 ads (HTTP 200, empty first page)
AdSpy adspy_top.py --text chlorine hair --country US --seen-days 30 --sort likes --n 40 0 ads (HTTP 200, empty first page)
AdSpy adspy_top.py --text kids detangler --country US --seen-days 30 --sort likes --n 40 0 ads (HTTP 200, empty first page)
AdSpy adspy_top.py --text sea moss hair --country US --seen-days 30 --sort likes --n 40 0 ads (HTTP 200, empty first page)
AdSpy adspy_top.py --text seaweed hair --country US --seen-days 30 --sort likes --n 40 0 ads (HTTP 200, empty first page)
AdSpy adspy_top.py --text swimmers hair --country US --seen-days 30 --sort likes --n 40 0 ads (HTTP 200, empty first page)
Meta Ad Library --query "Khalyla Kuhn" --exact --status all --country US --max 60 0 ads, no result count shown
Meta Ad Library --query "Instant Slip" --exact --status all --country US about 540 shown; 12 of 60 pulled are Ebb, the rest are other advertisers using the phrase (HeyBotanic and Botanic Hair batana oil, Coconut Matter, Tsunami Hair, shoes, hijabs): a false-match key

8. Method and exact commands

AdSpy (Kalp's session, on the MacBook through the tunnel, local adspy-profile, never logged in or out). Runner pull.py (copied in this folder) calls tools/swipe-drop/adspy_top.py once per query and moves each output into raw/; brought back to raw/adspy/ on the server. A per-run guard waits while any other session's adspy_top.py holds the same browser profile (an outthere session and an earthlyderm pull were running the same afternoon).

mac 'cd ~/Claude/offers/ebbo-ocean-club/research/market-now-20261105 && python3 pull.py ebb'        # --domain ebboceanclub.com (likes, all time) / --seen-days 30 / --advertiser "Ebb Ocean Club" / --domain ebboceanclub
mac '... python3 pull.py ebb2'      # --text "Ebb Ocean Club" / --text "Khalyla" / --lp-domain ebboceanclub.com
mac '... python3 pull.py domains mykitsch.com eskiin.com hairbrella.com cecred.com ever-eden.com theouai.com sunbum.com bondiboost.com briogeohair.com crownaffair.com gisou.com'
     # each: adspy_top.py --domain <d> --seen-days 30 --sort likes --n 40
mac '... python3 pull.py text terms.txt'
     # each term: adspy_top.py --text "<term>" --country US --seen-days 30 --sort likes --n 40
mac '... python3 pull.py domains routinecos.com humbyorganics.com justnutritive.com flownbeauty.com kurinuka.com mimihaircare.com langehair.com rouvenor.com olaplex.com'
mac '... python3 pull.py kitsch120'  # adspy_top.py --domain mykitsch.com --seen-days 30 --sort likes --n 120
mac "cat <file>" / tar back to raw/adspy/

AdSpy cost: 41 searches, 408 ads collected, about 200-250 views at the measured 1 view per 2 ads. The account counter moved from 1,180 to 1,770 views this period during the run, which includes other sessions' pulls on the same account. No 401 and no login redirect occurred.

Meta Ad Library (server, AdsPower research profile, logged out, paced by human_pace). Runner adlib_run.sh <spec> waits while another job drives the profile and retries a refused start. Specs: adlib_spec.txt (Ebb), adlib_spec2.txt, adlib_spec3.txt (brand counts).

python3 research/adlib/adlib_graphql.py --query "ebboceanclub.com" --status all --country US --max 120 --profile research
python3 research/adlib/adlib_graphql.py --query "Ebb Ocean Club" --exact --status all --country US --max 120 --profile research
python3 research/adlib/adlib_graphql.py --query "ebboceanclub.com" --status all --country ALL --max 120 --profile research
python3 research/adlib/adlib_graphql.py --query "Khalyla Kuhn" --exact --status all --country US --max 60 --profile research
python3 research/adlib/adlib_graphql.py --query "Instant Slip" --exact --status all --country US --max 60 --profile research
python3 research/adlib/adlib_graphql.py --query "<domain>" --status active --country US --max 10-60 --profile research
python3 research/adlib/adlib_graphql.py --query "<domain>" --status active --country US --max 10 --start-max 2026-10-06 --profile research

Ad Library queries run (label, displayed count, rows pulled, rate-limit code seen):

label displayed pulled 1675004
ebb_domain_ALL_all 130 120 no
ebb_domain_all 130 120 no
ebb_exact_name_all 130 120 no
ebb_kw_instantslip_all 540 60 no
ebb_kw_khalyla_all ? 0 no
eskiin_active 710 30 no
eskiin_active30d 370 10 no
hairbrella_active 810 10 no
hairbrella_active30d 370 10 no
humby_active 81 10 no
kitsch_active 3,800 60 no
kitsch_active30d 1,100 10 no

Analysis: analyze.py (shared helpers: relaunch count, proven flag, post link) and tables.py (writes raw/adspy/brand_table.md, top5.md, sweep_table.md, adlib_longrunners.md, all_brand_rows.json, brands_summary.json); build_doc.py assembles this file.

Files: raw/adspy/ (one JSON per AdSpy query with ranked rows and AdSpy's raw ad records, .empty for zero-result queries, adspy_log.txt with every command's output), raw/adlib/ (one JSONL per Ad Library query, log_<label>.txt with the displayed result count). Other folders under raw/ (tiktok, landers, reviews, ebb store captures) belong to a parallel lane working in the same directory and are not used here.