The creative taxonomy
What a creative is lives in Values stored against it on a fixed set of Dimensions. The ad name is a hint, not the record.
Win & Scale answers "what is this creative?" with Values on a fixed set of Dimensions, stored in the database against the creative. The ad name is a hint to the classifier and nothing more.
The words
| Term | Meaning |
|---|---|
| Creative | One upload, an image or a video, however many ads, campaigns and funnels reused it. The unit that is tagged. |
| Ad | One creative placed with its own copy, CTA, landing page and markets. |
| Dimension | One fixed axis of the house taxonomy that every workspace shares. |
| Value | One entry on a Dimension: "0% tax" on angle, "UGC talking head" on format. |
| Tag | What the product calls a Value in the app ("AI tags"). |
| Draft value | A Value on an open Dimension that the model proposed and no human has approved. It already counts as evidence. |
| Trait | A derived fact about a creative that cross-analysis compares winners on, read from its Values, its copy and its delivery. |
| Keyword | A free-text search label on a creative or a swipe. Keywords help you find things and are never evidence. |
The Dimensions
GET /api/v1/taxonomy (meta_list_taxonomy)
returns the Dimensions and this workspace's Values.
| Tier | Dimensions | Describes |
|---|---|---|
| Concept: why an ad should work | angle, persona, awareness, offer, pain | A creative |
| Execution: how it is made | format, hook, talent, visual | A creative |
| Execution, read off the ad | copy, cta, language, market | An ad |
| Standard lists | asset_type, headline_tactic, offer_type, season | A creative |
A Dimension is closed or open.
- A closed Dimension has the same Values in every workspace: the standard vocabulary, such as awareness stage (unaware, problem aware, solution aware, product aware, most aware) and talent (nobody, a creator, the founder, a customer, a model). Visual format is the standard list plus the workspace's approved house formats, and a creative can carry up to three, primary first.
- An open Dimension has Values each workspace owns: angle, persona, offer, pain and visual element. A Value is proposed by the model and curated by a human. The Dimension itself is never edited per workspace.
Copy, CTA, language and market describe an ad, so they are read off the ad when an analysis runs. They are not stored per creative.
Who sets a Value
- The classifier proposes. For every creative it answers each Dimension with its own confidence. Below the confidence gate a reading is written as unknown and no draft is created, because a wrong Value is a wrong lesson nobody sees.
- A human only overrides. Draft Values count and show with an "AI" mark. No screen queues them for approval. A person renames, merges or archives from a Value's menu when they disagree.
- An agent is the second pass.
meta_list_creatives,meta_get_creativeandmeta_tag_creativeslet an agent review the classifier's first pass. Tagging marks a creative curated, so the classifier only fills gaps behind it.
The model reads the video
A video is classified by sending the file itself to a model that reads video. The first seconds of a video are its hook, and a single poster frame cannot see them. A video's hook, talent and format become real Traits. Win & Scale's own servers still never decode, transcode or extract frames from a video.
Videos Meta will not hand over, such as a post from another Page, stay unclassified until someone uploads the source file.
meta_get_creative returns a video as one frame. A hook read from that frame alone
is a statement about that frame, and an agent should say so.
Keeping Values straight
- One Value per idea. Each Value carries an idea key, unique within a workspace and Dimension. Two creatives that propose "dating app user" and "dating app users" at once resolve to one Value.
- Merging is irreversible.
meta_merge_taxonomy_values(POST /api/v1/taxonomy/values/{valueId}/merge) repoints every creative, learning and brief scoped on the merged Value, then deletes it. Use it for two names of one idea, because split names split the evidence. - Reconcile folds what the key cannot see. A background pass groups Values that
mean the same thing. It folds draft duplicates into their best Value. Two
approved Values are only suggested, as
mergeSuggestionsin the taxonomy, and a person answers each withmeta_answer_merge_suggestion. - An archived Value never counts.
The ad name is a hint
Every ad is launched under a canonical name:
id__locale__format__persona__angle__concept__variant
0042__en__static__busy-parents__zero-tax__cost-card__v1format here is static, video or carousel. A launch with a name that does not
parse is refused. The name is still the label in Ads Manager, and it is a prior for
the classifier, but analysis does not read it. Spend rolls up on the Values stored
against the creative, so:
- A new Dimension, or a Value renamed or merged, applies to every creative the account ever ran, today. A name is frozen at launch.
- Ads that predate the product, with no canonical name at all, still get Values.
- The name records what the launcher meant to test. The Values record what shipped.
Keywords never become a Trait. A search label like "business-services" would otherwise top the winners list on an account where every ad sells business services.
Evidence health
Before you judge anything, check whether the evidence can bear the comparison. Evidence health reports gaps and judges nothing.
The Test loop
A committed Test freezes its question and the evidence it was decided on. Observations are appended, a Conclusion is final, and a changed mind is a new Test.