Platform Guide • Behavioral Model Series
Part 10 of 10

Loyalty, Bot Detection, and the Price & Micro-Conversion Playbooks

The final installment: the shipped loyalty-trajectory and bot & fraud detection models, plus playbooks for segmenting price-sensitive visitors and building a micro-conversion ladder on top of ClickStream's tracked events and scores.

March 2026

Introduction Part 1: Intent, Frustration & Engagement Part 2: Value & Anomaly Part 3: Confusion & Emotion Part 4: Decision & Regret Part 5: Churn & LTV Part 6: Abandonment & Timing Part 7: Affinity, Friction & Next Action Part 8: Momentum, Entropy & Attention Part 9: Conversion, Hover & Scroll Part 10: Price, Loyalty, Micro-Conversion & Bot Detection

What You'll See in the Dashboard

Open the Intelligence tab to find the Loyalty Trajectory and Bot/Fraud Detection cards. Loyalty Trajectory shows whether a visitor's attachment to your site is growing or fading across sessions. Bot Detection shows a confidence score with a breakdown of suspicious signals. Price sensitivity and micro-conversion progress are not dashboard cards — they are segmentation playbooks you build on top of shipped scores and tracked events, covered below.

Check the Signals tab for a feed of bot-flagged sessions (real-time streaming on Scale and up) with drill-down into behavioral biometric evidence.

Business Actions: Flag high-loyalty visitors for VIP treatment and early access offers. Use your micro-conversion ladder to identify and fix drop-off points. Use Bot Detection scores to automatically exclude fraudulent traffic from your analytics and campaign audiences — and export the evidence to dispute bad ad spend.

Playbook: Segmenting Price-Sensitive Visitors

Price sensitivity isn't one of the 26 shipped models — it's a segmentation strategy you can build on top of shipped scores (intent, value, campaign response) and page-level behavior like sale-page views and coupon-field interaction. Some visitors exhibit clear price-driven behavior — they sort by price, compare costs across products, gravitate toward sale items, and hesitate at checkout when totals appear. Others show no price sensitivity at all, focusing on features, reviews, or brand.

Knowing where a visitor falls on this spectrum lets you personalize in real time: show discount messaging to price-sensitive visitors and value/quality messaging to everyone else.

8 Price-Sensitivity Signals Worth Weighting

ClickStream captures the raw behavior behind these signals as events; the weights below are a starting point for your own segmentation logic, not shipped model internals.

SignalWeightDescription
Price sort behavior0.20Sorting products by "price: low to high" on listing pages
Discount page visits0.18Visiting sale, clearance, or coupon pages
Price comparison dwell0.15Time spent looking at price elements vs. feature/description elements
Coupon field interaction0.12Clicking into the coupon/promo code field at checkout
Cart price sensitivity0.10Removing items after seeing cart total, or switching to cheaper variants
Price-to-checkout delay0.08Hesitation time between viewing the total and clicking "Place Order"
Tab switch after pricing0.10Switching tabs immediately after viewing prices (comparison shopping)
Historical discount usage0.07Whether this visitor has previously converted using a discount code

Price Sensitivity Tiers

