Skip to navigation Skip to main content

Free Grow sales & stop fraud — Smart Cycle Discounts + TrustLens, free on WordPress.org Two free WooCommerce plugins

Explore both

Free Grow sales & stop fraud — Smart Cycle Discounts + TrustLens, free on WordPress.org Two free WooCommerce plugins

Explore both
  • WordPress
    WordPress Plugins
    View all
    Smart Cycle Discounts logo

    Smart Cycle Discounts

    Automate discount campaigns with scheduling, analytics, and smart product targeting.

    7 Discount Types Cycle AI
    Free Pro from $59
    TrustLens logo

    TrustLens

    Customer trust intelligence for WooCommerce. Score customers, spot abuse, protect revenue.

    Trust Scores Abuse Detection
    Free Pro from $79

    New Plugin

    Coming Soon

    Something exciting is in the works. Join the waitlist to be first to know.

    Get Notified
    Notify Me
    Secure Checkout
    WordPress.org
    14-Day Refund
    Resources
    Documentation Guides & tutorials
    Discount Calculator Plan your strategy
    Support Get help
    SCD Changelog Discount plugin updates
    TrustLens Changelog Trust intelligence updates
    Get notified on new releases
  • Affiliate
    Program
    Overview How the program works
    How It Works 4 steps from apply to earn
    Commission Details 30% · 60-day cookie · recurring
    Get Started
    Apply Now Open
    Takes ~2 minutes
    Earnings Calculator Estimate your monthly income
    FAQ Payouts, cookies, renewals
    Resources
    Brand Kit Logos, banners, copy, social
    Playbook Tactics that actually convert
    FTC Disclosure How to disclose properly
    Affiliate Terms Full program agreement
    Contact Team Open the contact form
    Earn 30% recurring on every sale Free to join · 60-day cookie · monthly PayPal payouts
    Apply Now
  • Blog
  • DOCS
    Docs & Resources

    Guides, references, and answers for every Webstepper plugin.

    Smart Cycle Discounts Automated WooCommerce discount campaigns
    Getting started › Discount types › Cycle AI ›
    TrustLens Customer 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 create WordPress tools that solve real problems.

    Learn more
    Built from Experience Real solutions we use ourselves
    Time is Precious Simple, intuitive tools
    Real Support Talk to the founders
    Legal & Contact
    Contact Us Privacy Policy Terms of Service Refund Policy
    14-Day Money-Back Guarantee No 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
  • Trust Scoring
  • Signals Explained

Signals Explained

7 min read

A signal is a single contribution to a trust score. Each detection module emits its own signal — sometimes multiple — for every scored customer. The sum of all signals, plus the base score of 50, plus the account-age bonus, equals the final trust score. This guide is the reference for every signal TrustLens emits: what it means, what triggers it, what magnitude it has, and what to do when you see it.


The Signal Object #

Every signal is recorded as a row in the {prefix}trustlens_signals table and shown in the Signal Breakdown panel on the Customer Detail page. The fields:

Field Type Description
module string Module ID that emitted the signal — returns, orders, coupons, categories, chargebacks, linked_accounts, shipping_anomalies, card_testing, or account_age, plus system for insufficient-data notes
score integer Positive or negative contribution. Typical range -50 to +15.
reason string Human-readable explanation, often containing the specific number that triggered the signal

Signals are re-computed and re-written on every recalculation. The signal log shows the current state, not history; historical movement is shown on the score trend chart.


Returns Module Signals #

The Returns module emits up to three concurrent signals per customer based on refund behavior. Configurable thresholds in Settings → Modules → Returns determine the tier boundaries.

Return Rate Tier #

The dominant signal. Mutually exclusive — only one of these fires per customer.

Trigger Score Reason Text
Return rate ≥ critical threshold (default 60%) -40 “Very high return rate: 67%”
Return rate ≥ high threshold (default 40%) -25 “High return rate: 48%”
Return rate ≥ 25% -10 “Elevated return rate: 31%”
Return rate ≤ 5% with 5+ orders +10 “Excellent return history”

Wardrobing (Full-Refund Ratio) #

Fires alongside the return rate signal when applicable.

Trigger Score Reason Text
3+ refunds and ≥90% are full refunds -10 “90%+ full refunds (wardrobing risk)”

High Refund Value #

Penalty based on absolute lifetime refund value.

Trigger Score Reason Text
Total refund value ≥ $2,000 -10 “High refund value: $2,340”
Total refund value ≥ $1,000 -5 (no reason text)

Orders Module Signals #

Tracks completion patterns. The Orders module uses clean orders (total orders minus refunds) as the basis for loyalty bonuses.

Trigger Score Reason Text
10+ clean orders (total − refunds) +15 “10 orders without issues”
5+ clean orders +10 “5 orders without issues”
3+ clean orders +5 (no reason text)
Net customer value (total − refund value) ≥ $1,000 +5 “High customer value: $X”
3+ cancellations and rate ≥ 50% -15 “High cancellation rate: 60%”
3+ cancellations and rate ≥ 30% -10 “Elevated cancellation rate: 35%”

