One of my all time favorite hacks is using flow to generate consistent campaign names in Salesforce. With the release of Marketing Cloud Growth Edition and the move to a more campaign-centric model, I wondered if this old trick would still work. Like any good consultant, I created a demo org and did some testing. Stick around to find out what I learned.
Campaign-Centric Approach
If you have not played with Marketing Cloud Growth yet, let’s set the stage. Marketing Cloud Growth has a very campaign focused workflow for creating new marketing initiatives. I really like this structure as all components are visible and accessible in a single location. This includes the content (emails/SMS messages/landing pages), segment, and the flow (this is a big change too – flows are used to send messages).
Campaign Anatomy
Marketing Cloud Growth uses the standard Salesforce campaign object, but the look is different when accessed from the Marketing app. The campaign is divided into sections containing the flow, start trigger, and content. This makes it easy to access everything in one place.
When campaigns are created, content and flow names are derived from the campaign name. This is another great out-of-the-box feature designed to make reporting easier by relating linked assets. It’s this feature that inspired my test.
Campaign Types
Before we get too deep into testing, let’s consider the types of campaigns that we’ll be creating. Most of us are accustomed to using the default or customized version of the campaign type picklist on the campaign page layout.
Marketing Cloud Growth campaigns are used for emails and nurtures, but they are also used for forms. Based on this, you might want to consider adding some more values to your type picklist to mirror the templates.
Example Type Additions
- Single Email
- Message Series
- Form
- Single SMS Message
Let’s Get Testing!
Now that the baseline is set, let’s get testing. The goal of this test is to do the following:
- Determine if flow can be used to update the campaign name in Marketing Cloud Growth based on a standardized naming convention.
- Confirm that the standardized naming convention will also be applied to the campaign components (flows and content).
1 ) Determine Campaign Naming Convention
I’m keeping my convention pretty simple, but you can use whatever structure best suits the needs of your organization. My structure is as follows:
2) Update the Campaign Object
There are a few updates that need to be made to the campaign object. We’ll take them one by one.
1. Customize Type picklist values and update API names to 3-digit codes (these are what will be included in our campaign names)
2. Update page layouts to make needed fields required
3. Create a formula field on the campaign object to calculate the standardized campaign name
- Field Name: Campaign Name – Calculated
- Formula: Text(Year(StartDate))&”-“&LPAD(Text(Month(StartDate)),2,”0″)&” “&Text(Type)&” “&(Name)
3) Create the Flow
This a straightforward record-triggered flow based on the campaign object that updates the name field on the campaign with the value from the Campaign Name – Calculated field.
Start Element
Flow Canvas
Update Records Element
4) Activate and Test
Test 1: Signup Form
The campaign, landing page, form, and flow were all generated using the correct naming convention.
Test 2: Message Series
The campaign, emails, and flow were all generated using the correct naming convention.
Takeaways
Linking campaign names and components makes consistent naming conventions more important than ever. I’m excited that my favorite hack still works and will be even more valuable going forward.
Like all good things, there is one “gotcha” to watch out for. Whether using this solution or the default functionality, the names of campaign components are generated at creation and are not updated if the campaign name is later changed. My advice is to ensure you have the correct campaign name before choosing your campaign template (from the “Let’s build your campaign.” screen).
If you have any questions about Marketing Cloud Growth or this solution, feel free to reach out!