Custom attributes would be
mutable
fields that allow for storage of custom data, which can be updated -- unlike traffic source tracking fields which are designed to capture data from a source at the moment of entry but cannot be updated after that (and should not be, because they represent data from the source).
These will be most useful for storing data about user choices or activity after they enter a funnel.
For example:
* Options selected
* User type
* Entered form info
An example would be a user fills a form providing some profile data, and you want to store some of that data in the tracker (ideally not PII data!) and use it in reporting as a grouping.
There is some overlap with tags, but these are designed to be applied and removed as a static label, as opposed to custom data ingested.
These will take some engineering for us to add due to the limitations of our analytics database, Clickhouse. These databases are not efficient at updating existing data, so "mutating" and altering existing user data is not only highly non-performant, in many cases we can't do it.
So we will find an optimium approach.
Updating these custom attributes will be via the JavaScript initially, likely we would add a server-side API method later.