Six Ways to Implement Dynamic Content in Marketo

February 18, 2015

Marketing Technologists are always looking for better ways to give readers the most engaging and relevant content possible. Unsurprisingly, the quest for dynamic content has grown quite popular—better content means better engagement from subscribers, which means better results from your email campaigns.

Marketing automation platforms can produce server-side dynamic content based on a person’s activity and information in your marketing automation platform’s database. Marketing automation acts as the driver, laying the foundation through lead databases as well as dynamic content (based on lead fields) can even embed the appropriate remarketing triggers. And this is amazing.

So what’s the trick—what automation features are you underutilizing that can be giving you stronger, more dynamic content?


6 Ways to Be Dynamic

First off, there are lots of ways to create dynamic content within a marketing automation platform. Here we’re going to deep-dive into six ways you can produce dynamism within Marketo. Keep in mind that each of these options has its own pros and cons:


1) Dynamic Snippets

Not incredibly scalable, in my opinion. If you’re changing the content of these snippets frequently, these end up being very painful for every iteration. You have to go into the snippet, update the values for each segmentation, and then every single child landing page/email gets thrown into draft mode, which you have to update manually. Best use case is for a dynamic offer on a thank-you page tailored to a specific segment, because the formatting of those rarely change, and it’s rather easy to add that once or twice. These are mostly designed to be statically dynamic (ha!), meaning that a lead isn’t expected to move from one segment to another over the course of its life. Imagine you’re using it to target when a lead fits into a piece of a pie, and doesn’t want to change pieces of pie very frequently over its life.


2) Lead Fields containing dynamic information

You can create a Marketo program (or do it on the SFDC side) to change a lead’s fields automatically, then directly put lead tokens into an email. This is great for when the content changes for a specific lead frequently, and it’ll be a field that you’ll use now and forever in your marketing. Great example is a fulfillment email:

“Thanks for downloading {{my.lead.Content – Recent Download_Title:default=that asset}}! Download it <a href=”{{lead.Content – Recent Download_URL:default=}}”>here</a>.”

Then you’re just reliant on a robust method of changing those lead fields at the right time so they’re always updated. (In that example, I’d suggest changing the lead’s field as the first step of an auto-responder with a short wait step to allow processing before sending the fulfillment email.)

The problem with lead fields is that they’re not disposable. You will never be able to uncreate a lead field, so make sure you’re doing it very wisely before—every field needs to be evergreen.

3) Velocity email scripting

If using custom objects frequently and they’re always up to date, this is a great use. This is good for B2C, for example. If you’re not using custom objects, this is mostly just a fun parlor trick that doesn’t really scale. It’s dependent upon a web developer whenever you need to change it, so on an email campaign level, it usually doesn’t make sense. Here’s a helpful chart for if you’re thinking about Custom Objects:

Screen Shot 2015-02-17 at 1.19.19 PM

4) “My” Program Tokens

These are dynamic based on the program level and containing folder level, not specific to the lead. Helpful for moving programs to other folders, such as in the case of wanting specific analytics tracking and conversion tracking via text tokens via vendor-specific containing folders. But, you can route people to the local assets contained within these folders, which is a building block in content dynamism specific to leads.

5) CSS/JS based on lead tokens

I like this one as a backup for all landing page templates. In your landing page templates, you can add classes to the <body> tag that are dynamic. There’s a screenshot below.

  • First class: specific to the template. In this case, “ETU 1.5 – Landing Page” translates to “etu15-landing-page”.
  • Second class: {{my.Universal – Dev_Body Class}}. Optional, on the Universal level (the top-most folder containing all Marketo progrmas. If it’s empty, won’t spit anything out.
  • Third class: {{my.Folder – Dev_Body Class}}. Optional, on the Folder level (any folder that contains programs, and isn’t the Universal folder).
  • Fourth class: {{my.Content – Dev_Body Class}}. Optional, on the Program level.
  • Sixth class: {{lead.Z – Dev_Classes}}. This is a custom lead field which is assigned through a Marketo program and smart campaign flow steps. Any major segmentation we’re doing, I concatenate into this field as a backup.

Screen Shot 2015-02-17 at 11.29.47 AM

With these, you now have the CSS hierarchy and JS targeting ability to change the content on the page.

An example would be this:

  • Lead’s “Z – Dev_Classes” field: “SAL buyer-persona-cxo”.
  • HTML output: <body id=”bodyID” class=”etu15-landing-page      SAL buyer-persona-cxo”>
  • CSS you can apply: <style>.buyer-persona-cxo .header-background { background-image:url(‘’) }</style>

And then you can use this as a building block for whatever dynamism you want!

6) Program/smart campaign routing leads to email tracks

I like to call this a Traffic Director as a nod to the retired Traffic Cop. You have a program that is constantly computing best-fit profiling based on whatever you want via some crafty scoring and profiling. Try Buyer Stage Scoring, Persona Profiling, or Pain Point/Product Interest. Once that is computed, you have a Traffic Director program watching for best-fit marketing. If a persona profile changes from “unknown” to “CXO,” your Traffic Director pauses people in their current generic Engagement Program and moves them to a CXO-specific Engagement Program. This is through Intelligent Lead Nurture (link to Marketo Summit 2014 presentation).

Dynamic Decisions (Summary)

So which method of dynamism is best?

Really, it’ll depend on your needs. The most common method at Etumos is through combining profiling programs to calculate what content is best-fit, creating selective evergreen fields to contain this dynamic content, and placing in a (static) snippet with Lead tokens so that we always have the chance to make them more dynamic in one organized place.

Don’t stop experimenting with new methods—keep the conversation going. Here is a Recommended Resource program that deep-dives into a bunch of this dynamism and the pros and cons. (Relevant slides start on slide 9.)

Related News