Setup Guide

Setup scenarios & recipes

CustomerGenius is flexible by design — most merchants only need a few settings, but advanced setups can combine cross-evaluation groups, custom rules, occurrence tuning, and per-code thresholds. This page walks through real scenarios and the exact settings to use for each.

1

Cross-evaluation: grouping codes

By default, every discount code you monitor is evaluated independently — a customer using SAVE10 is only compared against past orders that also used SAVE10. A cross-evaluation group tells CustomerGenius to treat several codes as a single eligibility pool, so abuse across the family is caught even when each order uses a different code.

Goal

You run a campaign where every code shares a prefix — for example BFCM_10, BFCM_15, BFCM_20 — and you want CustomerGenius to treat them as one offer.

Setup
  1. In Shopify Admin, open CustomerGenius → Settings.
  2. Go to the Monitor Discounts and Tags tab.
  3. Under Discount Codes, type the prefix followed by * — for example BFCM_*. Press Enter to add it.
  4. Save.
What happens

Any order using a code that starts with BFCM_ is now evaluated against past orders using any code that starts with BFCM_. If the same customer identity has used BFCM_10 before and now uses BFCM_15, the fraud score is computed across both orders and abuse is detected.

When to use it

The cleanest setup whenever your campaign codes share a meaningful prefix. Works for influencer codes (e.g. INFL_*), BFCM campaigns, newsletter automations, and any rule-generated unique code where the prefix identifies the campaign.

Goal

You want to treat a handful of unrelated codes as a single group — for example WELCOME, NEWBIE, and FIRSTTIME all serve the same first-time-customer offer but share no prefix.

Setup
  1. Open CustomerGenius → Settings → Monitor Discounts and Tags.
  2. Toggle Evaluate all discount codes to ON.
  3. Save.
  4. Optional: add a custom automation rule in the Automation tab with these codes listed in the Values field, so they get a rule that's different from your default. See "Per-code thresholds and actions" below.
What happens

Every discount code on every incoming order is now evaluated, regardless of whether it appears in your monitored list. Identity matches across past orders using any code count as abuse signals.

When to use it

When your group of codes doesn't share a prefix and you'd rather not maintain a list manually, or when you want CustomerGenius to monitor all codes in your store — including codes you forgot to add. The tradeoff is that you lose per-code control unless you also configure custom automation rules.

Goal

You want CustomerGenius to monitor every discount code in your store, all the time, with no setup per campaign.

