Marketo Success Series: Smart Campaigns

Marketo Employee
Marketo Employee

Welcome back to the Marketo Success Series!

In this series, we partner with Marketo Champions and Champion Alumni to fully explore how some of our most celebrated Marketo experts are using Marketo Engage to drive success. In this edition, we 
teamed up with Marketo Engage Champion Alumni Champion Tim Cerato to discuss building Smart Campaigns at scale, how to architect data for reporting, and more. 


[Prerequisite] Basic Smart Campaign components

Many of you may already have exposure to the inner workings of Smart Campaign. For those knowledgeable in the basics, skip to the next section. Otherwise, check out Marketo’s Smart Campaign documentation here.


Smart Campaign Best Practices


Kicking things off: Tips, tricks, and best practices

In the sections below, we will merely scratch the surface in sharing different ways to create efficiencies and promote scalability in through best-in-class utilization of Smart Campaigns.


Guiding principles for Marketo Engage architecture

The art of configuration in Marketo Engage draws many parallels from the programming world while holding true at the core to being a solution for marketers. The principles below can be applied to Smart Campaigns but can also be adopted across your instance.


Build for scale

Throughout the chapter, you'll notice a common theme of scalability in Marketo Engage. In the context of this section, I'd like to introduce the idea that scalability should be a consideration of everything you do.


Whether you come from an enterprise corporation or a grassroots startup, inefficiencies have the potential to severely hinder your ability to execute on the day-to-day and to introduce burdens down the road, in your Marketo Engage instance.


Unfortunately, there’s not enough time to cover all of the ways that Marketo Engage can be developed to promote scalability—that could be a book in itself. half of the battle is asking yourself “Is there a more scalable and efficient way to do this?” By asking that question and being mindful of this as you construct your campaigns, you will put yourself in a better place.



A great example of building for scale is global forms. The concept of global forms is that there is one form for initiative type, where possible. For example, if you have 50 white papers on your website or LPs, it's a best practice for those 50 white paper programs to share a form, as opposed to using 50 individual forms. By using one form, you ensure that when the time comes to add an additional field, you can make the change once, instead of 50 times.

(Note: The Marketing Nation Community has some great reads and tutorials detailing how to best implement global forms.)


Architect data for reporting

Actionable and reportable data does not always come easy. For that reason, as marketers, we must consider structuring processes in a way that fosters reportability. This holds true across all of Marketo Engage, but in Smart Campaigns/programs, this is manifested primarily in the context of things like program status or timestamps. We won’t get deep into program status and membership here, but if you’d like to learn more, checkout Marketo Engage’s documentation:


Data quality is everyone’s job

The topic we all love to hate. Data quality isn't something that should be left as a reactive task. Proactive application of data policies and procedures is key to promoting clean data.


At the organizational level, it's important to drive home the point that data quality is everybody's job, and that point holds true here in Marketo Engage.


Promote adoption through transparency

It's difficult to promote the value marketing, and more specifically marketing automation, brings to the table, without providing visibility into the impact that can be perceived across the organization. In that light, transparency should be applied anywhere possible, through the use of anything from sales alerts or lead scoring, to interesting moments.


Smart Lists [Local Assets] vs. Smart Lists [Smart Campaign]

Let’s talk about Smart Lists. The concept of Smart Lists presents itself in two different capacities across Marketo Engage:

  • Smart List as a local asset
  • Smart List as a component of a Smart Campaign


Both variations of a Smart List perform similar tasks. They both are made up of similar components, however, one key difference is that Smart Lists within a Smart Campaign can include either filters or triggers.


A tip that may help save quite a bit of time is that a local Smart List can be referenced by the Smart List of a Smart Campaign, using the Member of Smart List filter.


This allows marketers to centralize logic or clone logic without cloning the entire Smart Campaign.



Campaign limits: An underrated way of preventing the dreaded “oh no!” moment


One of the most underrated governance tools within Marketo Engage is the concept of campaign limits, which are defined within the admin section.


Campaign limits enable marketers to set a maximum number of records to be included in a batch Smart Campaign, by default. If a campaign limit is exceeded, the Smart Campaign will error out and not run, a valuable function for decentralized organizations that are looking to empower end-users, while preventing the dreaded over send to their entire database.


An important note is that if the expected volume of your Smart Campaign exceeds the designated campaign limit, you may raise the limit for that Smart Campaign on the Schedule tab of your Smart Campaign.





To access campaign limit settings navigate to Admin > Smart Campaign > Smart Campaign Restrictions


[Tip]: This error does not currently prevent the user from scheduling or running a Smart Campaign. If the Smart Campaign executes, it will fail to returning an error that is only visible in the run history of that SC.


Setting a campaign limit may not be a fit for every organization but I've included a formula below that generally works as a best fit threshold for most clients.


[Mailable database size] X 0.2 = Recommended campaign limit



Mastering advanced logic (Hint: Think PEMDAS)

Did you ever expect to see PEMDAS again? Well, here it is. Advanced logic, residing on Smart List in Marketo Engage, is key to developing complex queries utilizing Marketo Engage.


Below are a few best practices and notes around the use of advanced logic:

  • Advanced Logic only applies to filters within a Smart List. Within triggered Smart Lists, records enter the Smart Lists when the filter criteria are met along with ANY of the triggers.
  • Avoid filter duplication, where possible, through nested parentheses.
  • Incorrect filter logic is one of the most common causes of over sends. Be sure to double-check the criteria of your Smart List before deployment.
  • Negative logic used within Advanced Logic can be challenging. Sometimes, it’s easier to use a referenced to Smart List to construct negative logic.

