Skip to main content
Every template has a list of the fields each new email needs from its writer, such as a headline and a button label. This list is called the copy schema. Whoever fills in the template supplies exactly those fields and nothing else. A clear list is what makes the template easy to use.

What goes in it

Include the words that change from send to send. Leave out everything that stays the same. A typical email template asks for: The subject line and preheader belong to the email itself, not this list. See Creating an email.

Name fields for the person filling them in

Write the list for the person who will use it. headline and ctaLabel tell a marketer what to write. field_1 and field_2 don’t. Keep names short and specific, and use one style across all your templates. If one template says ctaLabel and another says buttonText, every marketer has to learn both.

How the design uses the fields

Wherever the email needs a value, the template’s design points at a copy field by name. Fill in headline once, and everywhere the design shows the headline picks it up. See Personalizing an email for one field followed from schema to inbox.

Edit the fields yourself

allGood usually writes the schema when it builds a template, but you don’t have to rely on that. The schema is a file in the template, called template.json, and you can edit it in the Workshop or ask an AI assistant connected to your library to edit it. It uses a standard format for structured data (JSON Schema). Each field is one entry:
Use array when the number of items changes from email to email, such as bullet points. The design repeats over the list with a loop.

Defaults and sample copy

A default fills the form for a new email, and the writer can change it. You can also type real sample copy straight into the template’s design. Both work. A default is easier for writers to see and replace. Text in the design stays the same in every email unless someone edits the design.

What allGood checks

  • The shape of the schema is checked when you save the template. A malformed field fails.
  • Each placeholder in an email’s design must point at a field that exists in its copy. A placeholder for a missing field is caught.
  • The finished copy against the schema isn’t checked. Nothing confirms that a filled-in email supplies every field, or follows the type, that its template declares.
Treat the schema as a strong convention, not a guarantee. After you edit one, create a test email and check that every field appears.