How to Assign Asset IDs Across Creator Campaigns
Create stable creator content asset IDs that connect campaigns, source footage, edits, markets, placements, and review decisions without relying on filenames.
Assign one immutable ID to each logical creator deliverable and a separate immutable ID to every uploaded or exported file. Connect those records with parent-child relationships. That structure lets a team trace an ad back to its campaign, creator, source footage, edit, decision, and rights record even after someone changes a filename.
There is no universal creator asset-ID standard. The model below is a practical house system that can coexist with a DAM, ad server, or industry identifier.
Model the objects before designing the code
Teams often make one ID carry several meanings. Instead, identify the objects you need to distinguish:
- Campaign: the commercial initiative or brief
- Creator: the source partner or account
- Deliverable: the promised content item, such as Reel 1
- Submission: a creator-uploaded version of that deliverable
- Source clip: a raw file or selected range
- Variation: an assembled edit for a defined use
- Rendition: the same edit encoded or resized for delivery
One deliverable can have three submissions. One submission can provide clips for ten variations. One variation can have several renditions. Those relationships matter more than making the ID readable.
Connect this model to the creator content approval workflow, where decisions belong to an exact version rather than a loose campaign folder.
Choose stable, meaningless identifiers
A durable ID should not change when a campaign is renamed, a creator changes a handle, or an asset moves to another folder. A generated value such as ast_01J... is safer as the database key than summer_maya_reel_final.
You can still display a readable reference, such as SPR26-MAYA-R01, alongside the immutable ID. Treat the readable code as a label that may need uniqueness checks, not the sole key.
Rules for an internal ID generator:
- Generate IDs centrally rather than asking users to type them.
- Never recycle an ID after deletion or cancellation.
- Keep IDs unique across workspaces if assets can move between them.
- Store creation time and creator separately rather than decoding them from the ID.
- Avoid personal data, client secrets, or approval status inside the value.
The file-naming convention can include a readable reference while the system retains the stable key.
Record lineage explicitly
Every derivative needs a direct link to its immediate inputs. For an edited ad, record:
- Variation ID and parent deliverable ID
- Source submission and clip IDs
- In and out timestamps for reused footage
- Editor or process that assembled the variation
- Script, captions, voiceover, music, and offer revision
- Export settings and rendition IDs
- Review decision and exact reviewed file hash
Do not rely only on “derived from Campaign X.” That is too broad to answer whether a restricted line from source version one appears in a live variation.
A cryptographic file hash can help detect whether two differently named files are byte-for-byte identical. It does not prove that content is approved, licensed, or semantically equivalent. Keep those facts in their own records.
Decide where outside identifiers fit
Your media agency, retailer, DAM, and ad platform may assign their own IDs. Store them as aliases with a namespace, for example meta_ad_id, dam_asset_id, or retailer_submission_id. Do not overwrite the internal asset ID whenever a downstream system creates a new one.
Ad-ID’s XMP schema is an example of advertising asset metadata. It can be relevant to organizations using that ecosystem, but it is not a universal requirement for creator operations.
Maintain a mapping table:
| Internal variation | External system | External ID | Scope |
|---|---|---|---|
| var_1042 | DAM | 934882 | Master asset |
| var_1042 | Meta | 120... | Paid placement |
| var_1042 | Retailer | RV-991 | Retail review |
Test the system with failure cases
Before adoption, make the design answer these questions:
- Can two creators submit files with the same name without collision?
- Can a reviewer identify the exact file behind an old decision?
- Can operations find every live variation using a source clip whose rights expire?
- Can a replaced caption generate a new version without breaking lineage?
- Can exports preserve an internal ID even when a platform renames the file?
- Can a deleted or quarantined asset remain referenced in the audit history?
If the answer depends on a person remembering a folder, add a relationship or field.
Roll out IDs without losing legacy history
Assign new IDs to legacy assets without rewriting their original names or timestamps. Import known campaign, creator, and decision references, mark uncertain relationships as unverified, and preserve the source path.
Start with active campaigns and newly created variations. Train users to search by readable label while systems exchange immutable IDs. Monitor duplicate creation and unmapped external IDs, then expand to the archive.
Trace every cut back to its source
CherryBowl connects each creator deliverable, submitted version, review finding, and decision so teams can identify the exact asset that was checked.
See the AI review a videoOr join the early-access waitlist.
or book a call
The takeaway
Give campaigns, deliverables, files, and variations distinct immutable IDs, record their lineage, and store outside IDs as namespaced aliases. Readable codes help people; stable relationships make the approval history reliable.