top of page


Over the last 15 years, I’ve picked up a few best practices on how to architect a marketing automation system and customer relationship management platform.  This is not to say these are the ONLY way to built, as there are often 5 or 6 ways to get to the same end result.  But these are my tried and true favorites, dubbed “Mustang Methodology”.

Marketable Segmentation

A few years ago I started using a Segmentation to find my “Marketable Audience” and I have never looked back. It is my new favorite for a multitude of reasons:

  • Takes all types of Marketability into consideration:

    • Technological (invalid)

    • Legal (consent)

    • Ethical (subscribed)

  • It shows you why cohorts of your database are NOT Marketable.

  • Avoids the confusion of Advanced Filter Logic


My Mustang Methodology is to create sub-segments for records who are NOT Marketable first, knowing that records will be assigned to the first segment they qualify for.  If they are not assigned to one of the first 9 sub-segments, then they should be assigned to segment 10 “Marketable Audience”. 

  1. Email Address is Empty

  2. Invalid

  3. Black Listed

  4. Marketing Suspended

  5. Employees & Spam

  6. Unsubscribed

  7. No Consent - Canada

  8. No Consent - Rest of World

  9. No Consent - United States

  10. Marketable Audience (email address is not null)

  11. Default (Ideally this has 0 members)





Folder Structure

This can seem like such a simple and trivial thing to focus on, but I have come to be really adamant about my opinion when it comes to Folder Structure. How you organize things here can make a huge difference in the productivity of your team.  Not only can it help you find data, you can report on it cleaner, sync to your CRM easier, and also onboard new hires faster. I once had a CMO log into Marketo over a weekend attempting to find the number of Registrations for an upcoming Webinar.  And boy was I thrilled on Monday morning when they told me they were able to find EXACTLY what they needed without contacting me on a Saturday, all due to the fact that the folder structure was very intuitive!   


  1. First Things First - You really should have a singular top-level folder, often named the “Global Tokens Folder”.  All other folders should live inside this as “child” folders so they can inherit tokens such as Company Name, Physical Address, and the dreaded Copyright Year ©.  More details on Tokens will be written up in another post 🙂

  2. Second Level Folders: I prefer Program Templates to be at the top of the list, which is why mine start with an asterisk *.  Marketo sorts folders alphabetically, and you can use this to your advantage by leveraging symbols such as ! and * before numbers, numbers before letters, etc.  I prefer to number my Folders with 2 digits (00,01,02) because I like to control the order they are in very specifically. I want my Demand Generation and Digital advertising co-workers to focus on folders higher up on the list, and keep the behind-the-scenes Operations folders towards the bottom, so hopefully it's less tempting for them to poke around in!

  3. After Templates, I have a folder for all chronological programs “00_Programs By Year”.  Nested in here (3rd Level) is a folder for each year, and then one level deeper (4th Level) are folders for each month. I always use Year and 2-digit numbers for months, never simply writing out “Jan, Feb, March” because - as I said before - Marketo will sort things alphabetically and you’ll have January followed by June and July. 😱 Also, folders names must be unique for the entire instance, so you cannot simply have “03-March” as a folder name, it must include a year identifier.

  4. Deciding which programs go in the By Year folder vs Evergreen folder isn’t always black and white.  For instance, I suggest that Webinars live in the Evergreen Folder as they are often available On-Demand after the live event.  You’ll quickly forget the date of the live event, and only recall the Webinar by its Title or Guest Speaker.  Also, any new hire that joins your organization after the webinar won’t know that date, so make it easier on everyone and start off by calling the Webinar by its name from the get go, and store them in a Web Content folder nested inside Evergreen.

Program Member Custom Fields

Because Leads & Contacts engage with your company’s content across multiple channels, multiple campaigns, and multiple pieces of content, it is important to understand which UTMs are tied to each interaction. To do this, we can push the UTM values to Program Member Custom Fields, which can be mapped directly to Campaign Member Records in Salesforce.  The end result is awesome data such as this:


Things to  note: 

  • When you take a member out of a Program, data will be scrubbed.

  • REQUIRED to use the native Program Bi-directional Sync

  • Exports will work on Program Member lists ONLY.


How to create & map these new field types:

  1. Admin > Field Management > New Field > Type: Program Member

  2. Remember - Field Must Be Created in SFDC on that Campaign Member Object - It’s Not Standard!

  3. Admin > Salesforce > PMCF Sync Edit > 


Once they are mapped, you are ready to build!


How to write to these new fields and ensure the data is in SFDC correctly:

  1. Within a Smart Campaign Flow Step, select Flow Step “Change Program Member Data”.

  2. Attribute is your NEW field name

  3. New value can be hard coded or a Token (likely a token from your Records UTM values!)


Step 12 above is a suggestion from Mustang Methodology - end with a flow step to push them into a Smart Campaign that will “wash” the UTMs clean - aka reset them to “unknown”.  This is to ensure their next interaction brings in NEW UTM values, and doesn’t associate any legacy/historical UTMs to a new engagement behavior.


Executive Campaign

As you advance in more complex architecture of Marketo, you likely have found yourself needing to stitch multiple campaigns together to accomplish a series of flows in a specific order. I've often called these the "Daisy-Chain" method. 


You might be aware, but the Daisy-chain method has these limitations

  • Redundant workflows compete to perform the same actions

  • Audiences and flows are quite tightly coupled, and must be managed from within the same campaign asset

  • Request Campaign is Trigger based ONLY

  • Request Campaign doesn’t guarantee execution of all Flow steps.

This has been a sufficient workaround, but Marketo has recently released a new type of Smart Campaign that is superior. Instead of records flowing from campaign-to-campaign with little to no control like above, Executables allow you to create a mature Rube Goldberg-style workflow in your Marketo instance

Repeat after me: 📣 Guarantee of execution! 📣


Creating Executable is easy: There is a checkbox on the Create Smart Campaign pop-up window, that you click as "TRUE" before saving.  You can't miss this step though, once it's created, it's un-editable.  You can leave the SmartList section empty, which means that anyone pushed in will automatically go to the FLOW, or you can add additional filters as restriction criteria. You can also still leverage the Qualification Rules on the Schedule Tab to control frequency.


Understanding the hierarchy between your campaigns is paramount: The initial campaign (either Trigger or Batch) is deemed the "Parent Campaign. From here flow steps push records into "Child (aka Executable) Campaigns".  Records will NOT continue in the Parent Campaign until the Child Campaign Flows are all finished.  There are some caveats and limitations such as you cannot use Wait Steps or Webhooks, and if a Child Campaign has a Remove From Flow step, records are removed from BOTH Child & Parent Campaign. Also, such as you can only nest Child Campaigns 3 layers deep, Parent Campaign tokens will override Child Campaign, records are not guaranteed to complete in original order that they entered, and these are not available across Workspaces.  Best of luck creating your very own Rube Goldberg Instance!

bottom of page