Skip to main content

What Is a Label?

A label is a semantic tag that classifies a variant — it captures the intent, tone, or strategy behind a piece of message copy. Examples: Curiosity, Urgency, Calm, Social Proof. Labels are how Aampe learns which type of message resonates with which user. Over time, Aampe associates each user with the labels they respond to and selects variants accordingly.

Labels and Component Types

Every label is scoped to a specific component type via its variant_type field. A label with variant_type: "Offering" can only be used on Offering variants — it cannot be applied to a ValueProposition or CallToAction variant. This means you need separate labels for each component type you use in a formula.
If you try to attach a label to a variant whose component type doesn’t match the label’s variant_type, the API will return an error.

How Labels Flow Through the System

Label (id, variant_type, label_name)

  ├─► Formula-level label association
  │     {"label_id": 101, "variant_type": "Offering", "component_type_id": "..."}
  │     Declares which labels this formula uses per component type

  └─► Variant-level label assignment
        {"component_id": "...", "content": "...", "label_id": 101}
        Tags each individual alternate with its semantic meaning
Labels appear in two places:
  • On the formula (labels array at creation time) — declares which labels are associated with each component type in this formula
  • On each variant (label_id at variant creation time) — tags the specific alternate with its meaning

Label Fields

FieldTypeDescription
idintegerThe label’s unique ID — used as label_id everywhere
label_namestringHuman-readable name (e.g. "Curiosity")
label_descriptionstringWhat this label means
variant_typestringThe component type data_key this label applies to
archived_atdatetime or nullIf set, the label is archived and should not be used
See Manage Labels for how to fetch and create labels.