> ## Documentation Index
> Fetch the complete documentation index at: https://help.maestra.io/llms.txt
> Use this file to discover all available pages before exploring further.

# How to Create a Promo Code Format for Generation

Before Maestra can generate promo codes for a pool, you need to create a **format** that defines the structure every code in the set will follow. The format controls which characters appear in your codes, how long they are, whether they share a fixed marker, and how many codes can be generated from it.

This guide walks you through creating a promo code format step by step.

## When to create a format

You create a format whenever you want Maestra to generate promo codes automatically for a pool, instead of uploading codes manually. The format is reusable: once saved, you can pick it again for future pools.

<Note>
  A format is the template, not the codes themselves. After saving the format, you still need to generate the actual codes for your pool.
</Note>

## Create the format

<Steps>
  <Step title="Open pool settings">
    Go to the promo code pool you want to populate.
  </Step>

  <Step title="Choose how codes are added">
    For the addition method, select **Generate promo codes**.
  </Step>

  <Step title="Start a new format">
    Next to the **Format** field, click **Create**.
  </Step>

  <Step title="Configure the format">
    Fill in the fields described below, then save.
  </Step>
</Steps>

## Format settings

Each field shapes how your codes will look when Maestra generates them.

### Name

The name identifies the format in selection menus across Maestra. Pick something descriptive so you can recognize it later when choosing a format for another pool — for example, `Summer 2026 — 10 chars` or `VIP welcome codes`.

### Alphabet

The alphabet determines which characters Maestra is allowed to use when generating codes. By default, all available characters are selected.

To exclude a character from the alphabet, click it. Excluded characters won't appear in any generated code. This is useful when you want to:

* Remove visually ambiguous characters (for example, `0` and `O`, or `1` and `I`) to make codes easier to read aloud or type.
* Keep codes uppercase-only or limit them to digits.
* Avoid characters that could be misinterpreted in print or on receipts.

### Marker

A marker is an optional set of identical characters placed in the same position across every code in the set. It acts as a visual signature for the batch — handy when you want to tell at a glance which campaign or pool a code belongs to.

For example, if your marker is `SALE`, every generated code in the set will contain `SALE` in the same fixed position.

The marker counts toward the total length of the code, so plan your code length accordingly.

### Code length

The total number of characters in each code, including any marker characters. The maximum length is **20 characters**.

Longer codes are harder to guess and support a much larger pool of unique combinations. Shorter codes are friendlier when customers have to type them in manually.

### Maximum quantity

The cap on how many codes can ever be generated from this format. Once you hit this number, the format can no longer produce new codes — you'll need a different format (for example, with a longer code length or a different marker) to generate more.

Set this with headroom: pick a number you're unlikely to exceed across the life of the format.

<Tip>
  Code length and alphabet size together determine how many unique codes are mathematically possible. If you pick a short length and a small alphabet, you can run out of unique combinations quickly — give yourself room by either lengthening the code or widening the alphabet.
</Tip>

## After saving

Once you save the format, it becomes available in the **Format** dropdown for any pool that uses **Generate promo codes** as its addition method. You can now go back to the pool and generate the actual codes using the format you just created.
