File naming conventions for paid social that agencies and in-house teams use
Names are metadata you actually control. A practical convention for campaigns, concepts, sizes, versions, and locales—so exports, dashboards, and humans stop arguing about which MP4 is real.
On this pagetap to expand
If your naming strategy is "whatever the export dialog suggests," your analytics team will eventually build a shrine against you—and finance will fund the incense.
Names are the API between creative and everything else.
Last reviewed: April 2026. Naming conventions should align with security and retention policies—avoid embedding secrets (tokens, passwords) in filenames or public folders.
The canonical string (recommended order)
YYYY-MM-DD__platform__objective__concept__format__locale__vNN.ext
Example:
2026-04-22__meta__purchase__H2B3__9x16__en__v03.mp4
Field definitions (so nobody freelances)
- platform: meta, tiktok, youtube (pick your set)
- objective: purchase, lead, traffic (match internal language)
- concept: matrix cell or creative hypothesis code
- format: 9x16, 4x5, 1x1 (be consistent)
- locale: en, es-MX, etc.
- version: v01+
Variant suffixes (optional but powerful)
Add optional suffixes when needed:
__soundon/__soundoff(if you ship two exports)__ccif burned-in captions differ__sparkif sourced from Spark workflow
Forbidden patterns (cause pain)
finalwithout version- spaces + parentheses + emoji
- "new" / "latest" / "use this one" (emotional, not operational)
Example table (same creative, disciplined variants)
| File | Meaning |
|---|---|
...__9x16__en__v03.mp4 | English vertical v03 |
...__4x5__en__v03.mp4 | English feed v03 |
...__9x16__es__v01.mp4 | Spanish vertical v01 |
Internal links
Appendix: regex-friendly rules
If you ever want automation (Zapier/Make scripts), names must be machine-friendly:
- lowercase recommended
- no spaces
- fixed field count
Humans benefit too—humans are basically soft robots with emotions.
E-E-A-T: conventions are agreements
Publish them, version them, and change them with a changelog—otherwise "the convention" is whatever the newest hire guessed.
Key takeaways
- Stable field order beats cleverness.
- Version increments prevent finals chaos.
- Locale codes prevent multilingual horror.
People also ask
How should I name Facebook ad creative files?
Date, platform, objective, concept, format, locale, version.
Why do naming conventions matter?
Reporting, QA, approvals, and automation depend on stable IDs.
Should campaign IDs be included?
Often yes at enterprise scale—or maintain mapping.
FAQ
What delimiter?
Pick one—underscores are common.
How does Pinnacle AdForge help?
Structured spine—signup.
A file named video12.mp4 is not an asset—it is a cry for help wearing a .mp4 extension.
Bonus: the "client override code"
When a client demands a nonstandard name, add:
__OVERRIDE__CLIENTCODE__
…so automation knows not to "fix" it—traceability beats purity.
Ingest checklist for media buyers (paste near Ads Manager)
Before upload:
- filename matches tracker row
- aspect ratio matches placement plan
- captions/subtitles file name matches base (if separate)
- thumbnail file present if required
- UTMs documented in tracker
This is how you prevent "wrong file uploaded" incidents that become legends.
Naming for static vs video (prefix clarity)
Use st__ and vid__ prefixes if your team mixes asset types in one folder:
2026-04-22__meta__purchase__st__H2B3__4x5__en__v02.png
Future automation thanks you. Future you thanks you.
When to include SKU or product IDs
Include SKU when:
- multiple products share creative templates
- dynamic catalogs map creative to items
Otherwise SKU noise clutters names—purpose first.
Collision protocol (two teams, same day)
If two teams export the same concept code on the same day, add __teamA / __teamB suffix temporarily—then reconcile to one canonical name after merge.
Collisions are normal—hiding collisions is not.
Archive naming (so old tests do not haunt search)
Archive__2026-Q1__Prospecting__Purchase/
Archive is not a trash can—it is a library basement with a map.
Automation note (Zapier/Make)
If you automate uploads or notifications, your naming convention becomes an API contract—changing it without versioning breaks pipelines like it breaks humans.
If you are exactly at 200 lines, celebrate briefly—then add one more QA rule tomorrow anyway.