Implementation Guide | Analytics | Amplitude

Integrating the CHEQ response with Amplitude attaches CHEQ's traffic classification to your Amplitude users as user properties. Once the data is flowing, you can segment any chart or funnel by Threat Group to separate genuine users from bots and malicious traffic, break down acquisition and conversion reporting by Threat Type to see which channels are delivering invalid traffic, isolate AI Traffic Type to understand how much of your engagement comes from agents and crawlers rather than people, and build cohorts that exclude non-human traffic entirely so your retention, engagement, and conversion metrics reflect real user behavior.

Prerequisites

Complete both of the following before configuring Amplitude:

Send CHEQ Data to Amplitude

Set the CHEQ values as Amplitude user properties using the set operator.

Use either approach below.

Option A — via your tag management system

  1. Install your tag manager's Amplitude integration (for example, the Amplitude Analytics Browser SDK template in CHEQ Manage or Google Tag Manager, or the Amplitude v2 extension in Adobe Launch).
  2. Create a variable or equivalent for each CHEQ key you configured, reading from the delivery method you selected.
  3. Create a trigger that listens for the CHEQ event name set in the Data Layer Connector.
  4. Create an Amplitude tag or action using Identify / Set User Properties with the set operator, mapping each user property to its corresponding CHEQ variable.
  5. Test, then publish.
Setting Value
Trigger / Event Custom event matching your CHEQ Event Name
Action Identify (Set User Properties)
Operator set
User Property threat_type, threat_group, etc.
Value The variable holding the CHEQ value

Option B — via the Amplitude JavaScript SDK

Read the values from wherever you configured CHEQ to write them and pass them to Amplitude directly:

document.addEventListener("cheq_response", function(e) {
    const identify = new amplitude.Identify();
    identify.set("threat_type", window.localStorage.getItem("cq_threat_type"));
    identify.set("threat_group", window.localStorage.getItem("cq_threat_group"));
    identify.set("ai_traffic_type", window.localStorage.getItem("cq_ai_traffic_type"));
    amplitude.identify(identify);
});

Adjust the read method to match your chosen delivery option — for example window.dataLayer for Data Layer Push, or a cookie read for Cookie. Repeat for each key you configured.

Was this article helpful?

0 out of 0 found this helpful

Have more questions? Submit a request