Skip to navigation Skip to main content
Free on WordPress.org 4.9 / 5 WordPress.org Explore both Plugins
Free on WordPress.org 4.9 / 5 WordPress.org Explore both Plugins
  • WordPress
    Products
    Smart Cycle DiscountsDiscount automation › TrustLensCustomer trust intel › Cycle AI AIPlain-English campaigns ›
    New pluginComing soon
    Resources & toolsDocs, pricing, support ›
    Smart Cycle Discounts

    Smart Cycle Discounts

    Automate WooCommerce discount campaigns — schedule, target, and measure.

    62%
    Free Pro $59 5 discount types Recurring
    Jump into the page
    How it works Capabilities Promo codes Pricing
    Docs
    Getting started Discount types Scheduling
    Explore Smart Cycle Discounts → Changelog
    TrustLens

    TrustLens

    Customer trust intelligence — score buyers, spot abuse, protect revenue.

    Trust 86
    Free Pro $79 6 segments Abuse detection
    Jump into the page
    How it works Detection Outcomes Pricing
    Docs
    Trust scoring Detection modules Card-testing defense
    Explore TrustLens → Verify a report Changelog

    Cycle AI inside Smart Cycle Discounts

    Describe a sale in plain English — Cycle AI builds the whole campaign.

    “20% off hoodies this weekend”
    Included in Pro Natural language Catalog-aware
    See it work

    Type a sentence, get a ready-to-launch discount campaign that already understands your products, prices, and schedule.

    Live demo How it works
    Meet Cycle AI →

    A new plugin Coming soon

    Something is loading in the lab. Join the list to get the reveal first.

    Notify me on launch →

    Resources & tools

    Everything around the plugins — docs, free tools, and help.

    Learn
    Documentation Pricing & bundle Support
    Free tools
    Discount Calculator Sale Calendar
    Stay current
    SCD changelog TrustLens changelog
    Compare all plans →
    Secure checkout WordPress.org 14-day refund View pricing →
  • Affiliate
    Program
    OverviewHow the program works How it works4 steps from apply to earn Commission details30% · 60-day cookie · recurring
    Get started
    Apply nowOpen Takes ~2 minutes Earnings calculatorEstimate your monthly income FAQPayouts, cookies, renewals
    Resources
    Brand kitLogos, banners, copy, social PlaybookTactics that actually convert FTC disclosureHow to disclose properly Affiliate termsFull program agreement Contact teamOpen the contact form
    Earn 30% recurring on every saleFree to join · 60-day cookie · monthly PayPal payouts Apply now
  • Blog
  • DOCS
    Docs & resources

    Guides, references, and answers for every Webstepper plugin.

    Smart Cycle DiscountsAutomated WooCommerce discount campaigns
    Getting started› Discount types› Cycle AI›
    TrustLensCustomer trust & fraud intelligence
    Trust scoring› Detection modules› Card-testing defense›
    Docs home Guides FAQ Pricing Support
    WordPress tools that solve real problems
  • Contact Us
  • About
    Company

    Our Story

    Founded 2020

    Built by store owners, for store owners. We make WordPress tools that solve real problems.

    Learn more
    Built from experienceTools we use ourselves
    Time is preciousSimple, intuitive UX
    Real supportTalk to the founders
    Legal & contact
    Contact us Privacy policy Terms of service Refund policy
    14-day money-backNo questions asked
Popular requests
  • smart cycle discounts
  • trustlens
  • chargeback protection
GET STARTED

Glossary

1
  • TrustLens Glossary

Detection Modules

9
  • Card Testing Defense
  • Chargeback Tracking
  • Shipping Anomalies
  • Linked Accounts Detection
  • Category Aware Risk
  • Coupon Abuse Detection
  • Order Pattern Analysis
  • Return Abuse Detection
  • Modules Overview

Card Testing Defense

9
  • Attack History
  • Allowlists
  • Geo Diversity
  • Auto Escalation
  • Fingerprinting
  • VIP Bypass
  • Panic Button
  • Velocity Thresholds
  • Overview

Chargeback Monitor

7
  • Ratio Email Alerts
  • Dispute Evidence Report
  • Chargeback Monitor
  • Manual Dispute Entry
  • Stripe WooPayments Ingestion
  • Card Network Thresholds
  • Chargeback Ratio Speedometer

Customer Management

7
  • Admin Notes
  • Checkout Enforcement
  • Order Trust Column
  • Bulk Actions
  • Blocking and Allowlisting
  • Customer Detail Profile
  • Customer List

