Forum Discussion

Afsar_Shariff's avatar
Afsar_Shariff
Brass Contributor
Aug 05, 2026

Microsoft purview exchange online DLP duplicate events and alerts

Hello Everyone,

 

We have Microsoft purview DLP policy for exchange online, We dont have any other exchange policy apart from this. there are three rules High (51- Any), Medium (10-50), Low( 2-9). Whenever any rule matches there are two events in activity explorer and alerts getting generated.  Does anybody has encountered this issue?

 

Kindly provide the feedback. Thank you.

1 Reply

  • KnutPetter's avatar
    KnutPetter
    Tin Contributor

    This is documented behaviour rather than a bug, though there is something to check in your rule configuration and there is a setting that will stop it.

     

    WHY MULTIPLE EVENTS APPEAR FOR ONE MESSAGE

     

    Rules in a policy are processed in priority order. When content matches more than one rule, the first rule evaluated that has the most restrictive action is the one enforced, but the documentation is explicit that matches for all of the rules are recorded in the audit logs and shown in DLP reports, even though only the most restrictive rule is applied.

     

    So two events does not mean the message was scanned twice. It means two rules matched, one action was taken, and both matches were logged.

     

    https://learn.microsoft.com/purview/dlp-policy-reference 

     

    THE FIRST THING TO CHECK

     

    Open both events in Activity Explorer and compare them. Two questions decide which path you are on.

     

    Are both rows the activity type DLP rule matched, or is one of them a related activity row rather than a second rule match? Activity Explorer records rule matches alongside the associated activity, so two adjacent rows are not always two matches.

     

    If both are genuine rule matches, which rule does each one name? If they name two different rules, your count ranges are overlapping in practice even though they look mutually exclusive on paper.

     

    WHY MUTUALLY EXCLUSIVE RANGES CAN STILL BOTH MATCH

     

    The instance count you configure applies per sensitive information type, not per message. A message carrying 60 instances of one SIT and 5 instances of another will match your High rule on the first and your Low rule on the second. Both are correct, both get logged, and only the most restrictive action is enforced.

     

    Worth opening each rule and checking exactly which SITs are listed and what the minimum and maximum instance count is on each one. A maximum left empty behaves as Any, which silently overlaps the range above it.

     

    HOW TO STOP THE DUPLICATE LOGGING

     

    Under Additional options in each rule there is a setting to stop processing further rules when that rule matches. The documentation notes that this is supported for Exchange and Teams locations, so it is available to you.

     

    Set it on your High rule so that a high severity match ends evaluation and does not also log a Medium or Low match.

     

    Before you do, check the rule order. For hosted service locations like Exchange, each rule is assigned a priority in the order in which it was created. The rule created first has first priority. If you built Low, then Medium, then High, your Low rule is being evaluated first, and putting the stop setting on the wrong rule will suppress the severity you actually care about. Confirm High is evaluated first, then apply the setting.

     

    ON ACTIONS THAT ALREADY HALT PROCESSING

     

    Some actions stop subsequent rule processing on their own. Restrict access or encrypt the content in Microsoft 365 locations is one of them, and when it triggers, no further rules or policies are processed. If your High rule only notifies rather than restricting, that is another reason lower rules keep evaluating.

     

    ON THE ALERTS, WHICH ARE A SEPARATE MECHANISM

     

    Do not assume duplicate alerts have the same cause as duplicate events. Single event alerts are aggregated when events from a single rule occur within a one minute window on E5, or fifteen minutes on E3. That aggregation is per rule, so matches on two different rules produce two alerts by design even inside the window.

     

    There is also user and rule based alert aggregation, currently in preview, which aggregates per rule per user. Worth looking at if the volume is the real problem rather than the duplication itself.

     

    https://learn.microsoft.com/purview/dlp-alerts-get-started 

     

    WHAT I WOULD DO IN ORDER

     

    Confirm whether the two events name the same rule or two different rules. If two different rules, inspect the SIT list and instance counts in each. Then verify rule priority order, and set stop processing more rules on the highest severity rule. Recheck after a fresh test message rather than looking at historical events, since existing entries will not be rewritten.