How do you set the bulk complaint level (BCL) threshold in Microsoft 365?
The bulk email threshold in a Microsoft 365 anti-spam policy sets the bulk complaint level (BCL) at which bulk mail gets the bulk action. The default is 7, Microsoft's Standard value is 6 and Strict is 5. Simulate a change in the bulk senders insight first, then set it in the policy or with Set-HostedContentFilterPolicy -BulkThreshold.
On this page 8 sections
Every Microsoft 365 anti-spam policy has a slider called Bulk email threshold. It decides how much newsletter and marketing mail reaches the inbox, and it's one of the few spam settings admins are encouraged to tune. Move it carelessly and you either flood inboxes or bury mail people asked for.
This guide covers how to read the bulk complaint level, test a new threshold before you change it, and set it in the portal or PowerShell. For the difference between bulk mail and spam, read graymail vs spam first.
What is the bulk complaint level (BCL)?
The bulk complaint level (BCL) is a score from 0 to 9 that Microsoft 365 gives inbound messages from bulk senders. Microsoft says "a higher BCL value indicates a bulk message is more likely to exhibit undesirable spam-like behavior" and that it uses "both internal and external sources" to set the value (Microsoft Learn).
| BCL | Microsoft's description |
|---|---|
| 0 | The message isn't from a bulk sender |
| 1, 2, 3 | Bulk sender that generates few complaints |
| 4, 5, 6, 7 | Bulk sender that generates a mixed number of complaints |
| 8, 9 | Bulk sender that generates a high number of complaints |
A bulk sender is anyone sending the same message to many recipients: newsletters, promotions, event invitations, SaaS notifications. The BCL measures how much recipients complain about that sender, not whether the mail is malicious. Phishing is caught by other filters.
What is the default bulk email threshold?
The bulk email threshold is the BCL at which the policy's bulk action fires. Mail scored at or above it gets the Bulk compliant level (BCL) met or exceeded verdict. The label really does say "compliant", not "complaint".
Values and actions at the time of writing (October 2026), from Microsoft's recommended settings:
| Policy | Threshold | Bulk action | Quarantine policy if quarantined |
|---|---|---|---|
| Default and new custom policies | 7 | Move message to Junk Email folder | DefaultFullAccessPolicy |
| Standard preset | 6 | Move message to Junk Email folder | DefaultFullAccessPolicy |
| Strict preset | 5 | Quarantine message | DefaultFullAccessWithNotificationPolicy |
So with the default threshold of 7, messages with BCL 7, 8 or 9 go to Junk Email. BCL 6 and below reach the inbox.
One hidden switch overrides all of this. MarkAsSpamBulkMail is a PowerShell-only setting that's On by default. If it's Off, Microsoft says the message "is stamped with the BCL, but no action is taken" and the threshold and action "are irrelevant" (Microsoft Learn). Check it before you tune anything:
Get-HostedContentFilterPolicy |
Format-Table Name,BulkThreshold,BulkSpamAction,MarkAsSpamBulkMail
How do you see the BCL of a message?
Open the message headers and find X-Microsoft-Antispam. Microsoft documents BCL as the field that shows the score (Microsoft Learn). If the message got the bulk verdict, X-Forefront-Antispam-Report also contains SRV:BULK and CAT:BULK. Here's an example, shortened and with illustrative values:
X-Forefront-Antispam-Report: CIP:192.0.2.25;CTRY:US;LANG:en;SCL:6;SRV:BULK;
IPV:NLI;SFV:SPM;CAT:BULK;DIR:INB;
X-Microsoft-Antispam: BCL:7;
Read it like this: the sender has a BCL of 7, which met the default threshold of 7, so the bulk action applied. Don't use the SCL value to judge bulk mail. Microsoft says in cloud organizations it "doesn't determine whether the message is identified as spam."
Paste real headers into our Email Header Analyzer to pick out these fields. Collect the BCL of five or ten newsletters your users want and five they complain about. That small sample tells you more than any default.
How do you test a new threshold before changing it?
Use the bulk senders insight. It shows how much mail was identified as bulk at every BCL from 1 to 9 "for the last 60 days" and lets you simulate a different threshold (Microsoft Learn). It's available in all organizations with cloud mailboxes.
- Open
https://security.microsoft.com/antispamand select the default policy, Anti-spam inbound policy (Default), or a custom policy. - In the details flyout, select Edit spam threshold and properties at the bottom of the Bulk email threshold & spam properties section.
- Move the slider. The insight shows how many fewer or more messages would be delivered, and how many detections are likely false positives or false negatives.
- For per-sender detail, select View bulk senders insight, or go straight to
https://security.microsoft.com/senderinsights. - Set New bulk email threshold and Simulation sender quality threshold, then select Simulate.
- Filter the sender table by New sender blocked, Potential false positive or Potential false negative, and select a sender to see how users treated its mail.
The sender details include how many messages users moved from Junk Email to Inbox and back, how many they deleted, and whether a Tenant Allow/Block List entry allowed or blocked the sender. Use Export to save the list as CSV for the record.
One caution: Microsoft says simulation "might not work correctly if the MX record for your Microsoft 365 domain points to a non-Microsoft service or device." You can also see bulk volume by BCL in the Threat protection status report with the Bulk complaint level slider.
How do you change the bulk email threshold?
In the portal:
- Go to Email & collaboration > Policies & rules > Threat policies > Anti-spam.
- Select the default or a custom inbound policy.
- Select Edit spam threshold and properties.
- Set the Bulk email threshold slider and save.
- Under Actions, confirm what Bulk compliant level (BCL) met or exceeded does: Junk Email, quarantine with a quarantine policy, or another action.
In Exchange Online PowerShell:
Set-HostedContentFilterPolicy -Identity Default -BulkThreshold 6 -BulkSpamAction MoveToJmf
BulkThreshold accepts 1 to 9. BulkSpamAction accepts MoveToJmf (the default), Quarantine, AddXHeader, ModifySubject, Redirect, Delete and NoAction. Avoid Delete, which Microsoft warns can't be undone.
Why your change may do nothing
If users are covered by the Standard or Strict preset, settings in the default and custom anti-spam policies "are ignored" for them. You can't change the preset thresholds of 6 and 5. To use another value, exclude those users from the preset and create a custom policy, as described in preset security policies in Microsoft 365. Our anti-spam policy guide covers the other settings on the same pages.
How do you give one team a stricter threshold?
Create a custom anti-spam policy for that group. In PowerShell it's a policy plus a rule (Microsoft Learn):
New-HostedContentFilterPolicy -Name "Finance bulk 5" -BulkThreshold 5 `
-BulkSpamAction Quarantine
New-HostedContentFilterRule -Name "Finance bulk 5" `
-HostedContentFilterPolicy "Finance bulk 5" -SentToMemberOf "Finance" -Priority 0
Custom policies run in priority order before the default policy, and protection "stops for a recipient after the first policy is applied." Recreate any other settings the group had, such as spam actions and quarantine policies, because a new policy starts with Microsoft's default values (a bulk threshold of 7, for example), not with the values you changed in your default policy. Microsoft gives the same advice when it describes moving users to a new policy.
Which threshold should you choose?
There's no universal number. Use this as a starting point:
| Threshold | Effect | Good fit |
|---|---|---|
| 7 (default) | Only high-complaint bulk mail filtered | Teams that rely on vendor newsletters and SaaS alerts |
| 6 (Standard) | Mid-range complainers start going to Junk | Most small businesses |
| 5 (Strict) | More marketing filtered; usually quarantined in Strict | Executives, finance and other high-risk mailboxes |
| 4 or lower | Many wanted messages caught | Rarely justified; test first |
Microsoft's own guidance points the same way. It recommends a minimum value of 5 even for users who opt in to the Promotions folder, and the Standard and Strict values are 6 and 5. If the problem is clutter rather than risk, the Bulk moves enabled setting, still labelled a preview on Microsoft's policy pages and, according to Microsoft, rolling out to all organizations by the end of October 2026, can deliver promotional bulk mail below the threshold to a Promotions folder instead. The graymail guide explains that option.
What if a wanted sender is above the threshold?
Don't raise the threshold for the whole company to rescue one newsletter. Use the narrowest fix:
- Check the headers. Confirm the verdict was bulk (
CAT:BULK) and not spam or phishing. If it was spam, see why Microsoft 365 sends email to junk. - Let the user decide. A user who adds the sender to Safe Senders in Outlook gets that mail in the inbox.
- Add an allow entry for the organization. A Tenant Allow/Block List allow entry can override the bulk verdict directly. Microsoft lists bulk among the verdicts a direct allow entry overrides (Microsoft Learn). It's removed 45 days after last use by default.
- Tell the sender. A high BCL means recipients complain about their mail. Only the sender can change that, by mailing people who asked for it and honoring unsubscribes.
If you send newsletters yourself and your mail lands in Junk at other Microsoft 365 organizations, run the Bulk Sender Requirements Checker on your domain.
Next steps
- Run the
Get-HostedContentFilterPolicycommand above and confirmMarkAsSpamBulkMailisOneverywhere. - Open the bulk senders insight and simulate one step down from your current value before changing it.
- Apply stricter thresholds to high-risk groups through a custom policy rather than to everyone.
- Review spam that still gets through with why spam gets through Microsoft 365.
- If you want one set of filtering rules and a per-user quarantine in front of every mailbox, see how iBlockSpam works with Microsoft 365.
Browse all spam filter setup guides.
Frequently asked questions
Should I lower the Microsoft 365 bulk email threshold to 4 or below?
Only for a specific group, and only after simulating it. Microsoft's lowest recommended value is 5, used in the Strict preset, and in its Promotions folder guidance it recommends a minimum of 5. Lower values catch more supplier updates and newsletters people signed up for, which turns into false positives and support tickets.
Why can't I change the BCL threshold for users in the Standard or Strict preset?
Preset security policies have fixed settings: 6 in Standard and 5 in Strict. Microsoft's bulk senders insight notes you can't modify the threshold there, and settings in default or custom anti-spam policies are ignored for anyone the presets cover. To use another value, exclude those users from the preset and give them a custom policy.
Does raising the bulk email threshold let more newsletters into the inbox?
Yes. The action applies to mail at or above the threshold, so a higher number means fewer messages are treated as bulk. Raising it from 7 to 8 lets BCL 7 mail through. Microsoft's bulk senders insight shows how many messages would move, and flags likely false negatives, before you commit.
How does Microsoft decide a sender's bulk complaint level?
Microsoft says it uses both internal and external sources to identify bulk mail and set the BCL value. The scale reflects complaints: 1 to 3 means few complaints, 4 to 7 a mixed number, and 8 or 9 a high number. You don't set an individual sender's BCL yourself; you control the threshold and the action.
Why does the bulk senders insight look wrong when my MX points to a filtering service?
Microsoft warns that bulk simulation and detection might not work correctly if your domain's MX record points to a non-Microsoft service or device. In that setup the filtering service sees mail first, so treat the insight's numbers as approximate and check the BCL values in real message headers too.
Sources
- Microsoft Learn: Bulk email detection and the bulk complaint level (BCL)
- Microsoft Learn: Bulk senders insight
- Microsoft Learn: Configure spam filter policies
- Microsoft Learn: Set-HostedContentFilterPolicy
- Microsoft Learn: Recommended settings (anti-spam policy settings)
- Microsoft Learn: Anti-spam message headers
- Microsoft Learn: Manage allows and blocks in the Tenant Allow/Block List
See how your domain measures up
Run a free Email Health Check: MX, SPF, DKIM, DMARC and transport security in one scan, with the raw records shown. No sign-up.
Keep reading
How do you configure anti-spam policies in Microsoft 365?
Every Microsoft 365 anti-spam policy setting explained: bulk threshold, verdict actions, ZAP, quarantine policies, allow lists, outbound limits and IP Allow List.
10 min read Setup guidesWhat are Microsoft 365 preset security policies, and should you use them?
Built-in protection, Standard and Strict preset security policies in Microsoft 365: what each covers, how they override custom policies, and when to go custom.
9 min read Email security basicsWhat is graymail, and how is it different from spam?
Graymail is bulk email you once signed up for. Learn how it differs from spam, how Microsoft 365 and Gmail score and sort it, and how to clear it from inboxes.
8 min read