Automation

7
  • Async Dispatch Retries
  • Webhooks and HMAC
  • Rule Inspector
  • Actions Reference
  • Conditions Reference
  • Triggers Reference
  • Automation Overview

Trust Scoring

5
  • Account Age Loyalty Bonus
  • Signals Explained
  • Six Customer Segments
  • The 0–100 Score
  • How Trust Scoring Works
View Categories
  • Home
  • Docs
  • Trustlens
  • Detection Modules
  • Modules Overview

Modules Overview

6 min read

TrustLens detection is organized as eight independent modules. Each module watches a specific class of behavior — refunds, orders, coupons, categories, linked accounts, shipping anomalies, chargebacks, and card-testing attacks — and contributes signals to the trust score. Modules run in parallel, can be toggled individually, and each emits signals you can audit on the customer profile. This guide is the orientation document; the detail docs for each module follow.


The Eight Modules #

Module Module ID What It Watches Default
Return Abuse returns Refund rate, refund frequency, refund value, full vs partial ratio Enabled
Order Pattern Analysis orders Completion rate, cancellation patterns, order velocity Enabled
Coupon Abuse coupons First-order coupon repeats, coupon-then-refund cycles, stacking Enabled
Category-Aware Risk categories Per-category return rate concentration Enabled
Linked Accounts linked_accounts Shared address, phone, IP, payment method, or device fingerprint Enabled
Shipping Anomalies shipping_anomalies Address hopping, country mismatches, address-change velocity Enabled
Chargeback Tracking chargebacks Disputes, dispute outcomes, blended store-wide ratio Enabled
Card-Testing Defense card_testing Decline velocity at checkout, attacker device fingerprints Enabled

All eight ship in Free. Card-Testing Defense and Chargeback Tracking have Pro enhancements (auto-escalation, Chargeback Monitor page, etc.) but the core detection in both is available without Pro.


How Modules Work #

Every module follows the same interface, defined by the abstract TrustLens_Module class:

  • register_hooks() — wires the module into WooCommerce events (order completed, refund issued, coupon applied, etc.) so it can record observations to the customer record
  • get_signal($email_hash) — returns the module’s current signal contribution for a given customer: a score delta and a human-readable reason
  • get_settings_fields() — declares the settings UI the module exposes
  • is_enabled() — checks the per-module enable toggle

The scoring engine calls get_signal() on every enabled module during each recalculation. The module reads from the customer’s persistent record (counts, rates, stats) — not from the WooCommerce database directly — which is why scoring is fast even on stores with millions of orders.


Two Phases: Observe and Score #

Modules operate in two phases, separated in time.

Observe (event-driven) #

When a relevant WooCommerce event fires — a refund is created, a coupon is applied, a dispute webhook arrives — the module’s hook callback runs synchronously. The callback:

  1. Reads what just happened
  2. Updates aggregate counts on the customer’s row (e.g. total_refunds, first_order_coupons, total_disputes)
  3. Logs an event to {prefix}trustlens_events for the timeline
  4. Queues an asynchronous score recalculation

This phase is fast — single-row updates and one queue insert. No scoring happens here.

Score (async) #

When the queued recalculation runs (typically within 1–2 minutes), the scoring engine calls get_signal() on every enabled module. Each get_signal() reads the customer’s aggregate stats, applies the module’s rules, and returns its current contribution. The engine sums signals, applies the bonus, clamps, and writes the new score.

This separation means a busy event (e.g. ten refunds in a minute) updates the persistent record ten times but only triggers one or two score recalculations. The deduplication is in the queue, not in the observation logic.


Module Independence #

Modules do not communicate with each other directly. The Coupons module doesn’t know about chargebacks; the Linked Accounts module doesn’t know about returns. The only shared surface is:

  • The customer’s persistent record (stat columns each module owns)
  • The score recalculation queue
  • A handful of cross-module hooks (e.g. trustlens/linked_accounts_detected, which the Coupons module subscribes to for the “first-order coupons across linked accounts” pattern)

This makes modules easy to reason about in isolation. It also means you can disable any module without breaking the others — the score simply won’t include that module’s contribution anymore.


Enabling and Disabling Modules #

From TrustLens → Settings → Modules, every module has an on/off toggle. The behavior when disabled:

  • Hooks are not registered — the module won’t observe new events
  • get_signal() is not called — no contribution to scores
  • Existing aggregate stats on customer records are preserved — re-enabling resumes scoring without rebuilding
  • Settings UI for that module is hidden from the modules tab

