> For the complete documentation index, see [llms.txt](https://ldevumd.gitbook.io/bittsy/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ldevumd.gitbook.io/bittsy/creating-protocols/tags/dynamic-tags.md).

# Dynamic tags

The tag types discussed thus far must be set up in the opening definitions section of your protocol, before the execution of the first `STEP`, and once they are defined, what they refer to cannot be changed. **Dynamic tags** are tags that can be defined later in your protocol and used to refer to the result of a selection statement when a tag is chosen from a group. They don't have a fixed identity as "meaning" any other particular tag; rather, they work as a placeholder tag that can still be reassigned to a new item later on in the execution of the protocol.

Dynamic tags are explained further in the section on [randomization and selection from groups](/bittsy/creating-protocols/selection-and-randomization.md). But they are another type of tag that, once defined, work in the same way as the tags discussed thus far. They can reference a particular stimulus file or they can reference a group, and they can be used in selection statements or action statements in the same way as static tags.