Setup
  1. Open CustomerGenius → Settings → Monitor Discounts and Tags.
  2. Toggle Evaluate all discount codes to ON.
  3. Leave the monitored discount codes list empty (or fill it — it's ignored when the toggle is on).
  4. Save.
What happens

Every order using any discount code is scored. The default fraud threshold and action from the Automation tab applies to all of them. New codes you create in Shopify are automatically covered without any update in CustomerGenius.

When to use it

The hands-off option for merchants who don't want to maintain a code list. Pair this with conservative occurrence tuning (see below) if you'd rather observe before auto-refunding.

Goal

You only care about abuse on a specific code — say a first-time-customer code WELCOME10 — and want every other discount code ignored.

Setup
  1. Open CustomerGenius → Settings → Monitor Discounts and Tags.
  2. Make sure Evaluate all discount codes is OFF.
  3. Under Discount Codes, add WELCOME10 (no wildcard). Save.
What happens

Only orders using WELCOME10 are evaluated for discount abuse. Orders using any other code are ignored entirely by the discount-abuse pipeline. Identity matching against past WELCOME10 orders runs as normal.

When to use it

The strictest, most predictable setup — use this when you have one well-defined offer that's the primary abuse target and you want everything else left alone.

2

Occurrence: when to act

Occurrence controls how many distinct customer identities must have used a code (or be tied to one via identity matching) before CustomerGenius takes automatic action. Occurrence = 2 means "act the moment a second aliased identity uses the same code or group". Occurrence = 3 means "wait until the third". This lets you observe a pattern before automating refunds.

Note: occurrence counts unique identity-matched customers, not orders. If one abuser uses the same email across three orders, that's one customer with two prior orders — occurrence = 2, not 3. Occurrence = 3 fires when three distinct aliased identities (e.g. different emails but the same address) have used the rule's codes.

Goal

You want CustomerGenius to act the first time an abuser is identified — the moment a second alias hits the same code.

Setup
  1. Open CustomerGenius → Settings → Automation.
  2. Default Rule: set Threshold Score Limit to your preferred value (we recommend 7 or higher).
  3. Default Rule: set Automation Action to Refund or Hold.
  4. Don't add a custom automation rule — the default handles every monitored code at occurrence = 2.
  5. Save.
What happens

The first time an aliased identity is detected on a monitored code (current customer + at least one historical aliased identity), CustomerGenius takes the action you chose, as long as the fraud score meets the threshold.

When to use it

Most merchants. This is the simplest setup and works well when your fraud signals are clean (e.g. addresses are reliable in your category).

Goal

You want to see abuse patterns first — flag the 2nd occurrence for review by email, but only auto-refund starting at the 3rd.

Setup
  1. Open CustomerGenius → Settings → Notification.
  2. Add an email address to Order Notification Emails so flagged-for-manual-review orders email you.
  3. Save.
  4. Open the Automation tab.
  5. Add a custom rule: Type = Discount Code, Values = the codes (or wildcard prefix) you want this rule to govern, Score = your threshold, Occurrence = 3, Action = Refund.
  6. Save.
What happens

When the 2nd alias hits — occurrence = 2 — the rule's occurrence condition (≥ 3) is not met, so no automatic action runs. The order is flagged for manual review and you get an email. When the 3rd alias hits, the rule fires and the action you chose (refund or hold) runs automatically.

When to use it

New merchants who want a confidence-building period. Also good for codes where you suspect there might be edge cases (gift recipients sharing addresses, multiple household orders) that look like abuse but aren't.

Goal

An influencer code may legitimately be used by 1-2 family members at the same household before you'd call it abuse. You want to be generous on that code only.

Setup
  1. Open CustomerGenius → Settings → Automation.
  2. Add a custom rule and drag it above any broader rules: Type = Discount Code, Values = INFL_THEIRNAME (or INFL_THEIRNAME_*), Score = 7, Occurrence = 4, Action = Refund.
  3. Save.
What happens

On orders using that influencer code, CustomerGenius takes no automatic action until the 4th distinct aliased identity is detected. You'll still get manual-review emails for the 2nd and 3rd occurrences if notifications are enabled, so you can review case-by-case.

When to use it

Influencer or affiliate codes where light reuse is expected. Also useful for codes you've publicly shared (newsletters, podcasts) where you expect higher organic legitimate reuse.

3

Per-code thresholds and actions

The default rule covers everything, but custom automation rules let you set different behavior for specific codes or campaigns. Rules are matched in priority order from top to bottom — the first one whose values match the order's codes wins. Drag rules in the Automation tab to change priority.

Goal

You want a low score threshold (more aggressive) for your most-abused first-time code, and the normal threshold for everything else.

Setup
  1. Open CustomerGenius → Settings → Automation.
  2. Default Rule: Threshold = 8, Action = Refund. This is your conservative fallback.
  3. Add a custom rule (drag to top): Type = Discount Code, Values = WELCOME10, Score = 6, Occurrence = 2, Action = Refund.
  4. Save.
What happens

Orders using WELCOME10 are auto-refunded at fraud score 6 or higher. Every other monitored code uses threshold 8.

When to use it

When a particular code is repeatedly abused and you want to be tougher on it without tightening the bar across the board.

Goal

You sell high-margin items where refunding too aggressively could lose legitimate sales. You'd rather pause fulfillment and personally review before deciding.

Setup
  1. Open CustomerGenius → Settings → Automation.
  2. Default Rule: Action = Hold instead of Refund.
  3. Save.
  4. Optional: add per-code custom rules with Action = Refund for codes where you're confident (e.g. obvious first-time discounts).
What happens

Flagged orders are placed on fulfillment hold via Shopify (the order isn't refunded, but it can't ship). You receive a notification email. From the CustomerGenius dashboard you can release the hold (if it's a legitimate customer) or issue a refund.

When to use it

High-AOV stores, bespoke products, B2B, or any category where a refund mistake is costlier than a fulfillment delay.

4

Order tags

Some promotions don't run through a discount code — gift-with-purchase, certain BFCM offers, automated tagging from third-party apps. CustomerGenius can monitor order tags with the same identity-based abuse detection it uses for codes.

Goal

You auto-tag every BFCM order with the tag BFCM2026 and want to detect abuse across those orders.

Setup
  1. Open CustomerGenius → Settings → Monitor Discounts and Tags.
  2. Under Order Tags, add BFCM2026.
  3. Save.
What happens

Orders tagged BFCM2026 are evaluated against past orders also tagged BFCM2026 using the full identity matching pipeline. Treated identically to discount-code monitoring, just keyed by tag.

When to use it

When the campaign isn't tied to a single discount code (or the discount is automatic, with no code at all). Common for BFCM, gift-with-purchase, and rule-based discounts.

Goal

Several campaign tags like CAMPAIGN_SPRING, CAMPAIGN_SUMMER, CAMPAIGN_FALL all serve the same purpose and you want them treated as a group.

Setup
  1. Open CustomerGenius → Settings → Monitor Discounts and Tags.
  2. Under Order Tags, add CAMPAIGN_* (wildcard prefix).
  3. Save.
What happens

Any order with a tag starting with CAMPAIGN_ is grouped — abuse across CAMPAIGN_SPRING and CAMPAIGN_SUMMER on the same identity is detected as if they were one tag.

When to use it

The same logic as cross-evaluation discount groups, but for tags. Use whenever your tagging convention groups campaigns by prefix.

5

Subscriptions

The Skip recurring subscription orders toggle does two useful things at once. The obvious one: legitimate subscribers stop getting flagged for placing repeat orders that share an address and email. The more powerful one: a discount code that's monitored as "single-use on the online store" can keep auto-applying on every Recharge renewal without each renewal triggering a duplicate-use refund. Fraud evaluation runs on the original online order; renewals are skipped.

Goal

You offer a discount on the online store that's meant to be used once per customer, but the same code auto-applies on every recurring Recharge renewal. Without this toggle, every renewal would look like the customer reusing the code and get refunded. You want the renewals left alone.

Setup
  1. Open CustomerGenius → Settings → Monitor Discounts and Tags.
  2. Toggle Skip recurring subscription orders to ON.
  3. Save.
  4. Optional: open the Recharge Token tab and connect your Recharge API token. This is only needed if you'd like refunds you do issue (on non-subscription orders) to also cancel the associated subscription automatically.
What happens

Renewal orders generated by supported subscription apps are recognized and excluded from fraud scoring entirely. The discount can be reused on every renewal without flagging. First-time subscription orders are still evaluated normally — only the ongoing renewals are skipped. Existing subscribers also stop getting flagged for placing legitimate repeat orders.

When to use it

If you offer any subscription product and want a one-time online-store discount to keep applying on renewals — or if you just want to make sure subscribers never get caught in fraud scoring. There's no downside: the skip only applies to recurring renewals, not first-time subscription orders.

6

Block list

The block list is a separate feature from discount monitoring. It's for customers you've decided not to serve — repeat chargeback filers, people who've abused your customer service team, or anyone else you want banned regardless of what they buy or what code they use.

Goal

A customer was rude to your support team and you want every future order from them refunded, even if they try to sign up under a new email.

Setup
  1. Pick a tag name — for example DO_NOT_SERVE. This is the tag you'll attach in Shopify to customers you want blocked.
  2. Open CustomerGenius → Settings → Block List.
  3. Add DO_NOT_SERVE to the Customer Block List Tags input. Save.
  4. In Shopify Admin, find the customer and add the DO_NOT_SERVE tag to their customer record.
What happens

Any future order from that customer is automatically refunded — no fraud-score check, no threshold. CustomerGenius also runs identity matching, so an order from a different email but the same address, phone, or name is refunded too. The block follows the person, not just the email.

When to use it

When a specific customer has crossed a line and you've decided you don't want their business. The mechanism is independent of discount abuse — the customer doesn't need to use any code for the block to fire.

7

Worked example: combining everything

Goal

A realistic store: you run a first-time customer code (FIRST10), a seasonal campaign with several codes (BFCM_10, BFCM_15, BFCM_20), and you have three influencers with their own codes (INFL_ALICE, INFL_BOB, INFL_CHARLIE). You also have Recharge subscriptions and one customer you've banned.

Setup
  1. Subscriptions: Settings → Monitor Discounts and Tags → toggle Skip recurring subscription orders ON.
  2. Block list: Settings → Block List → add tag BLOCKED. Tag the specific customer in Shopify with BLOCKED.
  3. Monitored codes: Settings → Monitor Discounts and Tags → add FIRST10, BFCM_*, and INFL_* under Discount Codes. The wildcards group each campaign as a single eligibility pool.
  4. Default automation: Settings → Automation → Default Rule: Threshold = 8, Action = Refund. This catches general abuse on codes without a specific rule.
  5. Custom rule 1 (drag to top): Type = Discount Code, Values = FIRST10, Score = 6, Occurrence = 2, Action = Refund. Aggressive — this is your most-abused code.
  6. Custom rule 2: Type = Discount Code, Values = BFCM_*, Score = 7, Occurrence = 3, Action = Hold. Conservative during the campaign — review before refunding.
  7. Custom rule 3: Type = Discount Code, Values = INFL_*, Score = 7, Occurrence = 4, Action = Refund. Generous on occurrence so legitimate fan reuse doesn't get flagged.
  8. Save.
What happens
  • FIRST10 orders: auto-refunded as soon as a second aliased identity is detected at fraud score ≥ 6.
  • BFCM_10/15/20 orders: held for review starting at the third aliased identity (score ≥ 7) — you decide whether to refund or release.
  • INFL_* orders: auto-refunded at the fourth aliased identity (score ≥ 7) — generous tolerance for legitimate fan reuse.
  • Any other code: default rule applies (refund at score ≥ 8, occurrence = 2).
  • Recharge renewals: never evaluated, never flagged.
  • Orders from the BLOCKED customer (or anyone matching their identity): auto-refunded immediately, regardless of code.
When to use it

Adapt this template to your own codes and thresholds. The structure — specific rules on top, generic rules at the bottom, sensible default — is the pattern most multi-campaign stores end up converging on.

Still not sure?

Every store is different. If your setup doesn't match a scenario on this page, email support@customergenius.io with a description of what you're trying to achieve and we'll write the recipe for you — often within a day.