You’ve heard, and probably experienced, at least metaphorically, that old saw, The Cobbler’s children have no shoes, or some variant thereof. I know lots of professionals, especially consultants, who can’t seem to find the time to apply their skills or advice to their own businesses.

The other day, I was working on an email preference center for a client, one with over a dozen different email streams. Email preference centers, if you don’t know the term, are those pages where you can adjust the kind and sometimes the frequency of the emails or other communications you get from a company. It’s pretty convenient for people to be able to change these communication settings themselves, and companies benefit by getting some data on which of their email streams people really want. Also, allowing people to have some control over the sort of stuff you send them can help reduce the incidence of complete unsubscribes.

As it turns out, I’m working on email preference centers for more than one client – and using more than one marketing automation product – right now. With HubSpot and Pardot, preference centers are pretty easy – any list you create can be made a part of the preference center. Pardot even allows multiple preference centers, which makes a lot of sense if you have different customer types or segments. Hubspot probably does too, though I didn’t see an obvious way to do it. I’m a little surprised that Marketo doesn’t seem to have a native preference center function (at least not one I’ve been able to find) but it’s not too hard to cook one up.

With much debt to the estimable Josh Hill’s guide, here is my short recipe for how to set up a preference center in Marketo.

New Checkbox Field

Click to embiggen this cromulent screenshot.

Set up boolean variables for each of your content streams. Marketo calls them checkbox variables and the values are true/false, yes/no, or 1/0. Think carefully how you want to assign these values. It feels backwards to me but Marketo’s generic unsubscribe field uses “true” to mean unsubscribed. I think of “yes” for send me mail, and “no” for don’t, but there’s no changing the default variable, so you just have to decide if yours will follow that convention or invert it.

Edit radio button display values - don't cross the streams

Click to embiggen this cromulent screenshot.

Create a form for your preference center. This is where the guts go. Put in whatever contact info fields you like, but be sure that email is there and is required. Then toss in your boolean content stream variables and Marketo’s general unsubscribe variable. You can leave these variables in their native checkbox state, or display them as radio buttons or dropdowns. If you’ve reversed the polarity of your variables compared to Marketo’s, this is a good way to cover your tracks.

Create a landing page for this form, or embed it into a page on your site. If it drives you nuts that Marketo displays radio buttons one above the other and you really want them side by side, I suggest you take a deep breath and count to ten. After that, put this CSS into the landing page with the form on it. You may want to tweak the margin and padding to your liking.

.mktoRadioList input, .mktoRadioList label {
 float: left !important;
 margin-left: 0.5em !important;
 padding-right: 1.5em;


Advanced thank you page

Click to embiggen this cromulent screenshot.

Write a simple confirmation page. If you want to get fancy, you can segment the confirmation page and serve one version for unsubscribes and another for folks who have changed or added subscriptions. You do this in the settings after you create the form.

Write a simple confirmation email. This is probably 99% the same as the page you did in the previous step. It’s not really necessary, but in the odd event that somebody subscribes/unsubscribes somebody else, accidentally or otherwise, this confirmation email will tip off the victim and give them a chance to reverse the change by visiting the preference center.

Email sending logic

Click to embiggen this cromulent screenshot

Create trigger smart campaigns to send the emails. Create smart campaigns that send the confirmation email with the form submit. If you have several confirmation pages and confirmation emails, you can create several campaigns or use split logic to send the appropriate email. Remember, if you send a confirmation of total unsubscribe, you have to make that email “operational” or it won’t get sent!

Put it in the footer. You should link to your new preference center in the bottom of your emails where the unsubscribe info is. We hope this will reduce unsubscribes. You can also link to this page from your main website as a “subscribe” or “preferences” page. Hill also recommends you link to your preference center from your privacy policy page.

Keep your promises. Here’s where you realize how much more awesome it would be to have a native preference center in your markeitng automation software. Unlike the default unsubscribe variable, your new subscription variables are not magically applied to every send. Therefore you have to go into each and every one of your campaigns and flows that sends emails, and add in logic to avoid sending to anybody who used your preference center to opt out of that particular stream. You asked them what they wanted to receive and not receive, you’d better keep that promise.

So there you go, you’re more or less ready to make your own preference center in Marketo. What’s all this got to do with the barefoot cobbler? Well, while I was building these preference centers, I got a message requesting some help with some marketing automation emails. Not so unusual in itself, but then they said “it’s the [redacted] install of [redacted]” in other words, I was being asked to consult on the marketing automation install of the marketing automation software maker itself. Sort of like an aircraft mechanic getting a call to work on Boeing’s corporate jet. So even the maker of the software, who no doubt has plenty of experts and programmers on hand, for whatever reason needs a little outside help working on their own product. I don’t for a minute think those experts don’t know how to do what I did, just that their schedules or priorities made it necessary to call in outside help. And there’s no shame in that.