Client Tags, as the name implies, are only available for use in Clients. Their values are isolated to a Client runtime. All clients will have the same list of client Tags, however, the actual values are unique and independent for each running Client. In other words, even though client Tags are created in the Designer, each client will create their own instances. This makes them very useful as in-project variables for passing information between screens, and between other parts of the clients, such as scripting.
Client Tags support most of the data types that standard Tags do (including datasets), but excluding the array types. Additionally, Client Tags do not have a Tag Group property, so the value will only update when the polling property executes, or a reference in the Client Tag's expression updates.
Often, users will create parameterized windows that take in a line ID or machine name. A Client Tag can store this value for indirection to be used across multiple windows without users on different clients fighting over the current value as they would with a standard Tag.
If you are using Perspective, there are no Client Tags available to a Session. See Session Properties for a similar system.