Maybe you have already read about the licensing requirements for Dynamics 365 for Marketing. To keep it short: When licensing the marketing app for production there is no free possibility to get the app imported in a sandbox as well. You need an additional license for each sandbox you want to have the app installed.

You can install the marketing solution in a sandbox only when there is a license available in your tenant and not already configured for a Dynamics 365 organization. The reason is that there are not only data structures installed but also several Azure services required to provide the whole functionality.

Why would I need the marketing app in a sandbox?

Just some small examples:

  1. The marketing app brings some additional data structures e.g. for GDPR requirements. When I want to add these captured data to the Sales app I need the marketing metadata in my DEV organization.
  2. When I want to extend the Marketing app with some custom entities already used for Sales processes I need at least to adjust the sitemap of the marketing app.

As a solution architect, I want to have an infrastructure where all changes are only done in DEV and deployed to organizations like QA and PROD. I definitely want to avoid a scenario where certain metadata are only available in PROD. 

After discussing this topic with Microsoft during several conversations they recommend the following approach:

1. Install Marketing App in PROD
2. Backup/restore of PROD organization QA and DEV

Why I don't like this approach:

  • When you have Dynamics 365 integrated into external systems like ERP you would need to redeploy these instances as well. Otherwise, the permanent interface cannot synchronize the data anymore as the unique identifiers (ERP numbers etc.) will not match anymore between D365 CE and the external systems.
  • Any update by Microsoft to the Dynamics 365 for Marketing app will not be applied to the restored sandbox so consistency is gone.
  • I usually deploy the organizations only upstream and don't want to do it the other way around but to get fresh data from PROD for the QA environment.

Therefore we will go with the following approach:

  1. Install Dynamics 365 for Marketing app in DEV. (additional license is required)
  2. Create a solution in DEV which contains only the metadata structures of the marketing app.
  3. Deploy the marketing metadata as a managed solution to QA to ensure all environments have the same metadata.
  4. Install Dynamics 365 for Marketing app in PROD.

I hope Microsoft provides us in the near future a managed solution containing at least all necessary metadata to be installed in sandbox environments without the need for an additional license.

Update February 4th:

After some additional discussions and studying the docs again we found that there is an "uninstall" approach which probably better fits our needs. Therefore we go with the following approach:

  1. Install Dynamics 365 for Marketing app in DEV.
  2. Uninstall D365 for Marketing according to this documentation. It will remove all services but the metadata will remain within the organization. Additionally, the license is released.
  3. Install Dynamics 365 for Marketing app in other organizations the same way and uninstall the services afterward up to the PROD organization.

According to this approach, only one Marketing license should be necessary to get the app metadata deployed in a proper manner in all organizations. The only drawback would be that the app in all organizations than PROD will be non-functional and maybe crash or hang or behave in a non-deterministic way.