> For the complete documentation index, see [llms.txt](https://docs.racemap.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.racemap.com/live-tracking/tags.md).

# Organize participants with tags

A tag attaches a `category: value` label to a participant, for example `club: Team A`, `wave: 2`, `nationality: GER`, or `status: DNF`. A participant can carry several tags at once, one value per category.

* Filter the tracking map and leaderboard by category and value.
* Group participants in the player sidebar, e.g. by wave or club.
* Show tag values as columns in the leaderboard.
* Suppress Safemap alerts for participants matching a tag, e.g. `Status: DNF`.

### Filter the tracking map

Spectators filter the starter list by tag category and value, narrowing down to the participants they care about.

{% hint style="info" %}
Participants without a value in a category are grouped under an implicit "none" option when filtering.
{% endhint %}

The current filter selection can also be set directly via URL, useful for pre-filtered links or embeds.

parameter: `filter=<tag-1>:<value-1>,<tag-2>:<value-2>`

URL with filter tags age "20" and nationality "GER": <https://racemap.com/player/MuenchenMarathon21-marathon#filter=age:20,nationality:GER>

{% content-ref url="/pages/rBoVsfgfgJFKOFBJ6wfa" %}
[URL parameters](/live-tracking/url-parameters.md)
{% endcontent-ref %}

### Group participants in the sidebar

Group the player's participant list by a tag category, e.g. by wave or club, so spectators find related participants at a glance instead of scrolling a flat list.

{% content-ref url="/pages/-LXUVd-Pmy5sMONVdo3C" %}
[Event visualization](/live-tracking/map.md)
{% endcontent-ref %}

### Filter categories in the leaderboard

Tag values also drive filter categories and columns in the leaderboard. Disable specific tag values to hide them from the leaderboard, e.g. exclude an "Orga" class.

{% content-ref url="/pages/-LYXfT2qbHHP6XDl9-g6" %}
[Leaderboard](/live-tracking/gps-timing.md)
{% endcontent-ref %}

### Suppress alerts in Safemap

In Safemap, protected zones suppress alerts by location. Tags work alongside that: filter participants by tag in the participant navigation, for example to focus on a `Amateur` group or exclude an `Status: DNF` tag from monitoring.

{% content-ref url="/pages/WFltfnWKsYMmIRNlNEaX" %}
[Safemap](/live-tracking/safemap.md)
{% endcontent-ref %}

## Configure how tags appear

For each tag category, configure in the event's Visualisation settings:

* **Visible as filter** — show or hide the category as a filter option for spectators.
* **Group starters by** — use this category to group the participant list in the sidebar.
* **Default filter values** — pre-select values when the tracking map loads.
* **Order** — the display order of categories relative to each other.

## The `status` tag category

One tag category is special: `status` (also recognized when named `state`). Use it to mark a participant's race status — the suggested values are `DNF`, `DNS`, `DSQ`, and `FIN`.

* Safemap shows a colored badge for each value and, by default, only lists participants **without** a status in the Starters and Alerts lists — adjust the "Participant Status" filter to see DNF/DNS/DSQ/FIN participants too.
* The leaderboard excludes `DNF`, `DNS`, and `DSQ` from ranking — they show a dash instead of a rank, and `DSQ` rows are dimmed. `FIN` does not affect ranking.
* When editing the `status` column in the participant list, `DNF`, `DNS`, `DSQ`, and `FIN` are suggested automatically.

{% hint style="info" %}
Use exactly these uppercase values so Safemap and the leaderboard recognize them. Any other value in the `status` category is treated like a normal tag.
{% endhint %}

## How to add tags

There are three ways to get tags onto participants: manually, via CSV import, or via automatic sync.

### Manually

Manage tags directly in the participant list of your event, under Participants.

* Edit a tag value inline, cell by cell, for a single participant.
* Add a new tag category as a column.
* Set a tag value on several selected participants at once.
* Remove a tag category from selected participants.
* View the distribution of tag categories and values across all participants.

### CSV import

Add a `tags.<category>` column for each tag category to your participant CSV file, e.g. `tags.club;tags.wave`. Each cell holds the value for that participant.

{% content-ref url="/pages/-MBKork\_GNvfGpnpwShV" %}
[Import with CSV file](/api-import-and-export-data/import-data-from-csv.md)
{% endcontent-ref %}

### Automatic sync

Connect a generic hosted data source or a RACE RESULT list to keep participants and their tags synchronized automatically. The source provides `tags.<category>` fields (or a `tags` object) per participant; the sync picks them up on every run.

You can also restrict the sync to a single tag category and only import participants with matching values.

{% content-ref url="/pages/-LTq5TdE6GKt2S6dgesz" %}
[Generic import](/api-import-and-export-data/import-basics/metadata-api.md)
{% endcontent-ref %}

{% content-ref url="/pages/-LTh-oAm96bieBZVeffZ" %}
[RACE RESULT import](/api-import-and-export-data/import-basics/metadata-import-via-rr.md)
{% endcontent-ref %}

## Related pages

{% content-ref url="/pages/-MBKork\_GNvfGpnpwShV" %}
[Import with CSV file](/api-import-and-export-data/import-data-from-csv.md)
{% endcontent-ref %}

{% content-ref url="/pages/-LTq5TdE6GKt2S6dgesz" %}
[Generic import](/api-import-and-export-data/import-basics/metadata-api.md)
{% endcontent-ref %}

{% content-ref url="/pages/-LXUVd-Pmy5sMONVdo3C" %}
[Event visualization](/live-tracking/map.md)
{% endcontent-ref %}

{% content-ref url="/pages/-LYXfT2qbHHP6XDl9-g6" %}
[Leaderboard](/live-tracking/gps-timing.md)
{% endcontent-ref %}

{% content-ref url="/pages/rBoVsfgfgJFKOFBJ6wfa" %}
[URL parameters](/live-tracking/url-parameters.md)
{% endcontent-ref %}

{% content-ref url="/pages/-M\_zgpFYgo28IJBo4zVF" %}
[\*/starters, athlete data](/api/participants.md)
{% endcontent-ref %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.racemap.com/live-tracking/tags.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
