To block disposable email at Shopify checkout, keep a reviewed list of temporary-email domains, compare the checkout email against each domain, and show a message asking the shopper to use an address they can access later. Start with domains seen in your own orders instead of copying an enormous public list into a rule.
In CartBlock's rule builder, the practical pattern is:
Email partially contains @temporary-domain.example → block checkout
Last verified: September 21, 2026. The current CartBlock builder exposes Email with Is empty, Is not empty, Any, Not any, Partially contains, and Partially does not contains. It does not show a regex operator or document case, whitespace, or domain normalization in the interface. The setup below uses Partially contains and includes tests for those limits.
Why block temporary email addresses?
Disposable email services give shoppers a short-lived inbox. Some have legitimate privacy uses, so a disposable address is a risk signal rather than proof of fraud. Still, a store may need a durable address to send order updates, handle returns, deliver digital products, or contact a customer about a preorder.
For a layered approach, see how to stop fake orders on Shopify. That broader checklist covers complementary controls; this guide stays focused on email-domain screening.
A focused block can help reduce:
- Unreachable customers after an order is placed.
- Abuse of one-time offers, samples, trials, or referral programs.
- Digital-delivery problems when an inbox expires.
- Support work caused by receipts and fulfillment messages going to temporary accounts.
Do not describe the rule as email verification. Domain matching cannot prove that an inbox exists, belongs to the shopper, or will remain reachable.
Plan a safe disposable-email block
Decide whether a block fits your policy
Use a block only when your store has a clear reason to require an ongoing contact address. Write that reason into the policy record and tell shoppers what they need to change.
Consider a softer workflow when:
- The address has not caused abuse or delivery failures.
- Your list comes from an unreviewed third party.
- A legitimate privacy-focused provider may be misclassified.
- Email is optional for the order path you are testing.
- You can meet the need with confirmation or account verification instead.
For higher-risk promotions, combine email-domain screening with narrow order rules. A domain rule by itself should not be the only fraud control.
Build a disposable-domain list you can maintain
Begin with a small denylist based on confirmed cases from your store. For every entry, record:
| Field | Example |
|---|---|
| Domain | temporary-domain.example |
| Match value | @temporary-domain.example |
| Reason | Inbox expires before preorder ships |
| Evidence | 4 unreachable orders reviewed by support |
| Owner | Ecommerce operations |
| Added | September 21, 2026 |
| Review date | October 21, 2026 |
Public disposable-domain lists change frequently and can contain mistakes. Treat them as research inputs. Review new domains before adding them, keep a removal process, and avoid uploading customer email addresses to a third-party checker unless your privacy review permits it.
Use the @ before the domain. A broad value such as mail could block legitimate addresses because that text can appear in the local part or in many unrelated domains.
How to block disposable email at Shopify checkout with CartBlock
To block disposable email at Shopify checkout, create a CartBlock validation that checks the Email field for a reviewed @domain, blocks a match, and shows a corrective message. Add one approved domain per tested validation unless your installed builder explicitly supports another list format, then test edge cases before launch.
1. Write the invalid state
Define the policy before opening the builder:
Checkout email contains a reviewed disposable domain → show an error and prevent completion.
Choose whether the rule applies to every order or only to a documented scope, such as a free sample or digital product. A narrow scope reduces the cost of a false positive.
2. Create a checkout validation
Open CartBlock in Shopify admin and create a validation. Give it a name another operator can understand, such as Disposable email – temporary-domain.example.
If this is your first rule, follow the broader Shopify checkout validation setup and testing guide before activation.
3. Select the Email input
Choose Email as the input. Confirm that the checkout paths you use actually collect an email address. Shopify stores can configure email or phone as a checkout contact method, so a phone-only path needs separate policy handling.
4. Choose Partially contains
Select Partially contains and enter the reviewed value with a leading @, for example:
@temporary-domain.example
The current builder does not show regex or an end-of-string operator. Do not paste a regex such as @(domain1|domain2)\.com$ into this field or claim that it anchors the match.
For a short list, create clearly named validations for the domains you have approved and test each one. Do not assume that comma-separated values, line breaks, wildcards, or a single Any condition will behave as a multi-domain list unless your installed builder demonstrates that behavior.
5. Add any narrow scope conditions
If the policy is limited to an offer or product group, add only conditions that the current builder exposes and join them according to the written invalid state. For example:
Email contains reviewed domain AND cart contains free-sample product → block.
Test the grouping carefully. Using OR in that example could block every free-sample order, including shoppers with an accepted email.
6. Write a corrective message
Tell the shopper what to do without naming a risk score or accusing them of fraud:
Please use a permanent email address you can access for order updates and support.
Keep the message short enough to scan on mobile. Do not echo the full email address in the error.
7. Save and test the validation
Save the rule, reopen it, and confirm the input, operator, domain value, condition grouping, scope, and message. Then run the test matrix below in a development store or controlled checkout before enabling it for customers.
Disposable-email test matrix
The builder does not document normalization, so test the exact behavior you plan to rely on.
| Test input | Expected result |
|---|---|
buyer@temporary-domain.example |
Blocked with the corrective message |
BUYER@TEMPORARY-DOMAIN.EXAMPLE |
Record case behavior; do not assume it matches |
buyer@sub.temporary-domain.example |
Record result; the exact @domain substring may not match a subdomain |
buyer@temporary-domain.example.evil.test |
Record actual result; do not assume domain-boundary matching |
temporary-domain.example@legitimate.test |
Allowed because the value lacks the leading @ before the blocked domain |
buyer@legitimate.test |
Allowed |
| Empty email | Handled by the store's contact-method policy, not mistaken for a domain match |
| Leading or trailing spaces | Record behavior; do not assume trimming |
| Phone contact path, if enabled | Policy result documented separately |
Repeat the important cases on mobile and desktop and through every enabled accelerated checkout. Test any B2B, subscription, draft-order, or custom storefront flow separately instead of assuming it shares the same input and validation path.
Common mistakes
Matching a fragment instead of a domain
Values such as temp, mail, or .com are too broad. Include the leading @ and the complete reviewed domain.
Claiming regex support
The current interface does not show a regex operator. Use the verified comparison and describe its limitations plainly.
Assuming case or whitespace normalization
An email address that looks equivalent to a person may be a different string to the rule. Test uppercase characters and spaces, record the result, and avoid promises the builder does not make.
Importing a huge list without review
Large lists become stale, are difficult to audit, and increase false-positive risk. Add domains from credible evidence, assign an owner, and remove entries that no longer fit the policy.
Treating a match as proof of fraud
A disposable domain is one signal. Use neutral language and give legitimate shoppers a clear correction path.
Forgetting the phone contact option
Shopify can let a shopper use a phone number as the checkout contact method. Test that configuration and decide whether the order should proceed when no email is present.
Maintain the rule after launch
Review support tickets, failed-checkout reports, and promotion-abuse cases without storing unnecessary personal data. For every rule change, record the domain, reason, source, owner, date, test results, and next review date.
Use a simple operating rhythm:
- Review a suspected domain against recent store evidence.
- Add or remove one domain at a time.
- Run the allowed and blocked tests.
- Monitor for false positives after activation.
- Revisit the list on a fixed schedule.
Create an exception path before launch, not after the first complaint. Support should capture the domain, the order or checkout context, and why the shopper believes the block is wrong without copying the full email into a shared log. The rule owner should then review the evidence and either retain the block or pause and remove that domain match.
After a removal, rerun one previously blocked control, one accepted address on the removed domain, and one unrelated legitimate address. Record who approved the change, when it was made, which tests passed, and the next review date. If an urgent false positive affects live shoppers, pause the narrow domain validation first and investigate without weakening unrelated checkout controls.
Keep a compact pre-launch ownership record alongside the rule:
| Decision | Record before activation |
|---|---|
| Business need | Why a durable address is required for this checkout scope |
| Rule owner | Person or team authorized to add and remove domains |
| Support route | Where shoppers and support staff report a suspected false positive |
| Rollback step | How to pause the affected validation without changing other rules |
| Evidence window | Recent orders, delivery failures, or abuse cases used for review |
| Review schedule | Next date and recurring cadence for reassessment |
This record makes exceptions predictable. It also prevents a temporary domain decision from becoming a permanent block simply because nobody owns the review.
If the list grows beyond what your team can review and test safely, evaluate a dedicated email-intelligence service or a custom Shopify Function with its own maintained data source. Document privacy, latency, failure behavior, and appeal handling before adopting it.
Launch checklist
- Define why a durable email is required.
- Start with reviewed domains observed in your own operation.
- Match the complete domain with a leading
@. - Use the verified Email and Partially contains controls.
- Do not assume regex, wildcard, list, case, whitespace, or normalization behavior.
- Write a neutral message with a clear correction.
- Test uppercase, spaces, subdomains, suffixes, legitimate domains, and phone contact paths.
- Assign a list owner and review date.
- Monitor false positives and keep a removal process.
Frequently asked questions
Can Shopify block temporary email domains at checkout?
Yes. An app built with Shopify's Cart and Checkout Validation Function API can evaluate checkout data and return an error when it matches a policy rule. The exact field and comparisons depend on the app. CartBlock currently exposes Email and Partially contains, which can support a reviewed domain match.
Does CartBlock support regex for email addresses?
The CartBlock rule builder reviewed on September 21, 2026 does not show a regex operator. Use only the comparisons visible in your installed builder and test their exact behavior.
Should I use a public list of disposable domains?
Use public lists as leads, not automatic truth. Review each domain, record why it belongs in your policy, test it, and maintain a removal process.
Will the rule catch every disposable email service?
No. Providers and domains change, private relay services differ from temporary inboxes, and substring matching has clear limits. Maintain the list and combine it with other controls when the business risk justifies them.
Does domain matching verify the email address?
No. It does not prove deliverability, inbox ownership, or long-term access. Email confirmation or a dedicated verification workflow is needed for those checks.
Use a narrow rule and a clear correction
The safest way to block disposable email addresses is to match only reviewed domains, explain how the shopper can continue, and keep the list under active maintenance. Explore CartBlock on the Shopify App Store when you need configurable checkout validation without maintaining a custom function.

Install Now