Bot Detection with PerimeterX


MetaRouter’s PerimeterX bot detection integration allows PerimeterX to supply bot scores, which can be used within the MetaRouter platform to filter out likely bot traffic. Customers can determine which traffic to filter based on the overall likelihood that traffic comes from bots as indicated by PerimeterX. For example, they may supply a score of 60/100, indicating a 60% chance that the user is a bot. Likewise, a score of 1/100 would indicate that there is a very low chance that the user is a bot.

Hashed Score Values

To limit the risk of bots detecting their PerimeterX scores and adjusting accordingly, PerimeterX has created a table of 10,000 hashed values, each corresponding to an actual score that can be used to filter traffic. The table of values is structured as follows:

Row #HashScore 1 (0-100)Score 2 (0-999)

This table may occasionally be changed to ensure that bots are not able to adjust to PerimeterX’s values. It is stored in your cluster’s memory, so it is available to reference in real-time as MetaRouter receives your events.

MetaRouter stores only a subset of the table rows to make the lookup process quicker.

Bot Detection Scores

There are two scores that PerimeterX returns to MetaRouter:

  • Score 1. It is out of 100, with a score of 100 representing a high risk of being a bot.
  • Score 2. It is out of 999, with 999 representing a high risk of being a bot.

Both of these scores may be used to filter traffic. Once you have designated your acceptable score values, MetaRouter will store the table values that you want to trigger the filter on. For example, if you want to filter events that score 50 and above and Score 1, and 500 and above on Score 2, we will only store the rows that meet that criteria. Any event that does not meet the criteria will flow through MetaRouter per usual.

How It Works

  1. When user first lands on [customer].com, PerimeterX will evaluate the likelihood of a bot and surface a hashed value to the data layer. This value is then injected as a new parameter into ALL MetaRouter events.
  2. As the user navigates further into a website, PerimeterX further evaluates the user session and updates the bot detection.
  3. As events are generated, they are sent to the MetaRouter ingestion service installed on your cluster. The service detects whether the PerimeterX scores are present within the event payload.
  4. MetaRouter uses the hashed values to look up the appropriate row within the 10,000 row table, which contains the true detection score and is stored in memory.
  5. If the corresponding scores from the two columns meet the bot detection threshold you set, MetaRouter will use Filter logic stored within Pipeline Filters to drop events that meet the criteria. Those events will not be sent to your configured integrations.
    1. An example of this logic might be: DROP event if Score 1 = 100, AND Score 2 = 999
  6. All other events will be processed per usual.

Configuring PerimeterX Bot Detection

This feature is currently not self-serviceable and requires you to have an active PerimeterX account. You will need to reach out to your MetaRouter Customer Success Manager, or create a ticket at to have PerimeterX Bot Detection enabled for your organization.

Adding the Filter

MetaRouter will add a new Pipeline Filter to the Pipelines that you would like to apply bot filtering to. Please note that this filter logic will not be available to your organization within the UI as it will be implemented on your pipeline’s backend code. You may make other changes to your pipeline within MetaRouter without any risk of overwriting the pipeline filter.

Testing & Verifying PerimeterX Bot Detection

Bot detection may significantly impact the amount of traffic forwarder to your destinations depending on your organization’s bot sensitivity level. Therefore, we recommend slowly rolling out bot detection to ensure that all data stakeholders are aware of changes that may occur following the activation of bot detection.

Once your bot detection filter is enabled, you will want to ask the MetaRouter team to enable Pipeline Filter metrics for your organization. Once enabled, you will be able to view Pipeline Filter metrics (which include events dropped with PerimeterX filters) directly from your Monitoring Dashboard.