The cancellation signals are gated by an absolute count of 3+ cancelled orders (not just a percentage) to suppress noise from low-volume customers.


Coupons Module Signals #

Catches coupon abuse patterns. The dominant signal is coupon-then-refund cycles — placing an order with a coupon, then refunding it.

Trigger Score Reason Text
3+ coupon-then-refund cycles -25 “3 coupon orders refunded (abuse pattern)”
2 coupon-then-refund cycles -15 “2 coupon orders refunded”
1 coupon-then-refund cycle -5 (no reason text)
first_order_coupons > 0 AND coupon_then_refund > 0 -10 (additional) “First-order coupon abuse pattern”
5+ orders with coupon usage rate ≥ 80% -10 “High coupon usage: 85% of orders”
3+ coupons used with 0 refund cycles +5 “Legitimate coupon user”

The coupon-then-refund cycle is the strongest single signal of bad-faith abuse. The first-order-abuse penalty stacks on top of the cycle tier when both first_order_coupons and coupon_then_refund are non-zero — a customer with 3+ refund cycles where at least one used a first-order coupon sees -25 + -10 = -35 from this module alone.


Category-Aware Risk Signals #

Fires when a customer’s return rate concentrates in specific product categories. The module computes a per-category return rate and weights it against the category’s store-wide return rate.

Trigger Score Reason Text
Category return rate ≥ 50% (any weight) -15 to -20 “50%+ returns in Outerwear”
Category return rate ≥ 30% with weight ≥ 1.5x store baseline -10 to -15 “Elevated category return rate (Footwear)”

The weight factor is key: a 40% return rate in a category where store-wide returns are 35% is normal; a 40% return rate where store-wide is 8% is a specific behavioral pattern. The module only penalizes the latter.


Linked Accounts Signals #

Detects accounts sharing fingerprints — shipping address hash, billing address hash, phone number, IP, payment method fingerprint, or device user-agent fingerprint.

Trigger Score Reason Text
Linked to 3+ other accounts -30 “Linked to 4 other accounts”
Linked to ≥1 risky/critical account -25 “Linked to 1 high-risk accounts”
Linked to 1–2 normal accounts -5 to -10 “Linked to 2 other accounts”

The detection is one-way at signal time but bidirectional in the data — both accounts in a link see their counterpart in the linked_accounts list on the customer detail page.


Shipping Anomalies Signals #

Trigger Score Reason Text
3+ distinct shipping addresses in 30-day window -10 “Address hopping (4 addresses in 30 days)”
Billing/shipping country mismatch -5 “Country mismatch (US billing → DE shipping)”
Severe country mismatch (high-risk corridor) -15 “High-risk country corridor”
Address change velocity ≥ 1 per week sustained -10 “Rapid address changes”

Pro adds diversity-trend detection and enhanced country-mismatch severity for more nuanced shipping-fraud signals.


Chargebacks Signals #

The strongest signals in the system. A single chargeback can move a customer from Trusted to Critical.

Trigger Score Reason Text
3+ lost disputes -50 “3 lost disputes”
2 lost disputes -40 “2 lost disputes”
1 lost dispute -30 “Dispute lost”
Pending dispute -20 “Active dispute”
1+ disputes (any outcome) with recent activity -5 to -15 “Recent dispute history”
10+ orders with clean chargeback history +10 “Clean chargeback history”

Won disputes (“dispute reversed in our favor”) count significantly less than lost ones — there’s still a small penalty because the dispute was filed, but the magnitude is much lower than a lost dispute.


Card-Testing Signals #

Fires when a customer’s email is associated with a device fingerprint that has been involved in card-testing velocity events.

Trigger Typical Score Reason Text
Customer fingerprint matched recent attack -20 to -40 “Fingerprint tied to recent card-testing attack”
Customer fingerprint matched historical attack -10 “Historical card-testing fingerprint match”

This is the bridge between checkout-time velocity detection and the customer trust score: if a fingerprint that hammered your gateway with stolen-card attempts later completes a successful order, that customer inherits the signal.


Account Age Bonus #

Not strictly a module signal — added after module signals are collected. Mutually exclusive tiers.

Tenure Score Reason Text
1+ year (365+ days since first order) +15 “Long-term customer (1+ year)”
6+ months (180+ days) +10 “Established customer (6+ months)”
3+ months (90+ days) +5 “Regular customer (3+ months)”
< 3 months 0 (no signal recorded)

See Account Age Loyalty Bonus for the full design.


System Signals #

The Returns/Orders/Coupons/etc. modules sometimes return a zero-score signal that exists only to convey state — typically “not enough data to evaluate.” TrustLens drops these unless they have a reason text.

Trigger Score Reason Text
Customer below minimum-orders threshold 0 “Insufficient data (1/3 orders)”
Module disabled in settings — (module returns nothing; no signal recorded)
Allowlisted — (short-circuit; no signals computed)

Reading the Signal Breakdown #

The Signal Breakdown panel on the Customer Detail page is a complete audit of how the score was calculated. To verify a score manually:

  1. Open the customer’s profile
  2. Note every signal in the breakdown with its score and reason
  3. Sum all signal scores (positive and negative)
  4. Add 50 (base score)
  5. Clamp to 0–100 if needed
  6. The result should match the displayed score exactly

