As explained, you can use Filters to determine what users should be returned by the {users} Plugin Tag. The filters will determine what list of users is output, along with the Limit and Ordering.

So for instance, you can show data from the users in a certain user group that also have a specific value in a custom "subscription" field:

{users usergroup="Customer" subscription="Gold"}...{/users}

You can combine any filters to narrow down the resulting list of users. Each filter can also have multiple values, separated with a comma.
Note that values in filters should only be separated by a comma, so no extra spaces between the values.

{users usergroup="Customer,Lead" potential="Small,Medium"}...{/users}

Note: if you don't specify any filter, *all* users from the website will be returned (although with a Default Limit set to 100).

You can filter users by a huge range of data types, including categories, tags, dates, and even by custom field values - pretty much by anything you can think of. Check out the Full List of Data Types available for everything you can use in the filters.

Let’s take a look at the most common Filters available and their respective options and features:

Users

You can simply specify a comma-separated list of users you want to display, either by using the name, email, username or ID of the users:

{users name="Abigail Bennett,Brandon Carter,Clara Dawson"}...{/users}
{users email=",,"}...{/users}
{users username="abigail,bcarter,dawson-clare"}...{/users}
{users id="8,27,123"}...{/users}

If your user neame contains a comma, either simply use the email, username or ID instead, or escape the comma. For instance, if you want to show the users "Thomas Smith, Jr." and "Munchkin", you can escape the comma with \ in front of the user:

{users name="Thomas Smith\, Jr.,Abigail Bennett"}...{/users}

User Groups

You can display multiple users by their user group. All you need to do is to place a usergroup="..." attribute in the tag:

{users usergroup="Customer,Registered,12"}...{/users}

With the above tag, you can use either the title or ID of the desired user groups, separating multiple categories with a comma.

Contacts

Want to only show users by certain contact information? Just filter down based on the contact name, country, or whatever:

{users contact:name="Peter"}...{/users}
{users contact:country="The Netherlands"}...{/users}

Dates

You can filter users based on the register-date, lastvisit-date, as well as custom fields of type calendar. You have various formats that you can use inside any of these date filters.

To return users that have registered at an exact Date and Time:

{users register-date="2019-02-15 09:30:00"}...{/users}

To show all users  that have registered on a specific Date (regardless of time):

{users register-date="2019-02-15"}...{/users}

To filter users by Month (for example, showing all users published in February 2019):

{users register-date="2019-02"}...{/users}

And to show all users registered in a certain Year, you can simply do:

{users register-date="2019"}...{/users}

Date Ranges

You can also show users that have registered (or last visited, or some other date field) before or after a certain Date (Time, Month and Year formats are also possible). To do this, use the "Greater or Less than..." feature as described in the Comparison Operators section:

{users register-date=">2019-02-15"}...{/users}
{users register-date="<2019"}...{/users}

The date filter even supports Date Ranges. This allows you to show results between two specific dates (Time format is also possible):

{users register-date="2018-11-14 to 2018-11-28"}...{/users}
{users register-date="2019-02-15 09:30:00 to 2019-02-15 18:30:00"}...{/users}

And you can use special Relative Dates values to return and compare results from the current day, yesterday, tomorrow, or any other date relative to today.

This, for example, allows to output all users that have registered yesterday. Or to output all users registered in the last 30 days:

{users register-date="date('yesterday')"}...{/users}
{users register-date="date('-30 days') to now()"}...{/users}

Note: All Date Filters will be adjusted correctly according to the Time Zone used on your website.

Custom Fields

You can even filter users by the value of the custom fields. You need to use the field name as the attribute key.

Let's say you have a custom field "Number of legs" that has a field name nr-of-legs and you want to filter down to users that have this value set to 3.

{users nr-of-legs="3"}...{/users}

You can also filter to users where a custom field value is greater or less than your specified value (See the Comparison Operators section for a full explanation):

{users nr-of-legs=">3"}...{/users}
{users nr-of-legs="<3"}...{/users}

Field Text

When filter by custom field values, the condition will check the raw value of the custom field (as saved in the database).

But in certain cases, such as lists or checkbox fields, you might want to check against the text value of the custom field instead. You can do so by adding :text after the name of the field:

{users nr-of-legs:text="Three legs"}...{/users}

Reserved Field Names

If your custom field name is called the same as a reserved attribute key already used by Users Anywhere (for example in the case of a custom field called  block or  activation ), you can filter by your custom field with that name by prepending the attribute with a field: prefix:

{users field:block="lower"}...{/users}

Or by using the field ID after the field: prefix:

{users field:9="lower"}...{/users}

Other User Data

Like with the custom fields, you can also filter down to any other user data. As long as it is directly saved in the users database (must match the column name in the database table).

So you can use filters like timezone="..." to show users that have a certain value saved in the timezone field.

Check out the Full List of Data Types available for everything you can use in the filters.