Skip to main content

Deploying Marketing Cloud Engagement changes

Understand best practices for deploying Marketing Cloud Engagement changes with Gearset

Justin Zhang avatar
Written by Justin Zhang
Updated yesterday

Deploying changes across Marketing Cloud Engagement business units is tricky for a few reasons, one of which is assets (such as emails) requiring unique keys across all business units. Gearset helps manage this during deployments, but it's recommended to follow some best practices.

As the maturity of DevOps in Marketing Cloud Engagement is in its infancy, it's likely that you would have deployed changes from development business units to testing and production business units by manually creating new metadata and copy-pasting the contents. Each time you create a new piece of metadata Marketing Cloud Engagement assigns a unique identifier for it, usually referred to as the Customer Key.

Because these are unique and randomly assigned there's no way to link that a Journey created in Dev org is related to a Journey in Prog org - so here's our suggested best practice to make the most out of Gearset's support for deployments in Marketing Cloud Engagement.

Brand new metadata

If you're working on something new, simply create the resources in your development business unit and use Gearset to deploy into subsequent business units.

Leave the Customer Key as a GUID (for example the 36 character value a716280e-11e5-43da-ae68-5b96625146b6 in the example below), and we'll manage keeping the customer key unique and synchronised across your business units. We'll also update references to those assets where needed (e.g. when you're deploying a new Journey which uses a new Email).
​

Working with existing metadata

When you run a comparison for the first time you'll likely be faced with something like this - two emails that are the "same", but in Gearset they are being identified as being New and Deleted.


In order for Gearset to be able to match metadata items across your business units, we suggest back-syncing your changes from Production business units into Development business units when working with them in Gearset for the first time.

Just deploy the items you want to work on from Production to Development, iterate on them, and when you go to deploy from Development to Production (and anywhere in between) you'll be shown the matching items in Gearset.
​
After deploying from Production to Development, the comparison looks like this:
​

Now there's a Different version of My First Email (the (1) is appended to the end of the name as we already had an email named My First Email in Development), and this is the item we'll make our changes to.

We can also delete the New item called My First Email from Development and then fix the name of the other item by removing the (1), but it's not strictly required.

Manually linking items together

For metadata types that you can define the Customer Key for you can also manually link items together by changing the Customer Key.
​

Note: Journey is a notable major type that has fixed keys so you cannot update them after they've been created, so you'll have to do the back-sync deployment to synchronize keys across your business units.

For assets (like Email) you'll need to modify the Customer Key by adding a suffix to it. The suffix is based on each business unit's MID. This value can be found in Marketing Cloud engagement in the business unit switcher at the top right of the page.


For the purpose of this example, we'll use the following data:

Business unit

MID

Development

123456789

Production

987654321

The suffix is the uppercased first four characters of the MD5 hash of the MID.

MID

MD5 Hash

Suffix

123456789

25f9e794323b453885f5181f1b624d0b

25F9

987654321

6ebe76c9fb411be97b3b0d48b791a7c9

6EBE

In the case of Assets the Customer Key is restricted to 36 characters, so our Assets' keys would look like the following:

Business unit

Original ID

Updated ID

Development

0ab03f32-4e4e-46ad-8375-7a1d8fa39314

d0dfe925-3c32-44fd-bbe3-a3dbc9c_25F9

Production

d0dfe925-3c32-44fd-bbe3-a3dbc9ce7b71

d0dfe925-3c32-44fd-bbe3-a3dbc9c_6EBE

We've done two things here:

  1. We've chosen a single key to share across the business units - in this case the key from Production, d0dfe925-3c32-44fd-bbe3-a3dbc9ce7b71.

  2. Updated each business unit's instance of the asset with the shared key with the business unit specific suffix.

For other supported types, simply ensure the Customer Key is the same in all your business units and we'll match them up.

Did this answer your question?