If the numbers don’t reconcile, the customer is either currently being recalculated (a stale UI displaying the old score with new signals) or there’s a custom filter modifying the score via trustlens/trust_score.


Signal Strength Comparisons #

To build intuition for signal magnitudes:

Comparison Magnitudes
“Worst” single negative 3+ lost disputes: -50
“Worst” common negative Very high return rate: -40
“Best” single positive 20+ loyal orders: +15; 1+ year tenure: +15
Typical first negative signal Elevated return rate (25%): -10
Typical first positive signal 5+ orders: +5
Maximum theoretical sum of positives ~+50 (loyalty + clean history + age bonus + low return rate)
Maximum theoretical sum of negatives Unbounded below 0 (clamped) — compound signals can stack arbitrarily

Asymmetry: positive signals are bounded, negative signals are unbounded (clamped at 0). This is intentional — a customer with multiple severe abuse patterns should read as Critical, not just “below average.”


Filtering Signals Programmatically #

Developers can modify the signals list before the final sum using the trustlens/score_signals filter:

add_filter( 'trustlens/score_signals', function( $signals, $email_hash ) {
    // Add a custom signal from external data
    $external_score = my_loyalty_program_score( $email_hash );
    if ( $external_score > 0 ) {
        $signals[] = array(
            'module' => 'loyalty_program',
            'score'  => min( 10, $external_score ),
            'reason' => 'Loyalty program member',
        );
    }
    return $signals;
}, 10, 2 );

The custom signal will appear in the signal breakdown alongside built-in ones, with whatever module ID you provide.

Updated on June 4, 2026

What are your Feelings

  • Happy
  • Normal
  • Sad

Share This Article :

  • Facebook
  • X
  • LinkedIn
  • Pinterest
Account Age Loyalty BonusSix Customer Segments
Table of Contents
  • The Signal Object
  • Returns Module Signals
    • Return Rate Tier
    • Wardrobing (Full-Refund Ratio)
    • High Refund Value
  • Orders Module Signals
  • Coupons Module Signals
  • Category-Aware Risk Signals
  • Linked Accounts Signals
  • Shipping Anomalies Signals
  • Chargebacks Signals
  • Card-Testing Signals
  • Account Age Bonus
  • System Signals
  • Reading the Signal Breakdown
  • Signal Strength Comparisons
  • Filtering Signals Programmatically
Newsletter

Insights that grow your business

Join thousands of WooCommerce store owners who get actionable tips, plugin updates, and industry news every week.

We respect your privacy. Unsubscribe at any time.

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...
New issue!
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.

500+ happy stores

Products

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

Company

  • About Us
  • Blog
  • Contact
  • Affiliates

Resources

  • Help Center
  • Guides
  • 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

Save 15% on
SCD, TrustLens & the Bundle

Smart Cycle Discounts and TrustLens — buy either plugin or grab both in the bundle. Use code at checkout.

WELCOME15
23 hours
:
59 minutes
:
59 seconds
Claim My Discount

Just want one? Smart Cycle Discounts · TrustLens

  • WordPress
    Back
    WordPress Plugins
    View all
    Smart Cycle Discounts logo

    Smart Cycle Discounts

    Automate discount campaigns with scheduling, analytics, and smart product targeting.

    7 Discount Types Cycle AI
    Free Pro from $59
    TrustLens logo

    TrustLens

    Customer trust intelligence for WooCommerce. Score customers, spot abuse, protect revenue.

    Trust Scores Abuse Detection
    Free Pro from $79

    New Plugin

    Coming Soon

    Something exciting is in the works. Join the waitlist to be first to know.

    Get Notified
    Notify Me
    Secure Checkout
    WordPress.org
    14-Day Refund
    Resources
    Documentation Guides & tutorials
    Discount Calculator Plan your strategy
    Support Get help
    SCD Changelog Discount plugin updates
    TrustLens Changelog Trust intelligence updates
    Get notified on new releases
  • Affiliate
    Back
    Program
    Overview How the program works
    How It Works 4 steps from apply to earn
    Commission Details 30% · 60-day cookie · recurring
    Get Started
    Apply Now Open
    Takes ~2 minutes
    Earnings Calculator Estimate your monthly income
    FAQ Payouts, cookies, renewals
    Resources
    Brand Kit Logos, banners, copy, social
    Playbook Tactics that actually convert
    FTC Disclosure How to disclose properly
    Affiliate Terms Full program agreement
    Contact Team Open the contact form
    Earn 30% recurring on every sale Free 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 Discounts Automated WooCommerce discount campaigns
    Getting started › Discount types › Cycle AI ›
    TrustLens Customer 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 create WordPress tools that solve real problems.

    Learn more
    Built from Experience Real solutions we use ourselves
    Time is Precious Simple, intuitive tools
    Real Support Talk to the founders
    Legal & Contact
    Contact Us Privacy Policy Terms of Service Refund Policy
    14-Day Money-Back Guarantee No 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