Disabling a module is reversible. Toggling a module back on doesn’t recalculate existing scores automatically — use bulk recalculate from the customers list, or wait for the next event-triggered recalc.


Per-Module Settings #

Each module exposes its own settings sub-section under Settings → Modules. Common settings:

Setting Type Examples
Sensitivity thresholds Return rate tiers (25 / 40 / 60%), coupon abuse counts, chargeback weights
Velocity windows Address change window (7–90 days), decline velocity windows
Lookback windows How far back to consider for category-aware risk
Action toggles “Block linked-account coupon abuse,” “Auto-block after N lost disputes”
Category weights Per-category multipliers for Category-Aware Risk

Defaults are tuned for typical e-commerce. Leave them alone for the first two weeks, then adjust based on observed false positives or missed signals.


Module Status on the Dashboard #

The Module Status Pills row on the Dashboard shows each module’s state at a glance:

  • On/Off indicator — green dot if enabled, gray if disabled
  • One headline stat — e.g. “12 customers flagged this week” (Returns), “3 fraud rings detected” (Linked Accounts), “0 active attacks” (Card Testing)
  • Click target — clicking jumps to the module’s settings or detail view

This is the fastest way to verify every module is alive and producing signals.


Free vs Pro at the Module Level #

All eight module detection engines are in Free. Pro adds extensions, not replacements:

Module Free Detection Pro Adds
Returns Complete —
Orders Complete —
Coupons Complete —
Categories Complete —
Linked Accounts Complete —
Shipping Anomalies Complete Diversity-trend detection, enhanced country-mismatch severity
Chargebacks Stripe/WooPayments ingestion, manual entry, blended ratio Dedicated Chargeback Monitor page, per-brand breakdown, Dispute Evidence Report, ratio email alerts, auto-block after N lost
Card-Testing Velocity detection, fingerprint lockouts, Panic Freeze, VIP bypass Auto-escalation, geo-diversity safeguard, IP/fingerprint allowlists, 12-font fingerprint, Attack History, Slack alerts

Adding Custom Modules #

The module system is extensible. To add a custom detection module:

  1. Create a class extending TrustLens_Module
  2. Implement register_hooks() and get_signal()
  3. Register it via the trustlens/register_modules action

The custom module’s signals appear in customer signal breakdowns alongside built-in ones, contribute to scores normally, and respect the per-module enable toggle. See Extending with Custom Modules for a full example.


Module Performance Profile #

Detection has been engineered for production WooCommerce stores. Some performance characteristics worth knowing:

  • Observation overhead per event: typically < 5ms — one indexed UPDATE plus one INSERT into the events table
  • Scoring time per customer: typically < 50ms — eight module signal computations, each reading the customer’s aggregate stats from a single row
  • Background work: all scoring happens through Action Scheduler with deduplication so duplicate triggers collapse
  • Cache locality: the customer row is the unit of work — modules don’t fan out to other tables during scoring

The expensive operations (Historical Sync, ratio computations across all customers, fraud-ring graph walks) all run in batches outside the request path.


What’s Next #

The following pages dive into each module individually — what it observes, what signals it emits, what settings it exposes, and what false positives to watch for. Start with whichever module is most relevant to your store; they’re independent and can be read in any order.

Updated on June 18, 2026

What are your Feelings

  • Happy
  • Normal
  • Sad

Share This Article :

  • Facebook
  • X
  • LinkedIn
  • Pinterest
Return Abuse DetectionCard Testing Defense
Table of Contents
  • The Eight Modules
  • How Modules Work
  • Two Phases: Observe and Score
    • Observe (event-driven)
    • Score (async)
  • Module Independence
  • Enabling and Disabling Modules
  • Per-Module Settings
  • Module Status on the Dashboard
  • Free vs Pro at the Module Level
  • Adding Custom Modules
  • Module Performance Profile
  • What's Next
Newsletter

Insights that grow your business

Join thousands of WooCommerce store owners who get actionable tips, plugin updates, and industry news every week — plus 10% off either of our plugins as a welcome.

We respect your privacy. Unsubscribe at any time.

10% off welcome gift — A code for either plugin, on us
Weekly updates — Fresh content every Tuesday
Exclusive content — Tips you won't find on our blog
Early access — Be first to know about new plugins
Webstepper
Weekly WooCommerce Tips
Just now
This week: 5 proven strategies to boost your average order value using smart discount campaigns...
10% off inside
Webstepper

