How to Update Dynamic Distribution Groups in Exchange Online

From the past few years, Dynamic Distribution Groups (DDGs) have become an important feature in Exchange Online. This assists the users in developing distribution groups in terms of the customizable features and conditions which simplify the membership management and accelerate the sending of emails to groups. However, because of the implementation of DDGs in Exchange Online, some of the customers are still seeing the slow delivery of emails or non delivery of emails to the users that they expect to be included in the recipient list.

Sometimes, these services have even come across such issues due to the DDGs having highly complex filters. This can lead to modernization efforts started back in January 2021. The update of the features focuses mainly on reducing the mail delivery latency, increasing the reliability of the service, and enabling the customers for determining the exact list of recipients.

How to Implement

The Dynamic Distribution Groups do not come with a recipient list and it can be calculated dynamically each time once a mail is sent to a DDG. This process can be very slow due to the higher complex filters which may lead to delay in mail delivery.

To resolve this issue, we have to store the membership list for each of the DDGs and refresh it again every 24 hours. This daily refresh of the list will become an incremental refresh, applying the changes occurred between the stored list or the refresh list.

Whenever either an email is sent to a DDG or an Exchange Transport Rule is run that queries, if the recipient/ sender is a member of a DDG, the company will then use this stored membership list.


Accumulating this stored membership list will provide you a number of benefits. Some of them are

  • The service issues caused by the DDGs have been reduced. Although, it is not necessary to calculate membership each time a message is sent to a DDG, this reduces the chances of the service to become affected by DDGs with highly complex filters.
  • The latency of mail delivery will be reduced and become more predictable. As it is not required to calculate the membership after sending messages, this mail delivery starts residing more in the line with some regular distribution groups having a fixed membership list. Previously, the latency for DDGs had dropped by an average of 70%.
  • Admin has the access to go through the membership list of each of the DDG with the use of Get-DynamicDistributionGroupMember cmdlet. This ensures the admin to be certain of which recipient receives the mail sent to a DDG, with addressing the same potential issues that have been raised by customers.


Although, the company is spring the DDGs membership list, sometimes it is required by the service to do the initial population of the members once a DDG has been created and if in case the DDG filters are modified. Hence, the membership list of each of the DDG starts refreshing periodically instead of calculating it in real time. This way it will not be possible to reflect which users had meet the criteria of DDG in real time.

Some points you must keep in mind is that:

  • Whenever a DDG is created or it’s complex filters is modified, it may take around two hours to be ready for the use. During this duration, the service will then starts populating each members in the background.
  • The Service Level Agreement for DDG “freshness” is of 24 hours. Each of the DDG has been refreshed in every 24 hours depending on its last calculated membership update time. Thus, it must be noted that if a user id created in the field which matches with the DDG’s filter, the user will not be added in the DDG till the occurrence of next refresh.

Tools That Are Useful

Microsoft that will be helpful for you in managing the new DDG experience.

Forcing a Membership List

If you are eager for refreshing the DDGs membership list prior to its next scheduled refresh, or if the membership list of DDG haven’t updated after a refresh, you are eligible to force the membership refresh by the use of Set-DynamicDistributionGroup in the Exchange Online Powershell:

Set-DynamicDistributionGroup -Identity <DDGIdentity> -ForceMembershipRefresh  

How to View a DDG’s Membership List

You may use this Get-DynamicDistributionGroupMember for viewing the members of DDG. It will allows you to access the list of members which is stored on the DDG object (based on its last refresh). That is known as the recipient list which is used usually once a message is sent to the DDG.

Get-DynamicDistributionGroupMember -Identity <DDGIdentity>  

How to Check When a DDG was Refreshed Previously

The Get-DynamicDistributionGroup is also used for getting the last time a DDG was refreshed by going through its CalculatedMembershipUpdateTime property.

(Get-DynamicDistributionGroup -Identity <DDGIdentity>).CalculatedMembershipUpdateTime

Instant DDG Membership

This improvement in the Exchange Online has been liked by most of the customers, however many of them are still seeking for an instant DDG Membership.

The company is still are investigating the options for the instant DDG membership once a new user is created or an existing user’s property has been changed in the service. Doing this can lead the complexity which increases the load onto the service. So, explore this with caution and care.

Amit Singh

Amit Singh

I am a dynamic Tech Enthusiast, specializing in various Microsoft technologies, including Office 365, Exchange, PowerShell, and Active Directory. I loved to helped customers worldwide design, implement, migrate, and secure Exchange and Office 365 through various roles for different employers, and more recently, as an independent consultant.