The comprehensive guide to setting up the unsubscribe link

As this is a recurrent request in this community, here are the various ways of setting up the unsubscribe links in Marketo, and when one should use them.

0-Summary

The following table summarizes the possible approaches, when to use them and what chapter you should read:

IfRecommended implementation steps
You want a quick and minimal version that works well and guarantees compliance
  1. Customize the default code (See 2)
  2. Customize the default page (See 3)
You want to properly brand your unsubscribe landing page, and continue using Marketo default or system token
  1. Create a new Unsubscribe page with your own template. Place it preferably in a marketing activities program together with it's follow-up page and any smart campaign you may need
  2. Redirect the /UnsubscribePage.html URL to your page (See 4)
  3. If you plan to use it, customize the default code (See 2)
You need various unsubscribe pages for different audiences (segments, language, ...)
  1. Create your various unsubscribe pages. Place them preferably in marketing activities programs together with their follow-up pages and any additional smart campaigns you may need
  2. Add a snippet element in a dedicated module at the bottom of your email templates (or a text element if you are still using email 1.0)
  3. Deactivate the default link (6)
  4. Create unsubscribe snippets using the customized URL (See 5 ). You can even make these snippets dynamic if the various Unsub LP's are linked to segments.

1-The 3 ways to add an unsubscribe link to an email

There are 3 ways to get the unsub link added to an email:

  1. just ignore the problem. When you send an email, Marketo will detect that no unsubscribe link is included and will automatically add it's default one, that is defined in the admin -> email section and which code is:
    • <p><font face="Verdana" size="1">This email was sent to {{lead.Email Address}}. If you no longer wish to receive these emails you may <a href="%mkt_opt_out_prefix%UnsubscribePage.html?mkt_unsubscribe=1&mkt_tok=##MKT_TOK##">unsubscribe</a> at any time. </font></p>

  2. add the {{system.unsubscribeLink}} to your emails as the href in an <a> tag. This can be done in the template (even hard coded there) or left to the user. That will be enough and Marketo will automatically understand that it should replace the token with the proper link and that it should not add the default unsubscribe link. So <a href="{{system.unsubscribeLink}}">my unsub link</a> will become <a href="http://mktolpsubdomain.company.com/UnsubscribePage.html?mkt_unsubscribe=1&mkt_tok=##MKT_TOK##">my unsub link</a> at runtime.
  3. Add a link towards any LP in Marketo, with "?mkt_unsubscribe=1&mkt_tok=##MKT_TOK##" at the end of the href. This will be enough for Marketo to know not to add the default link to the email.

2-Customize the Marketo default code

The default admin-> email code can be customized by anyone who knows some rudiments of HTML. Text, fonts, colors, layout, etc.. can be changed. Just always make sure you do not remove the "?mkt_unsubscribe=1" from the link href.

Typically:

<table align="center" width="600">
     <tr>
          <td style="font-family: helvetica; font-size:10px; color:#555;">
               This email was sent to {{lead.Email Address}}. In order to stop receiving our spammy emails <a href="
http://mktolpsubdomain.company.com/myniceunsubpage.html?mkt_unsubscribe=1&mkt_tok=##MKT_TOK##" class="mktNoTrack" target="_blank">click here.</a>
          </td>
     </tr>
</table>

will work perfectly well.

Please note that, in order to prevent Marketo to track the click on the link, you will have to add class="mktNoTrack" to the <a> tag.

3-Customize the Marketo Default page

By default, all Marketo instances come up with an unsubscribe page that use the ugly akward Standard free form template:

pastedImage_1.png

This page will be located in the design studio, and it's name will be localized in the language in which you instance was initially created.

The most obvious and simplest move is to customize this page and make it a little more looking like a page from your company

You can also move this page in a program in the marketing activities. As long as it's URL keeps being UnsubscribePage.html (see below) it will continue to work.

4-Redirect the default link to another, nicer, page

Now, maybe you would like to use another template for your landing page. Or maybe you want to replace this unsubscribe page with a thoroughly designed subscription center. But you want to keep the usability for your Marketo users, so you would like to keep the {{system.unsubscribeLink}} token or the Marketo Default driving the visitors to your nicer LP.

