Visitor groups are a way of organizing and classifying visitors to your website. Visitors can be grouped in a variety of ways: IP address (by ranges, organizations, tags, or countries), or by visitor IDs. For example, perhaps you want visitors from Amazon's Web Services to be treated differently than visitors from residential IP addresses. Or perhaps you would like visitors from one country to see different content from visitors from a different country. Or perhaps logged in visitors would be given access to more content than anonymous visitors.
Suppose, for example, that any visitor is allowed to read three articles per month. After that limit, visitors are asked to create a free account, which allows them to read ten articles. If visitors pay for a membership, then they can read an unlimited number of articles. To support this, you might create two new visitor groups in Gatekeeper:
- Free members
- Paid members
Gatekeeper has a system visitor group called "any"; if a visitor does not match any other visitor group, that visitor would be classified as "any" (which can be used to represent all of the anonymous visitors).
When a user signs up for a free account, your software can add that user ID to the "Free members" group. When users pay for a subscription, your software can add the corresponding user ID to the "Paid members" group. If the user's subscription expires, your can remove the corresponding user ID from the "Paid members" group.
We at NetToolKit have spent a considerable amount of time trying to classify IP addresses (especially for IP addresses in the United States). For example, we have tried to figure out which IP addresses are likely to represent computers that people can rent and run code on (for example, Amazon Web Servers), which are popular platforms to run crawlers (among other software); we call this category "data center." We have also integrated lists from FireHOL (such as abuse and malware), which might also give clues about the nature of the visit.
For a list of supported tags, see this list.
The registry of IP addresses includes information about who supposedly owns and controls a specific IP address. For example, if you wanted to always allow Google's crawlers access to your website, you could create a visitor group of the Organization type and add all variants of "Google" (e.g. Google, LLC) and create a policy that allowed all such visits. Note, however, that configuration that would allow visitors from Google Cloud, which probably are not Google crawlers. To block those visitors, you can create a higher priority policy that targets "data center" visitors.
Currently, visitor groups are meant to only be created through the web application. Visitor groups can, however, be updated programmatically. We would certainly consider opening programmatic interfaces so that client software can create visitor groups automatically.