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

# Attribute distributions

Attribute distributions can help you get to the source of an error by showing a distribution of errors per tag.

<img src="https://mintcdn.com/appsignal-715f5a51/nF8c1Rwq1cS7b5hg/assets/images/screenshots/guides/custom-data/attributes-page.png?fit=max&auto=format&n=nF8c1Rwq1cS7b5hg&q=85&s=dcb7d2450dc1aa94f1fdb5b10d7e9bdc" alt="Screenshot of Attributes Page" width="1693" height="958" data-path="assets/images/screenshots/guides/custom-data/attributes-page.png" />

This can help you show how many errors happened on frontend1 vs frontend2, for example. Or if a specific deploy caused more errors than another deploy.

Attribute distributions work by looking at "special" tags in a sample. We extract the values from these special tags and compute the distributions from them.

## Tagging samples

You can tag a sample with the following tags to get enriched distributions for them:

* `hostname` To show distributions by hosts
* `revision` To show distributions per deploy/revision
* `country` (For front-end errors) to show which countries experience the most issues
* `country_code` (For front-end errors) to show which countries experience the most issues
* `browser` (For front-end errors) to show which browser is the cause

The following tags are also accepted, but not enriched. They are shown as tagged:

* `company`
* `slug`
* `user_id`
* `account_id`
* `customer_id`
* `visitor_id`
* `client_id`
* `group_id`
* `site_id`

Most of the enriched tags are applied to samples automatically; our agent sets the `hostname` tag and if you use deploy tracking with ENV vars, we use the `revision` tag from that.

For front-end errors we extract the `country` from the IP address that sent the error, as well as the `browser` tag.

Tags we don't set automatically are the `user_id` and `company` tags. You can tag these yourself to get a better sense of which users have experienced an issue.

If you'd like to use attributes not in this list, we're happy to add more. Please [contact support](mailto:support@appsignal.com).

## Notes to keep in mind

We extract tags from samples, which means in some cases, if an enormous amount of errors are sent in a short timeframe, we don't get every tag from every sample, as these are throttled by our integrations.

Tags are stored for the duration of your plan's retention. This can range from seven days to sixty days, depending on your plan.
This means distributions can change over time, depending on how many error samples we still have in retention.