For this, you need to know that, whatever the config of your instance, the {{system.unsubscribeLink}} token always direct to /UnsubscribePage.html. So you will just need to have this URL reassigned to your new and nice unsubscribe page. This is again quite easy using Marketo URL tools. Once your new unsubscribe page is ready and tested:

  1. Go to your old unbsubscribe page. In Marketo UI, click the Landing Page actions -> URL Tools -> Edit URL settings:pastedImage_9.png
  2. In the dialog box, change the URL to anything (I personally simply add "old" to the end of it.
    pastedImage_13.png
    Tip: What is important here is to throw away to previous URL so that the URL becomes available
  3. Then go to your new unsubscribe page and do exactly the same thing, granting this new page the UnsubscribePage.html URL

To run this process, wait until a moment when no email has been sent in the past hours, since you will have no unsub page available between steps 2 and 3.

5-Use a different URL for the unsubscribe page

May be you want to use a different URL for this page, or even have various URLs for various contexts. In fact, nothing mandates you to always use the {{system.unsubscribeLink}} or the /UnsubscribePage.html URL. Any Marketo LP URL will do the job here, as long as it is appended with the "?mkt_unsubscribe=1" to indicate to Marketo that this is an unsubscribe link. You should also add the &mkt_tok=##MKT_TOK## to make the click on the link carry the token value and enable cookie value reconciliation. Please also note that, in order to prevent Marketo to track the click on the link, you will have to add class="mktNoTrack" to the <a> tag.

The following is a perfect unsubscribe link in an email template:

<tr><td>This email was sent to {{lead.Email Address}}. In order to stop receiving our spammy emails <a href="http://mktolpsubdomain.company.com/myniceunsubpage.html?mkt_unsubscribe=1&mkt_tok=##MKT_TOK##" class="mktNoTrack" target="_blank">click here.</a></td><tr>

As you can see, it takes no token and not event the /UnsubscribePage.html URL.

This method will be necessary in a multi language / international roll out: you will need to have multiple, different Unsubscribe pages for each language and the Marketo default or {{system.unsubscribeLink}} token can only link to one of them.

Also please note that the unsub code can be added to snippets, which in turn can be added to the emails for maximum flexibility.

6-Disable the default Marketo unsub link.

If you are sure that your email templates always include the necessary links and you want to avoid Marketo adding it's own link just replace the default unsubscribe links with HTML comments in admin->email

pastedImage_35.png

Hope this helps,

-Greg

67925
74
74 Comments
SanfordWhiteman
Level 10 - Community Moderator

That's because you added a ? to the end of an existing query string.

You append additional query items with a &, not a ?.

By adding a ? you appended the literal string "?s=yourmom"  to the identifying token value, so naturally it's no longer a recognized value.

Ashley_Tate
Level 2

I did not add the query string to the system token--Marketing did. Marketing came to me to troubleshoot why the link wasn't working. My post was to help out anyone else who doesn't take the time to look into what the system token actually populates as and was wondering why their system unsubscribe link wasn't functioning as they expected it to.

SanfordWhiteman
Level 10 - Community Moderator

OK, regardless of who appended the value, it was simply added incorrectly.  There's no inherent problem with adding a querystring to this particular token. It's the same with ​any Marketo ​token that may contain a URL with existing params, like a {{my.token}} or {{lead.token}}.

Stepan_Egorov
Level 2

Hi guys,

Why do we then need this parameter mkt_unsubscribe=1, if the click on this link  doesn't actually attribute the unsubscribe action to a the email? Note that I have same setup with two separate products with overlapping audiences.

We really need to be able to use this data to trigger/filter in smart campaigns ("unsubscribed from email" action). As well as, of course, view unsubscribe stats for each email. At first glance, the mkt_unsubscribe=1 parameter must be the solution to provide this.

BTW, Gregoir points out below that this must be working (if I get him right).

Nick_Deboo1
Level 2

Add a link towards any LP in Marketo, with "?mkt_unsubscribe=1&mkt_tok=##MKT_TOK##" at the end of the href. This will be enough for Marketo to know not to add the default link to the email.

Should it also work with non Marketo pages? In my case it doesn't. We have for a small group a REST integration that is sending emails and we are using an URL that is not pointing to a Marketo page. It still adds the default unsubscribe line and link to the email. Even with the ?mkt_unsubscribe=1&mkt_tok=##MKT_TOK##.

Willow_Allen
Level 2

We have an unsubscribe link that appends to our text versions of our html emails (not using the token). We've recently noticed that these link clicks do not translate to our Email Link Performance reports. I know Marketo talks about adding brackets [[ ]] to our text links in order to have tracking on the text versions of our html emails. I'm wondering if I can add the following to our Unsubscribe text (Found in Admin > Email > Unsusbcribe Text) to enable this level of tracking on our Email Performance Reports.

[[%mkt_opt_out_prefix%Email-Preferences.html?mkt_unsusbcribe=1&mkt_tok=##MKT-TOK##]]

If not, would you recommend adding this link to our text versions of our snippets?

Lauren_Smith7
Level 2

Our unsubscribe page is on a non-marketo landing page and an embedded marketo form. Can I still use the system unsubscribe token? If not, what is recommended?

SanfordWhiteman
Level 10 - Community Moderator

Our unsubscribe page is on a non-marketo landing page and an embedded marketo form. Can I still use the system unsubscribe token? If not, what is recommended?

You can use the {{system.token}} if you add a Redirect Rule.

Michael_Florin
Level 10

Thank you very much, Greg. I had thought "?mkt_unsubscribe=1" would cause the link not to be tracked, but it turned out I was wrong. Thanks to your great article I know better now.

Anonymous
Not applicable

I tried the default setting (%mkt_opt_out_prefix%UnsubscribePage.html?mkt_unsubscribe=1&mkt_tok=##MKT_TOK##), but it took me to 404.

In your post, you mentioned, "all Marketo instances come up with an unsubscribe page that use the ugly awkward Standard free form template". The problem is I don't see the page anywhere in the design studio. So the page was 404.

I even searched Audit Trail. No one deleted it either.