Tools for store owners who'd rather grow than grind.

Simple, powerful plugins that help WooCommerce store owners sell more — without the learning curve.

Products

  • Smart Cycle Discounts
  • TrustLens
  • Discount Calculator
  • Sale Calendar

Company

  • About Us
  • Blog
  • Contact
  • Affiliates
  • Log In

Resources

  • Help Center
  • Guides
  • Verify a report
  • Affiliate Program
  • Become a Partner

Questions? We actually answer.

Real humans, real help. No bots, no runaround. Usually within a few hours.

Get in touch
Operated by Setmood LLC · 7901 4th St N, St Petersburg, FL 33702 · United States

© 2026 Webstepper. All rights reserved.

Privacy Terms Refunds
Visa Mastercard PayPal Apple Pay Google Pay & more
Limited Time Offer

Get 10% off
Smart Cycle Discounts or TrustLens

Drop your email and we’ll send you a unique, single-use code — works on either plugin at checkout. New customers, first payment.

23 hours
:
59 minutes
:
59 seconds

No spam. Unsubscribe anytime.

  • WordPress
    Back
    Products
    Smart Cycle DiscountsDiscount automation › TrustLensCustomer trust intel › Cycle AI AIPlain-English campaigns ›
    New pluginComing soon
    Resources & toolsDocs, pricing, support ›
    Smart Cycle Discounts

    Smart Cycle Discounts

    Automate WooCommerce discount campaigns — schedule, target, and measure.

    62%
    Free Pro $59 5 discount types Recurring
    Jump into the page
    How it works Capabilities Promo codes Pricing
    Docs
    Getting started Discount types Scheduling
    Explore Smart Cycle Discounts → Changelog
    TrustLens

    TrustLens

    Customer trust intelligence — score buyers, spot abuse, protect revenue.

    Trust 86
    Free Pro $79 6 segments Abuse detection
    Jump into the page
    How it works Detection Outcomes Pricing
    Docs
    Trust scoring Detection modules Card-testing defense
    Explore TrustLens → Verify a report Changelog

    Cycle AI inside Smart Cycle Discounts

    Describe a sale in plain English — Cycle AI builds the whole campaign.

    “20% off hoodies this weekend”
    Included in Pro Natural language Catalog-aware
    See it work

    Type a sentence, get a ready-to-launch discount campaign that already understands your products, prices, and schedule.

    Live demo How it works
    Meet Cycle AI →

    A new plugin Coming soon

    Something is loading in the lab. Join the list to get the reveal first.

    Notify me on launch →

    Resources & tools

    Everything around the plugins — docs, free tools, and help.

    Learn
    Documentation Pricing & bundle Support
    Free tools
    Discount Calculator Sale Calendar
    Stay current
    SCD changelog TrustLens changelog
    Compare all plans →
    Secure checkout WordPress.org 14-day refund View pricing →
  • Affiliate
    Back
    Program
    OverviewHow the program works How it works4 steps from apply to earn Commission details30% · 60-day cookie · recurring
    Get started
    Apply nowOpen Takes ~2 minutes Earnings calculatorEstimate your monthly income FAQPayouts, cookies, renewals
    Resources
    Brand kitLogos, banners, copy, social PlaybookTactics that actually convert FTC disclosureHow to disclose properly Affiliate termsFull program agreement Contact teamOpen the contact form
    Earn 30% recurring on every saleFree to join · 60-day cookie · monthly PayPal payouts Apply now
  • Blog
  • DOCS
    Back
    Docs & resources

    Guides, references, and answers for every Webstepper plugin.

    Smart Cycle DiscountsAutomated WooCommerce discount campaigns
    Getting started› Discount types› Cycle AI›
    TrustLensCustomer trust & fraud intelligence
    Trust scoring› Detection modules› Card-testing defense›
    Docs home Guides FAQ Pricing Support
    WordPress tools that solve real problems
  • Contact Us
  • About
    Back
    Company

    Our Story

    Founded 2020

    Built by store owners, for store owners. We make WordPress tools that solve real problems.

    Learn more
    Built from experienceTools we use ourselves
    Time is preciousSimple, intuitive UX
    Real supportTalk to the founders
    Legal & contact
    Contact us Privacy policy Terms of service Refund policy
    14-day money-backNo questions asked
We use cookies to improve your experience on our website. By browsing this website, you agree to our use of cookies.
More info More info Accept