[SalesForce] Release Management in Marketing Cloud

I am currently implementing Marketing Cloud in Agile methodology for one of my clients and I am facing a big challenge regarding the release management in Marketing Cloud.

My client has many deployment environments:

  • 3 levels of testing environment
  • 1 Staging environment
  • 1 Production environment

Marketing Cloud will be integrated with Service Cloud and many systems like Apache Kafka and Tibco.

As for Service Cloud, we have many dev orgs and 1 full sandbox.

To simplify the deployement of Salesforce (Service and Marketing) my client wants to use only the staging environment for sprint development and then push to production at the end of each sprint.

We all know that Marketing Cloud doesn't provide a testing environment unless if I dedicate a Business unit for testing (with a manual commit to production business unit).

The Service Cloud Sandbox will be connected to the staging environment and used during the sprint for developing new user stories.

I wanted to know how you management in general the release management in Marketing Cloud especially with many deployment environment (at least staging and production). How you managed the switch between a Salesforce Sandbox and Prod ? One of the ideas would be to use a Test population in the production environment but I prefer not do this..

Best Answer

To be honest, there is no easy answer here. Each option, at present, has inherent benefits and drawbacks. At a high level, you have three options:

  1. Test data in your production environments
  2. Dedicate a BU to test data and manually move configurations
  3. Dedicate BU with Multi-Org Connector enabled (cannot be undone)

The setup that most closely resembles what we are used to with Salesforce Core is the third scenario, but to do this you need to have all configurations within same BU's (i.e. you cannot do a BU per country or per brand, everything should ideally be in the same BU)

The scenario I most typically would opt for is the 1st one, given that operating with test-data from production to production, is the one that will ensure most reliable performance (Same contact builder configuration, same / actual data volumes, and potentially limited functionality overlap).

the hardest part in scenario one can be testing how the various scenarios play out, when it is Salesforce Core that executes journeys.