Score RangeTierBehavior PatternRecommended Strategy
0–20Price-InsensitiveFocuses on features, brand, reviews — ignores pricingLead with value, quality, and exclusivity messaging
21–40Price-AwareChecks prices but does not optimize for lowest costStandard pricing display, highlight value-for-money
41–60Price-ConsciousCompares prices actively, may seek dealsShow savings vs. alternatives, bundle discounts
61–80Bargain-SeekerSorts by price, visits sale pages, hunts for couponsSurface limited-time deals, free shipping thresholds
81–100Price-DrivenConversion depends almost entirely on priceShow best available offer immediately, avoid upsells
Example: A Price-Sensitivity Score You Could Build
function calculatePriceSensitivity(session: SessionState): number { let score = 0; // Price sort behavior (0.20) if (session.hasSortedByPrice) score += 20; // Discount page visits (0.18) const discountRatio = session.discountPageViews / Math.max(session.totalPageViews, 1); score += Math.min(discountRatio * 3, 1) * 18; // Price comparison dwell (0.15) const priceDwellRatio = session.priceDwellMs / Math.max(session.priceDwellMs + session.featureDwellMs, 1); score += priceDwellRatio * 15; // Coupon field interaction (0.12) if (session.couponFieldClicked) score += 12; // Cart modifications (0.10) if (session.removedItemsAfterTotal) score += 10; // Price-to-checkout delay (0.08) if (session.priceToCheckoutMs > 15000) score += 8; // Tab switch after pricing (0.10) if (session.tabSwitchAfterPricing) score += 10; // Historical discount usage (0.07) if (session.visitor.hasUsedDiscountBefore) score += 7; return Math.min(100, Math.round(score)); }

The Loyalty Trajectory Model (Return Propensity)

The shipped loyalty-trajectory model predicts the probability that a visitor will return to your site. Unlike churn prediction (Model 10), which focuses on detecting imminent departure, loyalty scoring captures the positive dimension: how attached is this visitor to your product or brand?

Return propensity gives you both a tactical view (will this visitor be back next week?) and a strategic one (is their attachment growing or fading over time?).

The Loyalty Signals

The signal weights and tier names below are illustrative — the shipped model's internals are tunable per site — but these are the kinds of signals that drive the trajectory.

SignalWeightDescription
Visit frequency trend0.22Whether sessions are becoming more or less frequent over time
Feature adoption breadth0.16Number of distinct product features or content areas explored across sessions
Session depth trend0.14Whether average pages-per-session is increasing or decreasing
Direct navigation ratio0.12Proportion of visits that start from direct URL/bookmark vs. search/referral
Engagement consistency0.10Variance in engagement scores across sessions (low variance = consistent loyalty)
Account actions0.10Saving preferences, creating wishlists, setting notifications
Content contribution0.08Writing reviews, asking questions, sharing content
Recovery after absence0.08Returning after a period of inactivity (indicates pull-back attraction)

Loyalty Tiers

Score RangeTierPatternStrategy
0–20One-TimerSingle visit, no return signalsEmail capture, retargeting ads
21–40OccasionalInfrequent returns, task-driven visitsRe-engagement campaigns, new content alerts
41–60RegularConsistent visit pattern, moderate depthPersonalized recommendations, loyalty program invite
61–80LoyalFrequent visits, deep engagement, growing usageVIP treatment, early access, referral program
81–100AdvocateDaily/weekly visits, contributes content, direct navigationAmbassador program, exclusive perks, feedback loop

Playbook: Building a Micro-Conversion Ladder

Most analytics tools only track macro-conversions — completed purchases, submitted forms, signed-up accounts. But the path to a macro-conversion is paved with dozens of micro-conversions: small behavioral steps that indicate forward progress.

A micro-conversion ladder isn't a shipped scoring model. ClickStream tracks every one of these steps as events and scores conversion readiness; the ladder below is a weighting you can apply to those events for a granular view of how close each visitor is to converting — and exactly where they stall.

The Micro-Conversion Ladder

Micro-ConversionPointsCumulative Example
First page scroll past fold+22
Second page view (not bounce)+35
Clicked a product/feature link+510
Viewed pricing page+818
Watched a demo video+725
Downloaded a resource+1035
Signed up for newsletter+1247
Created an account+1562
Added item to cart+1274
Started checkout form+1084
Entered payment information+892
Completed purchase+8100

How a Micro-Conversion Ladder Differs from Intent

Intent (Model 1) is a predictive score — it estimates likelihood based on behavioral patterns. A micro-conversion ladder is an observed score — it counts actual steps completed. A visitor can have high intent (looking eager) but a low ladder score (has not actually done anything yet). The combination is diagnostic:

Low Micro-Conversion (0–40)High Micro-Conversion (60–100)
Low Intent (0–40)Casual browser. Normal early funnel.Completed steps mechanically but lacks enthusiasm. Check for bot.
High Intent (60–100)Eager but stuck. UX barrier blocking next step.On track for conversion. Clear the path.

The Bot & Fraud Detection Model

The bot detection model is the security layer of the behavioral scoring pipeline. It analyzes how a visitor interacts with your site at the motor-control level — mouse dynamics, typing cadence, scroll physics, and timing patterns — to distinguish humans from bots, scrapers, and fraudulent actors.

Unlike CAPTCHA-based detection (which interrupts users), ClickStream's behavioral biometric approach runs silently in the background, scoring every session without any visible challenge.

The 10 Bot Detection Signals

The signals and weights below are an illustrative simplification of the behavioral layer. The shipped detector combines session-level behavioral scoring like this with Cloudflare Bot Management signals, a registry of 158 named bots (including 38 AI agents), datacenter-ASN checks, header-consistency analysis, and a dedicated stealth-browser lane.

SignalWeightHuman PatternBot Pattern
Mouse movement curvature0.15Curved, irregular paths with acceleration/decelerationStraight lines between points, constant velocity
Click timing variance0.12Variable inter-click intervals (200–3000ms)Uniform intervals (±10ms deviation)
Scroll physics0.12Inertial scrolling with natural decelerationInstant jumps to exact pixel positions
Typing cadence0.10Variable keystroke intervals, common typo/correction patternsUniform typing speed, no corrections
Mouse idle micro-movements0.10Small jitter/drift during "idle" (hand tremor)Perfectly stationary between actions
Viewport interaction coverage0.08Clustered around content zones with natural hotspotsUniform distribution or exclusively on targets
Session timing pattern0.08Variable session duration, natural breaksRepeated exact-duration sessions
Navigation pattern entropy0.08Semi-predictable but varied page sequencesIdentical page sequences across sessions
JavaScript environment0.10Consistent browser APIs, natural fingerprintMissing APIs, spoofed user-agent, headless browser signals
Request timing0.07Variable network timing, natural latencySub-millisecond consistency, impossible speeds

Detection Verdicts

Every visitor gets a single 0–100 Human score, and the dashboard collapses the underlying classification into a three-state verdict:

VerdictWhat It MeansWhat Happens
Real PersonStrong human behavioral signals across the sessionCounted normally in analytics, People, and audiences
Needs a CheckMixed signals — could be a human with an unusual setupFlagged for review; an operator can mark it human and the override sticks for 90 days
Automated (AI / Bot / Tool)Classified into one of 11 bot categories, from search crawlers to stealth browsersExcluded from analytics, People, and audiences; evidence available for ad-platform disputes

Ad Fraud Detection

Bot detection is particularly valuable for protecting ad spend. ClickStream can identify:

The Signals tab in the dashboard provides a feed of flagged sessions (real-time streaming on Scale and up) with drill-down capability. Each flagged session shows the specific behavioral biometric evidence that triggered the bot classification, so you can audit decisions and tune thresholds.

Under the Hood: Behavioral Biometric Scoring (Illustrative)
interface BiometricSignals { mouseCurvature: number; // avg curvature of mouse paths (0 = straight, 1 = very curved) clickTimingCV: number; // coefficient of variation of inter-click times scrollPhysics: number; // inertia score (0 = instant jumps, 1 = natural deceleration) typingCadenceCV: number; // coefficient of variation of keystroke intervals idleMicroMovements: number; // count of <3px movements during "idle" periods viewportCoverage: number; // entropy of click position distribution sessionTimingCV: number; // variation across multiple sessions from same visitor navPatternEntropy: number; // Shannon entropy of page transition sequences jsEnvironment: number; // browser API consistency score (0 = suspicious, 1 = normal) requestTiming: number; // variation in request-to-render timing } function calculateBotScore(signals: BiometricSignals): number { // Higher score = more likely to be a bot let botScore = 0; // Straight mouse paths are suspicious botScore += (1 - signals.mouseCurvature) * 15; // Too-regular click timing is suspicious botScore += signals.clickTimingCV < 0.1 ? 12 : 0; // No scroll inertia is suspicious botScore += (1 - signals.scrollPhysics) * 12; // Perfectly regular typing is suspicious botScore += signals.typingCadenceCV < 0.05 ? 10 : 0; // No idle micro-movements = not a human hand botScore += signals.idleMicroMovements < 2 ? 10 : 0; // Suspicious JS environment botScore += (1 - signals.jsEnvironment) * 10; // Other signals... botScore += (1 - Math.min(signals.viewportCoverage, 1)) * 8; botScore += signals.sessionTimingCV < 0.05 ? 8 : 0; botScore += signals.navPatternEntropy < 0.5 ? 8 : 0; botScore += signals.requestTiming < 0.01 ? 7 : 0; return Math.min(100, Math.round(botScore)); }

The Complete 26-Model Scoring Pipeline

With this final installment, the ClickStream behavioral intelligence pipeline is complete. Here is how all 26 models work together:

CategoryModelsWhat They Answer
Foundation (1–3)Intent, Frustration, EngagementWhat does this visitor want, how are they feeling, and how deeply are they interacting?
Value & Safety (4–5)Value, Anomaly DetectionHow much is this visitor worth, and is their behavior normal?
Understanding (6–7)Confusion, Emotional StateIs this visitor confused, and what is their emotional valence?
Decision (8–9)Decision Confidence, Regret ProbabilityHow confident is this visitor, and will they regret purchasing?
Retention (10–11)Churn Prediction, LTVWill this visitor come back, and what are they worth long-term?
Timing (12–13)Abandonment, Purchase TimingIs this visitor about to leave, and when are they most likely to buy?
Content (14–16)Content Affinity, Form Friction, Next Best ActionWhat content resonates, what forms are broken, and what should you show next?
Session Quality (17–19)Scroll Depth Intelligence, Session Quality, Conversion ReadinessHow deeply are they reading, how healthy is the session, and how ready are they to convert?
Traffic & Navigation (20–22)Bot Detection, Navigation Pattern, Return VisitorAre they human, how do they move through the site, and are they coming back?
Campaign & Context (23–26)Campaign Response, Device Engagement, Time-of-Day Affinity, Loyalty TrajectoryWhich campaigns land, on which devices, at which hours — and is loyalty growing?

Session momentum and navigation entropy are computed alongside the models as inline session metrics.

Twenty-six models, all computed at the Cloudflare edge in real time, all visible in your ClickStream dashboard. No data warehouses. No batch processing. No third-party scripts. Just instant behavioral intelligence for every visitor, every session.

Previous in Series ← Part 9: Conversion, Hover & Scroll

26 Behavioral Models. Zero Guesswork.

From intent to bot detection, ClickStream scores every visitor across 26 behavioral dimensions in real time. See them all in your dashboard today.

Start free