Special ad categories: no age targeting, one creative for all
Meta special ad categories drop age, gender and ZIP targeting. Build one broad creative, then queue message variants as Sume bulk runs instead of audiences.

Ads placed in a Meta special ad category lose age, gender and ZIP code targeting, so you can no longer cut one creative per demographic slice. The practical answer is one creative that works for a broad audience, plus variants that differ by message, not by who sees them. This is based on a third-party guide to Meta's special ad categories; confirm the current rules in Meta's own help pages before you launch.
What the restriction takes away
The facts below are the ones this post relies on. Check each against Meta's live help pages, because ad policy changes without notice.
| Targeting option | Status in a special ad category |
|---|---|
| Age | Not available |
| Gender | Not available |
| ZIP code | Not available |
Design one creative for everyone
Without demographic targeting, the creative itself has to qualify the viewer. State the offer, the eligibility and the next step in the first seconds, in plain words and on-screen text, so a viewer who is not the right fit can tell quickly.
Avoid casting and scenes that only make sense to one age group or gender. Keep one master edit, and treat the rest of the work as controlled variation: a different opening line, a different proof point, a different call to action.
Vary the message with a bulk run, not the audience
A Sume Format is a saved production recipe. A bulk run queues up to 100 ordinary Format runs on the server with a concurrency window, so a list of message variants renders while you do something else. Each item is the same unit of work as a single run, with one run receipt per item.
The call below queues four variants. Mint a fresh Idempotency-Key per batch, because replaying a spent key returns the old queue. The queue itself has no webhook, so poll its status; completed means every item is terminal, not that every item succeeded, so check the failed count.
curl -sS -X POST "https://api.sume.com/v1/formats/acme/product-promo/bulk-runs" \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"concurrency": 2,
"items": [
{ "instruction": "Hook: lead with the monthly price" },
{ "instruction": "Hook: lead with the eligibility line" },
{ "instruction": "Hook: lead with the timeline to approval" },
{ "instruction": "Hook: lead with the single sentence offer" }
]
}'
curl -sS "https://api.sume.com/v1/format-run-queues/$QUEUE_ID" \
-H "Authorization: Bearer $SUME_API_KEY"Checklist before you submit
- Read Meta's current special ad category page and note which fields are removed.
- Write one eligibility line and show it on screen in the first seconds.
- Queue message variants, not demographic variants, and keep the same offer in each.
- Poll the queue, then review each child run before it goes into an ad account.
Sources
Related posts
More in Use cases
- SB video up to 45 s needs two Sume clips
Amazon Sponsored Brands video can run up to 45 seconds. One Sume seedance-2.5 clip tops out at 30 seconds, so join two clips in Timeline.
- Spotify's AI Persona badge: labeling an AI music video channel
Spotify will badge AI Persona profiles and skip them in recommendations. What a video channel with generated audio should label and keep.
- Spotify video podcast bitrate: 25 Mbit/s at 1080p, 35 at 4K
Spotify video podcasts: 25 Mbit/s CBR for 1080p, 35 for 4K, 16:9, under 10 GB and 4 hours recommended. Sume Timeline assembles up to 1800 s of audio per render.
- SynthID on every Gemini Omni Flash video: check it after you edit
Google says SynthID is applied to all Gemini Omni Flash output. A short plan for confirming the mark and recording it before and after a trim or re-encode.
Written by Sume