Top 5 Marketo Hacks:

August 20, 2016 | by Tom Oakley, Marketing Technology Professional & Protocol Member


As a Marketo Certified Expert having spent more than two years getting down-and-dirty with marketing automation I’ve learned a few little crafty tips and tricks that make my life a whole lot easier.

Sure I spend most of my time knee deep in campaign emails, developing complex engagement programs, managing the lead lifecycle or the integration with CRM platforms like but there are these little niggles and work-arounds that make Marketo just that little bit easier to manage.

These are the things I wish someone had
shown me when I first started working with Marketo


One thing I’ve learnt is that Marketo doesn’t come without its frustrations, so in this blog post I’ve highlighted my top five hacks that make life as a Marketo user that little bit easier…

1. Automated cleaning campaigns

It’s no secret, I love a quick win! Let’s be honest, getting that perfectly clean and well-managed lead database is no easy-feat (we’re all trying to get there) but that shouldn’t stop us setting up those simple daily cleaning tasks to set us on our way. Here’s just a couple of examples…

Whilst after each email send, Marketo will typically mark a number of hard bounced email addresses as ‘invalid’ and block them from future mailings to protect your deliverability metrics and sender reputation, a significant number of these bounces remain valid – it’s all to do with the ‘type’ of hard bounce. So, by default, Marketo will still continue attempting to email some addresses that’ll likely never be delivered to. To fix this, an automated smart campaign can be setup that triggers an email address to be marked ‘invalid’ once it has hard bounced three times (or however many times you determine appropriate).

A second simple example is getting a clean ‘Country’ and ‘Language’ field that saves an abundance of time at the point of send for those global campaigns, to ensure each lead receives the correct localised email version. It also ensures your ‘Marketing Qualified Leads’ (MQLs) are routed to the right place, to name just a couple of benefits.
With just an email address, often you can populate these fields. For example, you can be pretty certain (*hint hint*) is based in the UK and probably wants to receive his emails in English, and with just a few clicks you can create yourself an automated campaign that’ll populate these fields:

2. Exploiting Marketo tokens

I’m always playing around with Marketo tokens these days, trying to find more and more practical uses for them to save my time. My biggest frustration when I was first getting stuck into Marketo was the amount of time I spent and clutter I created cloning email assets (and their accompanying smart campaigns), to allow for slight variants for different markets. “Email 1” could actually end up being ten or more individual assets. Now however, I utilise custom fields and a token for things such as a local greeting line format, personalised sender and even localised links, meaning the need for these extra assets is no longer.

To get extra clever, you can also pull in Marketo’s segmentation feature to avoid creating an extra asset for each language version. Providing your ‘Language’ field is cleaned as above, the same email can be delivered to a lead and dynamically display the correct local language copy (i.e. if lead’s ‘Language’ is “English”, display English; if lead’s ‘Language’ is “French”, display French…), removing the need for creating separate static lists of data.

3. Easy searching of archived data

Now let’s move onto what I like to think of as “Tokens 2.0”. One of my favourite things about Marketo is its activity log tracking – recording absolutely every data field change and the source of that change. If you were to ask me “When did Joe Bloggs download that report off our site?” or “When did he become an MQL?”, I’d simply lookup his individual lead activity log and job done.

But now multiply this query by 100 leads and I’m looking for the nearest intern with a spare couple of hours.

Whilst a report can be easily extracted with the relevant data fields for multiple leads, this captures only the current value of each field, not past changes – which are instead consigned to the history of the activity log. There is a way however to capture this information on the lead record, using custom fields and tokens, so that this information can be easily exported on mass.

To use the example of the report download above, firstly create a custom field (‘Date’ type) called something like “Form X Downloaded”, then activate a smart campaign that’s triggered by the action of that Marketo form being filled out – with the flow step to stamp the date in the “Form X Downloaded” field. The same logic applies for the lead status field with a “Lead Status Changed” custom field being stamped whenever the lead status is changed.

4. Overcoming Engagement Program Limitations

Engagement programs are great and you can’t be exploiting Marketo as an automation tool without them, but you soon realise that there’s a few relatively basic things that don’t work by default.

Firstly, having the option to allow for more than one activity that can transition leads from one stream to another. Marketo’s setup is very linear and only lets you have one trigger action, whereas in reality a customer’s journey is much more complex so there may be one of multiple actions you’d allow to activate this move, such as a lead score change or engagement with a specific (crucial) asset. For this reason, a simple workaround is to setup the transition rules externally to the engagement program as a trigger smart campaign, utilising the ‘ANY’ activation rule.

Send cadence is another cause of frustration. Unfortunately (in my opinion), Marketo designed engagement programs so that everybody in a stream is sent their next piece of content at a specific point in time i.e. at 10am every-other Monday, rather than allowing you to say they should receive their next piece of content 24 hours after an engagement, whether that be a Monday morning or Friday afternoon. Therefore for campaigns where this delay time is crucial, I always build the campaign as a default program with trigger smart campaigns that contain a ‘wait’ step to send after the appropriate time delay:

5. Creating a library of Program templates

My final one isn’t so much a hack, but a best practice to save time building campaign-after-campaign. Over time, you realise that although you might build tens or even hundreds of individual campaigns, the Marketo build will follow four or five almost identical structures each time with just the assets/data changing. For example:

  • A single blast setup; consisting of merely one email asset, a list of data and a smart campaign to enable the send
  • An event setup for pre-event invitations and post-event follow-ups; slightly more complex consisting of multiple types of a Marketo form and landing page to register, plus multiple email assets (invitations to register, registration confirmation, post-event mails)

Once you’ve identified these common program structures, you can create yourself a set of Marketo program templates, so that when it comes to building your next campaign, rather than building a new program and all these assets from scratch, instead simply clone the relevant program template and update the blank assets for the new campaign – saving valuable minutes each time that soon adds up to hours and more…

Tom Oakley
Summer 2016

Do you have a different workaround to solve the same problems? Or do you know of any other awesome little tips, tricks or hacks that can help your fellow Marketians out?

Protocol | Empowering Marketers
Advisory & Consulting

We’re trusted advisors that empower professional B2B marketers with pioneering research, technical know-how, strategic vision and operational excellence to help your team grow and continually improve.

Learn more at @protocolglobal

Share this Post