Leverage static lists for complex logic

One limitation to Smart Campaign metadata is that Marketo Engage does not provide us with the ability to query whether or not somebody is actively in the flow of a Smart Campaign.


What this means is that a filter may be added to a Smart List to for Member of Smart Campaign. This filter merely represents that somebody has been a part of that Smart Campaign. It does not represent their current status.


There are a few different ways to work around this, one of the more common approaches is through the use of static lists. In this application, the actions of Add to List and Remove From List Flow Actions would be bookended around all other Flow Actions.


In addition, any Remove from Flow logic would be replicated with a subsequent Remove from List action.


This allows us to infer, based on membership of the static list, that a person is an active part of a given Smart List.


A screenshot of this process in the appendix (A.1)


Create efficiencies through program tokens in Smart Campaigns

Program Tokens are a great way to build reusable Smart Campaigns that scale across programs and are easy to manage. The applications of Program Tokens within Smart Campaigns, are near endless.


Tip: Like many things in Marketo Engage, consistency and organization are key with Program tokens. That being said, be sure to name your tokens consistently in a way that can be interpreted concisely by other users.


Here’s a sample of some Program Token best practices:


Creating reusable content, webinar, or event programs

Description: The use of Program Tokens, within the Flow Action of a Smart Campaign, enables users to quickly update information at the program level, where it can then be inferred by the Smart Campaign, without having to make changes within the flow. This process helps by allowing for a single location to propagate changes across a near-infinite number of child Smart Campaigns or Flow Actions, which in turn, drives efficiency, consistency, and scalability.


Example: This technique uses the centralization of something like Lead Source Detail and Content Detail data. Those values are managed at the program level, via tokens, alongside other data points such as an ebook Name, ebook URL, or other common program level meta-data.



Program tokens for content detail and lead source detail values 


By placing these at the program level, we can reference them across multiple Smart Campaigns and change them much more efficiently than making updates within Flow Actions.


Another key perk is that if all your other Program level data lives within program Tokens, when cloning an event, webinar or anything else, you can make all changes in one place.


Program Tokens in data value change flow actions


Optimizing the management of scoring programs

Description: Program Tokens can also be used to build scalable lead scoring Programs. In this approach, scoring tokens, from the Program level, are referenced by Score Change Flow Actions. Like the example above, This approach provides excellent efficiencies in the management of scoring programs at scale.


Example: Your behavioral scoring program contains 15 Smart Campaigns, each with their own triggers and score.


Like most marketers, your lead scoring values will eventually change. By using score tokens, when the time comes to update your scoring model, you can change and view all values on the program level, under the My Tokens tab. This allows you to quickly and efficiently update you are model without the pain of editing 15 individuals' Smart Campaigns.


Program Token in “Change Score” Flow Action


sc8.pngProgram Token examples within the My Tokens tab of a program


Understanding the campaign queue

The Campaign Queue is a critical tool for Marketo Engage for any operations user. Is vital for monitoring/troubleshooting Smart Campaign performance and system latency. The Campaign Queue can be found within the tree of Marketing Activities by clicking the Marketing Activities parent of the tree and navigating to the Campaign Queue tab.



Using the Campaign Queue



The Campaign Queue is broken into the following columns:

  1. Priority: The Smart Campaign priority detailed above
  2. Status: Represents the volume of records remaining in the queue
  3. Campaign Name: Concatenation of the program and Smart Campaign in question
  4. Workspace: The workspace from which the campaign originated
    Note: Will be default for non-workspace enabled instances


Each of those values is helpful in their own way of analyzing the health of your Smart Campaign backlog and the volume of information in the queue. Backlog size will vary from company to company, based on your implementation of Marketo Engage, the volume of Smart Campaign processes executing, and a handful of other environmental conditions.


A few notes on leading practices for managing the Campaign Queue:

  • The ideal backlog should be cleared out every few minutes
  • If your backlog is consistently over 1,000 records, it’s worth re-evaluating the architecture of your Smart Campaigns, working with Marketo Support or engaging a consultant
  • The Campaign Queue screenshot above was taken from a 1.6 million record instance, after a recent Smart Campaign optimization project. Previously, we would constantly see a backlog of 1-10k Smart Campaigns. By utilizing the tool Omega (, we were able to identify “Smart Campaign Noise” and drastically streamline the volume of records we push through a Smart Campaign on a daily basis, allowing the system to operate more efficiently.

Smart Campaign processing prioritization

As referenced above, a key consideration in the utilization of Smart Campaigns is scalability. The chart below was taken from Marketo Engage documentation and outlines the Priority in which different types of Smart Campaign activities are processed through the Campaign Queue.



Source: Andre L inde


Wrapping up

As we come to the close of this chapter, it's important to remember that the application of the practices listed above will vary from organization to organization. Many of these practices are consistently evolving and will continue to change as new functionality is introduced by Marketo Engage.


I would be remiss if I did not take this time to plug the Marketo Community as an excellent source of cutting-edge best practices and a great resource to dive deeper into some of the recommendations above.










SD01: Finding Campaign Queue



SD02: Using Campaign Queue



SD03: Advanced Logic Applied to Triggers