Skip to main content
If you build in Marketo today, MK formulas will feel familiar in some ways and different in others. A formula is a short expression that works out an answer from one record’s data. Marketo has several features that cover the same ground: Smart List rules, formula fields, and the conditions in a Smart Campaign flow. Velocity scripting is not one of them. It writes content into an email, so its MK equivalent is Liquid in the email. This article maps each feature to its MK equivalent and points out what does not translate.

How the pieces line up

The idea is similar, but the mechanics differ. Do not expect a one-to-one match.

Rebuild a Smart List with a formula

A common Smart List finds senior people by job title. In Marketo, it often looks like this: Job Title contains “chief information security officer” or “CISO”, or a title that contains “Chief,” “VP,” or “Vice Pres” and also contains “information” or “security.” That is custom filter logic with several values in each rule. In MK, one formula filter covers it:
Three differences from Marketo:
  • Each list of words in square brackets works like the comma-separated values in one Marketo rule. A title passes when it contains any one of them.
  • Text matches are case-sensitive in formulas, so the formula changes the title to lowercase first. Marketo’s “contains” ignores capitalization.
  • The exists() check comes first. Without it, a person with no title can pass a test that starts with “not.” See Handle blank and messy values in formulas.

Lists built from other lists

Many Marketo setups build audiences in layers. A “base audience” list excludes everyone in several suppression lists, and other lists then say “Member of Smart List” that base audience. Marketo lets those layers go many levels deep. A list in MK cannot use another list as a filter, and a formula cannot do it either. A formula reads one record’s data and nothing else. Two ways to get the same result in MK:
  • Write each layer’s rules as one formula that repeats the conditions.
  • Move a repeated condition into a field on the record, so every list can test the field. A derived field such as a job level or region is the usual way. An admin sets these up with policies. See Where you can use formulas in MK.
Marketo segment fields, such as “Job Level Segment is Leader,” behave the same way. They are fields written by a rule, and they carry over as fields.

Replace a long list of values

Marketo rules often hold long lists: a list of free email domains to exclude, or a list of countries. A formula takes the list in square brackets:
For a list with dozens of values, such as a competitor domain list, a formula gets long. Ask an admin whether a derived field is a better fit. For more ready-made formulas, see Formula recipes.

Velocity scripting and tokens

Velocity and formulas do different jobs, so they do not map to each other. Velocity runs inside an email or page and writes out display content: a greeting that changes by person, a date, a list of items. A formula works out data: whether a record belongs in a list, or what a column shows. A formula never writes anything into an email. The MK equivalent of Velocity is a merge field plus Liquid in the email. Liquid has if, for, and filters for dates and text. See Personalizing an email, Liquid recipes for emails, and the token comparison for email. The two share a few ideas, such as a fallback and a choice between two values. In a list column you write a choice as condition ? a : b, and in an email you write it as a Liquid if. Date math is where they differ most. Formulas in lists have no clock and no date functions, so a formula cannot find “the 4th Wednesday.” Liquid in an email can, because it knows when the email sends.

Formula fields

Marketo has formula fields that work out a value from other fields, such as one that joins text. The closest MK equivalent is a formula column. The idea is the same: a value worked out from other fields. Three things differ:
  • A formula column works out its answer when the list loads. It does not create a field on the record or store the result.
  • Other lists, emails, and rules cannot use a formula column as a field. Add the formula again wherever you need it.
  • The data on the record never changes.
If you need a worked-out value to be a real, stored field, ask an admin. That is a setup task, not a list formula.

Smart Campaign flow logic

A Smart Campaign flow in Marketo has choices that send a lead down one path or another. MK keeps this kind of logic in policy gates and motion guards, which use formulas. An admin sets up policy formulas. Motion guards are read-only in the product today. See Where you can use formulas in MK.

Data cleanup carries over

Smart Lists built over years tend to hold small data problems: a value spelled two ways, such as “Engagement” and “Enagement,” or text with stray spaces. These cause misses in any system. In a formula, change the capitalization and trim the text before you compare, as in $`person.title`.trim().toLowerCase(). See Formula gives a blank, wrong, or error result.

What to try first

  1. Pick one Smart List that uses only is, contains, and “any” logic, and rebuild it as a list in MK. Use the built-in filters for the simple rules and a formula filter for “is not” or “this or that.”
  2. Open the formula recipes for starting points.
  3. Read Handle blank and messy values in formulas before you save a list. Blank fields behave differently than they do in Smart Lists.
You will see a list in MK that matches the Smart List you rebuilt. Compare the counts, and look at a few records on each side. If a Marketo build does not translate the way this article describes, contact allGood support. Include what you built in Marketo and what you expected in MK.