Who is scaling deodorant on Meta now: Ad Library census, 2026-11-05
Research data. Ad lines quoted are competitors' published text.
How it was pulled, and what the numbers can and cannot say
- Tool.
research/adlib/adlib_graphql.pydriven on the AdsPowerresearchprofile (logged out), through a local copyraw/adlib/adlib_count.pythat only adds a log line. Active ads, country US, keyword search on the domain or brand phrase, one query per row (the exact query is in the table). Queue scripts, logs and rows:raw/adlib/queue2.sh,queue3.sh,queue4.sh,*.new30.{log,jsonl}, summarysummary.json/summary.txt(summarize.py). - Why not
adlib_hunt.py. Its--helpand source show it runs the paid Apify actorapify~facebook-ads-scraperwith the token inecom-loop/.env. The brief and the standing rule both forbid paid Apify, so the free GraphQL scraper on the sameresearchprofile was used instead. - "active" = Meta's own "~N results" figure printed on the Ad Library page at load (rounded by Meta). "?" means the page printed no count; where the first results page then returned 0 ads the brand has no matching active US ad for that query, and that is written as 0.
- "new 30d". The Ad Library returns no total for a date window. The start-date filter was sent, but the rows came back unfiltered and in relevance order (the Salt & Stone pull reached 200 rows: 70 started on or after Oct 6, oldest Feb 19). So: where every active ad was paged (small brands, and Dr. Squatch's deodorant query), "new 30d" is an exact count of active ads that started on or after 2026-10-06; where paging stopped at the cap (20 or 40 rows), it is "n of N sampled", a share and not a count.
- "vs Oct 7". The same query's "~N results" from the Oct 7 runs (
../ads/adlib/census-20261007/,../ads/adlib/20261007/, logged-in pool profile). Two runs of one query on Oct 7 sometimes disagreed (nativecos.com 21 vs 150, wearewild.com 640 vs 540); both are shown. The Oct 6 ScrollStash and Oct 1 page counts are in../competitors/COMPETITORS.md. - Pace. Four sessions shared the
researchprofile this morning; paging ran at about one 10-ad page a minute, which is why big advertisers were sampled rather than paged.
Scaling table (sorted by active ads now)
| brand | query | active now | new 30d | vs Oct 7 (same query) | main lander in the new ads | entry offer |
|---|---|---|---|---|---|---|
| Carpe (antiperspirant lotion) | mycarpe.com | ~1,500 | 11 of 40 sampled | ~920 → ~1,500 ▲ | mycarpe.com/pages/flip-to-win-prizes-* (game pages) | pop-a-bubble / flip-a-card: up to 56-67% off + free gifts (wipes, wash, tote, mystery gift), membership, 100% money-back |
| Mountaineer Brand | mountaineerbrand.com | ~640 | 5 of 20 | ~170 → ~640 ▲ | /collections/natural-deodorant, /products/build-your-own-bundle | Early Black Friday 20% off (EARLY20), kits save 10%, free ship $60 |
| Dr. Squatch (all products) | drsquatch.com | ~590 | 19 of 20 | n/a (Oct 7 queries both carried "deodorant") | launch bundle, glow soap, signature scent set (all "-nco") | 50-59% off + 1-3 free gifts, new customers |
| Dr. Squatch (deodorant) | drsquatch.com deodorant | ~92 | 91 (all 92 paged) | ~130 → ~92 ▼ | /products/elf-holiday-collection (17), /the-launch-bundle-exclusive-gifts-nco (17), /pirates-treasure-trove (12) | "6 Soaps + 2 Deos + 3 FREE gifts", 55%+ off; licensed drops |
| Wild | wearewild.com | ~500 | 20 of 20 | ~640 / ~540 → ~500 ▼ | /us/internal/lp/winter-gifting-sets, /fall-bestseller-starter-pack-us | "Halloween case, 3 refills and 3 free gifts for $33.50 (was $66.99)" |
| Lume | lumedeodorant.com | ~370 | 25 of 40 | ~780 → ~370 ▼ | try.lumedeodorant.com/fb-pro-seasonal (15 of 40), /fb-pro-2 (5), /quiz (3) | seasonal 3-pack ($33 on Oct 6), starter pack 2 + 2 free minis ($25) |
| Salt & Stone (deodorant) | saltandstone.com deodorant | ~270 | 70 of 200 | ~220 → ~270 ▲ | /products/natural-deodorant (16), /pages/deodorant-adlp (11), mini discovery set (7), holiday | mini deodorant discovery set $40; holiday sets |
| Ursa Major | ursamajorvt.com | ~270 | 5 of 20 | n/a | serums, body butter | none for deodorant in the 20 sampled |
| Particle (men's grooming) | "particleformen.com" (exact) | ~170 | 0 of 20 | n/a | /lpage/particle-bundle, face cream, /lpage/particle-gravite-deodorant (3 of 20) | bundles; deodorant lander 404 on 2026-11-05 |
| TONE (new) | "tone.shop" (exact) | ~110 | 20 of 20 (oldest Oct 13) | not in Oct set | deodorant / roll-on / fragrance set builders, layering routines, Target | $12 stick, $8 a stick in the 7-scent set, duo $24, discovery $36; "available at Target" |
| TONE, deodorant ads only | "tone deodorant" (exact) | ~11 | 11 (all paged; all since Oct 21) | new | /pages/deodorant-builder-reaction, /deo-set-builder | build your set |
| Native | nativecos.com | ~100 | 36 of 40 | ~21 / ~150 | click2cart.com and amazon.com links, go.nativecos.com, walmart.com/brand/native ("Native Well-Crafted at Walmart #NativePartner" under another query) | retail; DTC "20% off any 3 items", free gifts at $55+ |
| Duke Cannon | dukecannon.com | ~92 | 11 of 20 | n/a | soap brick (Costco), holiday sweepstakes | no deodorant lander in the 20 sampled |
| Fussy | getfussy.com | ~85 | 1 of 20 | ~58 ▲ | /pages/deodorant | "Six reasons I switched to natural deodorant" listicle-style |
| Old Spice aluminum-free | old spice aluminum free | ~81 | 18 of 20 | ~60 ▲ | walmart.com Red Zone Collection (15 of 20, #OldSpicePartner) | retail (Walmart, Sam's Club) |
| Cupids | cupids.com deodorant | ~72 | 20 of 20 | ~78 | /pages/deodorant-offer-1 (all 20) | Black Friday; buy 2 get 1, free cologne (JH file) |
| Hume Supernatural | humesupernatural.com | ~57 | 11 of 20 | ~200 ▼ | dry body oil discovery set | no deodorant lander in the 20 sampled |
| Each & Every | eachandevery.com | ~32 | 14 of 20 | ~41 | scent PDPs, Want It All set | free full-size deodorant with the Want It All set |
| Juus Beauty | juus deodorant | ~18 | 18 (all) | new | target.com PDP and brand page | "Get $3 off juus deos" through 11/7 |
| Corpus | corpusnaturals.com | ~11 | 10 (all) | ~5 | body butter, deodorant stick, Deodorant Edit | Deodorant Edit $42 |
| Bravo Sierra | bravosierra.com | ~9 | 7 (all) | 1 row Oct 7 | Vanilla Hide eau de parfum, sets | holiday sets from $51 |
| Pretty Frank | prettyfrank.com | ~9 | 9 (all) | new | jar 2-pack / 3-pack, baking-soda-free | packs |
| Megababe | megababebeauty.com | ~8 | 0 of 6 | ~18 ▼ | ||
| Nécessaire | necessaire deodorant | ~3 | 2 | n/a | kits, Amazon | gift kits |
| Native men's line | native deodorant men | ~12 | 12 | n/a | 9 of 12 are Chloroflage internal-scent drops (a hunter native), not Native | no distinct Native men's campaign found |
| Every Man Jack | everymanjack.com | 0 own (1 row, an Adomate ad) | 0 | ~55 → 0 ▼ | ||
| Oars + Alps | oarsandalps.com | 0 own (1 row, Salty Face) | 0 | n/a | ||
| Arm & Hammer Essentials | arm & hammer essentials deodorant | 0 own (2 unrelated rows) | 0 | n/a | ||
| Based Bodyworks | basedbodyworks.com | 0 | 0 | n/a | runs on TikTok (creator tier lists), see TIKTOK.md |
|
| Jack Black | getjackblack.com | 0 | 0 | n/a | ||
| Manscaped | manscaped deodorant | 0 | 0 | ~1 row Oct 7 | ||
| Hims | hims deodorant | 0 | 0 | n/a | ||
| Wolf Project | wolf project deodorant | 0 | 0 | n/a | ||
| Mando | shopmando.com | 0 | 0 | 0 Oct 7 | still dark | |
| PURDORE | purdore | 0 | 0 | n/a | ||
| Kosas | kosas deodorant | 0 | 0 | n/a | ||
| Truly Beauty | truly deodorant | ~180 (noisy) | 7 of 20 | n/a | 4 of 20 rows are Truly Beauty pages; the rest are Walmart, Native at Walmart, Primally Pure | keyword too broad to count Truly |
| Onside | (covered by the Onside agent; ../onside-20261105/) |
|||||
| category: "aluminum free deodorant" | keyword | ~2,300 | 2 of 10 | ~2,300 | Dove where-to-buy |
Zero rows: each is the named query, active, US, on 2026-11-05, with the bootstrap loaded (lsd=ok) and the first results page empty (logs raw/adlib/<label>.new30.log). A zero means no matching active US ad for that query, not proof the brand runs nothing on Meta under another name.
Top 8 by evidence of scaling
- Carpe: ~1,500 active, up from ~920; the most engaged deodorant creatives in AdSpy.
- Dr. Squatch: ~590 active brand-wide; its deodorant inventory is almost wholly new (91 of 92 since Oct 6), rotating holiday and licensed drops.
- Mountaineer Brand: ~640 active, up from ~170; a creator-whitelisted "ditch the chemicals" video at 12,262 engagement.
- TONE: new; ~110 active, every sampled ad started Oct 13 or later; at Target; streamer-founded (AMP: "Where is AMP wearing TONE Vanilla Smoke?").
- Salt & Stone: ~270 on its deodorant query, up from ~220.
- Wild: ~500 active, every sampled ad new (seasonal gifting pages), down a little from Oct 7.
- Lume: ~370 active, half of Oct 7's ~780; still churning (25 of 40 sampled new).
- Old Spice aluminum-free via #OldSpicePartner creators to Walmart (~81 on the keyword, 18 of 20 new) and Native to Walmart, Amazon and click2cart (~100, 36 of 40 new).