Tag and Block Repeat Fraud Customers on Shopify — Cross-Identifier Workflow
Confirmed fraudsters come back. The system to prevent that across email, phone, address, device, and IP is usually under-built. Here's how to do it right.

When a confirmed fraud event happens — chargeback fires, customer admits intentional refund fraud, fulfillment team identifies a clear scam — the immediate response is usually to cancel the order, process the loss, and move on. The follow-up question most stores answer poorly:
What's stopping the same fraudster from coming back tomorrow with a slightly different identity?
The answer is usually "nothing systematic." The fraudster uses a different email, perhaps a different phone, maybe the same address — and the order looks like a new customer. Your fraud detection has to relearn the pattern from scratch every time, except by the time it relearns it, you've taken another loss.
This guide covers the workflow for tagging fraudulent customers in a way that meaningfully prevents repeat fraud, across the various identifying dimensions fraudsters rotate.
Why fraudsters come back
A few factors make repeat-customer fraud more common than merchants expect:
Successful fraud is rewarded. A fraudster who got a $300 product through your store has demonstrated to themselves that your specific store is exploitable. They have incentive to try again, often within weeks.
Identity rotation is cheap. New emails are free. Phone numbers cost a few dollars on disposable services. Shipping addresses can be slightly varied (Apt 4B vs 4C). Each rotation costs minutes; each requires your detection to start over.
Coordinated communities share intel. Discord and Telegram groups dedicated to "free product hunting" or "merchant exploitation" maintain lists of stores where specific tactics work. Once your store is on that list, multiple fraudsters target you simultaneously.
Your store learns one event at a time. Without explicit cross-event linking, each new order looks fresh. The system doesn't recognize "this is the third order from this fraudster wearing different clothes."
The cumulative cost of repeat fraud is often larger than the cost of any individual event. Building a system that recognizes and blocks repeat actors meaningfully reduces fraud exposure.
The identifying dimensions
First step in repeat-customer blocking: understand what stays constant across the fraudster's rotations and what doesn't.
| Identifier | Stability | Cost to rotate |
|---|---|---|
| Low | Free | |
| Phone number | Medium | $1-5 |
| Shipping address | High | Real-world overhead |
| Billing address | High when stolen card used | Tied to card |
| Card number | Low | Acquire new stolen card |
| Device fingerprint | Very high | Change hardware (expensive) |
| IP address | Very low | Rotate VPN |
| ISP / ASN | Medium | Limited choices |
| Behavioral patterns | Very high | Constant per human operator |
The system that catches repeat fraud doesn't depend on any single identifier. It correlates across multiple identifiers and looks for *combinations* that match prior fraud events.
The four-stage workflow
A working repeat-customer fraud prevention workflow has four stages:
Stage 1: Confirmed-fraud tagging
When manual review confirms a fraud event, the order and customer get granular tags:
fraud-confirmedon the orderfraud-blockedon the customer- Optional: specific fraud-type tags (
triangulation,card-testing,friendly-fraud-claim)
The tagging is the metadata layer. Subsequent rules act on the tags.
Stage 2: Identifier extraction
For each tagged fraud event, the system extracts relevant identifiers:
- Email address(es) used
- Phone number(s)
- Shipping address(es)
- Billing address(es)
- IP(s) used during the order
- Device fingerprint (if available)
- Card BIN (first 6 digits of the card used)
These get stored in a structured blocklist that subsequent orders can be checked against.
Stage 3: Pre-order matching
When new orders come in, they get checked against the blocklist. Matches with different confidence levels:
| Match | Confidence |
|---|---|
| Exact email match | High — block |
| Exact phone match | High — block |
| Exact address match (case-normalized) | High — block (with awareness of shared addresses) |
| Same address, different name | Elevated scrutiny |
| Same device fingerprint | High — block (most legitimate customers don't share devices) |
| Same IP + similar pattern | Elevated scrutiny |
| Same card BIN + similar pattern | Elevated scrutiny |
Each match triggers a workflow decision. High-confidence matches get blocked or auto-cancelled. Lower-confidence get routed to manual review with prior fraud context surfaced.
Stage 4: Customer-level prevention
For customers tagged fraud-blocked, ongoing controls apply:
- Future orders auto-flag for review regardless of risk score
- Customer's email, phone, addresses suppressed from marketing
- Customer service has visibility into fraud history when customer contacts
- Customer can't checkout via Plus validation rules
This isn't "ban this customer forever." It's "subject this customer's future orders to additional scrutiny because they have demonstrated risk in the past."
The exception cases that matter
Repeat-customer blocking has more edge cases than other fraud controls. Worth handling explicitly:
Shared addresses
Families, roommates, employees of small businesses, apartment buildings can have multiple legitimate customers at the same physical address. Address-based blocking has higher false-positive risk than email or phone.
Mitigation: Block addresses only when paired with another suspicious signal, not based on address alone.
Phone number recycling
Phone carriers reuse numbers. A number that was a fraudster's six months ago might be a legitimate customer's today.
Mitigation: Phone-based blocks should age out after 12-24 months unless explicitly maintained.
Compromised customer cards
A customer's card might have been stolen and used fraudulently on your store, generating a chargeback. The actual cardholder isn't the fraudster — but the email and address tied to the order might be the legitimate customer's.
Mitigation: Distinguish "this customer committed fraud" from "this order was fraud against this customer." Manual review at confirmation step matters.
Genuine disputes vs criminal fraud
Some customers dispute charges over genuine complaints (product not as expected, delivery issue) that don't constitute fraud. Tagging them as fraud-blocked is wrong.
Mitigation: Use specific fraud-pattern tags rather than a single fraud-blocked tag. Exclude dispute-based tags from automatic future blocking.
Sharing intelligence across orders
The most underused capability in repeat-customer blocking is using your own historical data systematically.
When an order comes in with an address you've never seen, the fraud system has no signal. When the address has prior orders, the system *should* know:
- How many prior orders?
- Any disputes or chargebacks?
- Any prior fraud confirmations?
- Cumulative spend?
This historical context turns the system from per-order isolated risk scoring to customer-history-aware decisions.
Cross-merchant fraud signal networks add another layer: if the customer's email or device matches an entry in a network maintained across multiple merchants, you have signal even on customers who never ordered from your store before.
How Shieldy handles repeat-customer blocking
Shieldy Fraud Filter bundles cross-identifier blocking:
- Customer Blocklist: Tag any customer; Shieldy extracts identifiers (email, phone, address, IP, device fingerprint) automatically
- Pre-order matching: Every new order checked against the blocklist; matches trigger configured action (auto-cancel, hold-for-review, elevated risk score)
- Device fingerprinting: Captured automatically for all orders; matches against prior fraud events
- Cross-merchant network: Shieldy's threat-intel includes signals from across the Shieldy installed base
- Aging policy: Configurable per-identifier — phone blocks age out at 12 months by default; address blocks never age
- Customer-service integration: Fraud history surfaced when customers contact support
The pre-order matching is automatic. Tagging is the only manual step.
The customer-service interaction
When a flagged or blocked customer contacts your team, the interaction matters.
For legitimate customers caught in false positives
- Pull up customer's history immediately, including the fraud confirmation event
- Verify what was confirmed and how confident the team was
- If confidence was moderate (single signal, no chargeback, no admission), consider single-order exception override
- If confidence was high (multiple signals, chargebacks, clear pattern), maintain the block politely
- Document the interaction with the existing fraud record
For confirmed fraudsters reaching out to game the system
Some fraudsters reach out claiming the block is unfair, hoping for override:
- Pull history. Verify original confirmation.
- Apply policy. Don't be drawn into argument.
- Document the contact attempt as additional evidence
Two cases look similar in the inbox. Distinction is in the underlying data.
Common mistakes
Tagging customers as fraud-blocked without confirmation. A high-risk score isn't a fraud confirmation. Tagging based on weak signals creates a polluted blocklist and compounding false positives.
Treating one-time disputes as fraud. Disputes happen for legitimate reasons. Not every disputing customer is a fraudster.
Address-based blocking without context. Aggressive address blocking catches roommates, family members, unrelated subsequent residents.
Not aging out old blocks. Phone numbers, devices, even emails change ownership over time. Permanent blocklists become wrong over time.
Not surfacing fraud history to customer service. When customers contact you, the team needs to know whether they're talking to a confirmed fraudster or a confused customer.
A practical setup
For a store building repeat-customer fraud prevention:
- Define your "fraud-confirmed" criteria — when does an event get tagged?
- Set up automatic extraction of identifiers from confirmed fraud orders into Shieldy's blocklist
- Configure pre-order matching with appropriate confidence levels per identifier type
- Surface fraud history in customer-service tools
- Schedule quarterly review of the blocklist to age out stale entries
Most stores can deploy this within a week of focused work. The benefit compounds: every confirmed fraud event makes future detection better.
A practical close
Confirmed fraudsters come back. Building a system that catches them across rotated identities meaningfully reduces fraud exposure.
Shieldy handles cross-identifier blocking out of the box — device fingerprinting + email/phone/address blocklist + cross-merchant network. Setup is simple; the compounding benefit is the prize.
Protect your Shopify store today
Install Shieldy free — block fraud, bots, and VPNs in under 5 minutes.
Install on Shopify — Free


