Seatext library / BotRefund evidence
Identifying Uniform Click Paths in Web Sessions
Uniform click paths are sessions where every visitor follows the exact same series of clicks, a strong sign of automated traffic. Detect them by extracting click sequences, normalizing URLs, comparing patterns, and checking supporting...
✓ Built for advertisers who need clear, refund-ready traffic evidence.
Uniform click paths are sequences where every session follows the exact same series of clicks, indicating automated or bot behavior.
| Signal | Typical human behavior | Uniform click‑path indicator |
|---|---|---|
| Click sequence | Varied order of links based on interest | Identical order across many sessions |
| Scrolling | Natural scroll depth and pauses | No scrolling recorded |
| Field corrections | Typos corrected, fields edited | No field corrections observed |
| Time on page | Seconds to minutes, varies per content | Uniformly short or identical times |
Definition and Scope
A click path (also called a clickstream) is the ordered list of pages or elements a visitor clicks during a session. When that list is exactly the same for many sessions, we call it a uniform click path. Uniformity alone does not prove fraud, but combined with other signals it strongly suggests non‑human activity.
Click paths can be captured at different granularities: page-level (URLs), element-level (button IDs, link classes), or event-level (custom analytics events). Page-level paths are easiest to collect from standard analytics platforms like Google Analytics 4 (GA4) or Meta Ads Manager. Element-level paths require client‑side instrumentation such as a JavaScript listener that records every click target. The choice of granularity affects detection sensitivity. Page‑level uniformity may miss bots that randomize sub‑page actions, while element‑level data can reveal identical interaction sequences even when page URLs differ slightly.
Scope also includes the time window. A uniform path observed over a few hours may indicate a burst of bot traffic from a single campaign. A pattern persisting across days suggests a persistent script or scraper. Analysts should segment by traffic source, device type, and geographic region to avoid conflating legitimate funnel steps (e.g., a linear checkout flow) with malicious uniformity.
Why Uniform Click Paths Matter
Uniform paths can inflate ad spend, poison conversion data, and hide the true performance of your campaigns. If you ignore them, you may keep optimizing on misleading metrics, wasting budget on traffic that never converts.
When bots follow identical click sequences, they generate fake clicks that cost money in pay‑per‑click models. They also trigger conversion pixels without real intent, corrupting the training data for bidding algorithms. This leads to higher cost‑per‑acquisition and lower return on ad spend. In lead‑generation campaigns, uniform paths often accompany form submissions with disposable emails or disconnected phones, wasting sales team effort. According to BotRefund research, bot clicks can steal up to 20% of Google and Meta ad budgets (source S2). Detecting uniform paths early lets you block offending IPs, adjust targeting, or file refund claims with ad platforms.
Detectable Signals
BotRefund’s research highlights several signals that often appear together with uniform click paths:
- No scrolling or mouse movement ("Absence of clicks or scrolling").
- No field corrections or repeated form edits.
- Identical, rapid form completions.
- Grid‑aligned or straight‑line mouse movements ("Path behavior").
Additional signals from BotRefund’s 106‑check suite include superhuman input speed (under 1 ms), absence of human‑like mouse tremor, and scrollbar width leaks that reveal automated browsers (source S4). These signals are independent; a single anomaly is not a verdict. BotRefund’s AI model cross‑checks them across browser, network, device, and behavior layers to reach 99% accuracy (source S4, S7). When uniform click paths co‑occur with multiple behavioral anomalies, confidence in bot classification rises sharply.
Step‑by‑Step Identification Process
- Collect raw session data. Export click logs from your analytics platform (Google Analytics, Meta Ads Manager, etc.) that include timestamps, page URLs, and element IDs. In GA4, use the Exploration report with "Event name = click" and dimensions "Page path", "Event parameter: element_id", "Session ID". Export to BigQuery for large‑scale analysis.
- Normalize the data. Strip query strings, session IDs, and any dynamic parameters that differ per user but do not affect navigation. Keep UTM parameters only if you need to attribute by campaign; otherwise remove them to avoid false uniformity. Also normalize case, trailing slashes, and URL encoding.
- Build click‑path strings. Concatenate the ordered list of page identifiers for each session, e.g.,
home > product > checkout. For element‑level paths, use a delimiter like "|" between element IDs. Example BigQuery snippet:WITH clicks AS ( SELECT session_id, ARRAY_AGG(page_path ORDER BY event_timestamp) AS path_array FROM `project.dataset.ga4_events` WHERE event_name = 'click' GROUP BY session_id ) SELECT session_id, ARRAY_TO_STRING(path_array, ' > ') AS click_path_string FROM clicks; - Group identical strings. Count how many sessions share the exact same string. A high count (e.g., >5% of total sessions) flags a uniform path. Adjust threshold based on traffic volume; for low‑traffic sites, even 10 identical paths may be significant.
- Cross‑check supporting signals. For the flagged group, examine scrolling depth, mouse‑move logs, and form‑field events. Uniform paths often lack these human‑like actions. Join with client‑side behavioral logs (e.g., BotRefund script) that capture scroll depth, mouse tremor, and input speed.
- Score the sessions. Assign a risk score based on uniformity plus supporting signals. Use a rubric:
Sum weighted scores; sessions above 0.7 are high risk. BotRefund’s AI model can ingest these scores for an automated verdict.Factor Weight Threshold Path uniformity (sessions sharing path / total sessions) 30% >5% Zero scroll depth 20% True No field corrections 15% True Identical time-on-page (std dev < 1s) 15% True Grid‑aligned mouse movement 10% True Superhuman input speed 10% True
Mini‑case: Normalization pitfall. A retailer stripped all query parameters, including product IDs, causing distinct product detail pages to collapse into a single "product" token. This made 2,000 legitimate sessions appear as one uniform path. The fix: preserve path‑defining parameters (e.g., product SKU) while removing session‑specific tokens (e.g., `session_id`, `fbclid`). Always audit a sample of normalized paths against raw URLs before grouping.
Common Mistakes to Avoid
- Removing too much data. Over‑normalizing (e.g., deleting all query parameters) can make distinct sessions appear identical. Example: stripping UTM parameters is safe, but removing product IDs merges different product views.
- Relying on a single signal. Uniform paths without scrolling anomalies may still be legitimate; always use a multi‑signal approach.
- Ignoring volume thresholds. A single identical path is normal; look for patterns across dozens or hundreds of sessions.
- Over‑normalizing UTM parameters. If you keep UTM source/medium but drop campaign/content, sessions from the same ad set but different creatives may falsely unify. Keep at least source and medium for attribution.
- Ignoring single‑page sessions. Bots often land on a page and trigger a conversion event without any clicks. These sessions have empty click paths and are missed by path‑only analysis. Include event‑only sessions in your audit.
Verifying Your Findings
After you flag a set of uniform paths, run a quick verification:
- Sample a few sessions in a replay tool (e.g., Chrome DevTools or a session‑recording product) to see actual mouse movement.
- Check server logs for IP diversity. Bots often use data‑center IP ranges.
- Compare conversion outcomes. Uniform paths usually have zero or very low conversion rates.
If the sample confirms non‑human traits, you can proceed to block the traffic or submit a refund claim.
| Checklist Item | Tool / Source | Pass Criteria |
|---|---|---|
| Session replay shows mouse movement | Hotjar, FullStory, BotRefund replay | Natural curves, pauses, scroll |
| IP address not in known data‑center ranges | IPinfo, MaxMind, server logs | Residential / mobile ISP |
| Conversion rate > 0% for the path | CRM, GA4 conversions | At least one real conversion |
| Scroll depth > 0% | GA4 scroll event, client‑side script | Any scroll recorded |
| Form field corrections present | Client‑side form analytics | At least one correction |
Note on session‑replay sampling bias. Replay tools often sample a subset of sessions (e.g., 10% of traffic). If bot traffic is high volume, the sample may under‑represent bots, leading to false confidence. Always verify with full‑population logs (BigQuery, server access logs) before concluding.
FAQ
- What if a legitimate A/B test creates similar paths? A/B tests are usually limited to a small percentage of traffic and still show natural scrolling and timing variations.
- Can I automate detection? Yes. BotRefund provides a client‑side script that logs click sequences and feeds them into its AI model for real‑time alerts.
- How often should I audit click paths? Perform a baseline audit monthly, and run quick spot checks after major campaign changes.
- Does uniform click‑path detection work on mobile? Absolutely. Mobile sessions also generate click‑path logs; look for the same lack of scrolling or rapid taps.
- How do single‑page applications (SPAs) affect false positives? SPAs often trigger virtual pageviews without full reloads, creating identical path strings for legitimate users navigating the same route. Mitigate by including element‑level clicks (button IDs, route changes) and checking for scroll/interaction signals.
- How should I handle consent‑mode gaps where behavioral data is missing? When users reject analytics cookies, GA4 may not record click events. Use server‑side logs (with hashed IPs) to reconstruct minimal paths, and rely on BotRefund’s cookieless behavioral signals (mouse tremor, input speed) that work without consent.
Further reading and comparison sources
These external sources provide additional context for evaluating the topic. Their inclusion is not an endorsement.
Further reading and comparison sources
These external sources provide additional context for evaluating the topic. Their inclusion is not an endorsement.
Learn more
Visit the website for more information.