Here’s a template for a simple subscription management system using Salesforce.com and Marketo.
Ultimately how you do this is based on your business, your audience, and what messaging you think they will want.
Step 1: Establish privacy rules internally as well as in compliance with CANSPAM and other local laws.
Step 2: Translate these rules into standard operating procedures for staff (Sales, Customer Service, and Marketing) and place these rules into your CRM.
Step 3: In your CRM, Create checkbox fields or Yes/No/Blank picklists corresponding to each channel, topic, or newsletter you intend to offer.
For example, Newsletter 1=T/F; Webinar Invitations=T/F and so on.
I prefer human readable fields using the Yes/No/Blank option in Salesforce. If you use this field option, your label can say “Newsletter Subscription: Yes” so it is clear to everyone.
Some marketers recommend offering Topics rather than specific emails or channels. That’s up to you. Personally, I like to know what I’m signing up for, so a Topic choice is less appealing. I’d much rather sign up for “Webinar Invitations” or “Special Events” than a topic on “China” because I’m not sure what I will get with “China.”
Step 4: Create corresponding SFDC Campaigns to each checkbox. Then add Member Status=Opted In/Opted Out with both set to Responded. Remove the other options. (Keep in mind you could create a Channel Tag called Subscriptions with similar progression statuses. Then you can control a Lead’s preferences using a Program.
Step 5: Create a Form called “Subscription Preferences” adding the fields from Step 3 with clear Labels. If you’re planning a more complicated system such as what Marketo built, you will need a web programmer who can use javascript and jquery.
Step 6: Create a page named “Subscription Management” with the SEO friendly page name on its URL: “subscription-management”. Add the Form you made from Step 5. Here’s where your web programmer will need to do the fancy javascript and jQuery if you want to do things like pre-fill the person’s email from the Unsubscribe link, or add many options with special formatting.
I believe this link should be available from your Privacy page as well as from your email unsubscribe link. Make life easy for people; let people sign up as they please or you risk nasty emails and FTC complaints which could have been avoided.
Write clear copy explaining what the Lead can expect from each channel. For instance “Newsletter” is not as good as “Economics Newsletter Delivered Each Thursday”. Many recommend copy encouraging the Lead to stay on the lists.
You can also add a “throttle option” that enables Marketing Suspended for a period of time; or alternately, restricts the number and frequency of emails from your company.
Restricting the frequency or number of emails is a little harder to manage on the backend. For instance, at EIU, the company policy was to send no more than 2 promotional emails per month (this excluded opted-in content). To do this properly would require a clear naming scheme or counting system in the database.
Step 7: create one or more workflows which are triggered by a Fills Out Form on this page. If someone changes their Newsletter flag to “Yes” then the Change Campaign Member Status changes to “Opted-In” while changing Webinar Invitation to “No” changes their Member Status to “Opted-Out”.
Step 8: Setup standard Smart Lists based on the Opted-In/Out member status for each channel. Train your team to use these lists as part of their targeting efforts. Remember you can nest these lists with your Segmentations or Geographic lists.
Step 9: test this. A lot.
Step 10: Migrate your records to the new system using Marketo flow actions.
For instance if your previous system simply had Unsubscribe=True/False then you will need to invite your database to opt-in to each channel. (This is the only legal option).
If you had an existing series of fields, simply use a Marketo Flow action to move a checkbox=True to Newsletter=Yes along with the corresponding Change Campaign Member Status=Opted In.
Step 11: once you are ready to go live, add a link to this page on your Privacy page. Then go to Admin>Email and adjust the Unsubscribe links with the correct page URL.
Example Subscription Pages Using Marketo:
- Marketo’s Subscription Management Page – what people often look to as the template for doing this in Marketo.
- Economist Intelligence Unit Subscription Management – this is my basic system with a standard Marketo Form and Landing Page.
- Bersin’s Subscription Management Page – also a good example of using standard Marketo Forms and Pages.
Erica Lucas says
This was extremely helpful!!!
Jeff coveney says
Josh, this was really helpful. Just a question….what is the purpose of the sf campaign? Can’t you just use the true/ false flag for sending the email to a specific group? The SF campaign seems like an extra step. Is it for reporting purposes? My guess is you wrote this prior to Programs so one could use Programs for tracking instead.
Josh Hill says
Hi Jeff,
Yes, at the time it was for tracking the total number of people who ever subscribed/unsubscribed and to get that ratio. This was before programs, but doesn’t necessarily mean you can’t still connect the Program to the Campaign. I’m sure there are a few ways to track this number, but because the Flag had no history, I wouldn’t be able to tell much about their previous or current status in a clear way.
Jeff Coveney says
Ahhh, you were doing Program/SF Campaign membership for tracking the history. That makes sense now since tracking a simple checkbox offers limited insight.
Meagan Fox says
Josh, your recommendations are very helpful; I used much of this to put together our subscription process a little over a year ago. The one place that is still very lacking in our program is the ability to understand “unsubscribes” from a particular subscription option – or the entire program in analytic – either tying them back to specific communications or just looking at our average unsubscribe rate over time.
Any suggestions? I’m thinking I need to create a campaign triggered after both clicking a link in an email and changing a data value…but I’m confused.
Thanks!
Josh Hill says
Hi Meagan,
Glad you found this useful.
If I understand you right, I recommend that each “subscription” option is tied to a Program and SFDC Campaign as Opted In/Out status.
Then you can also do this for the Unsubscribe option. The system would listen for a change data value on Unsubscribed=T/F. There’s no need to listen for the clicks link. You could then watch the trend over time for each value because the smart campaign would show this.
Marketo does track unsubscribes from an email as a filter/trigger.
Tara Zucker says
Hi Josh and a big thanks for “the guide”. I like the idea of setting up a campaign in SF to track subscribers, but can you explain how you would set this up without using campaigns? Would you just create custom fields? And are there limitations with either route?
Tara Zucker says
Hi Josh, me again. If you create a child campaign in SF called “Administrative”, for example, and assuming your Marketo and SF are synched, then should you automatically see “Administrative” as a field choice when you are building your form?
Josh Hill says
No, SFDC Campaigns do not appear as fields at any time. You can only reference them in Smart Lists and Flows or as synced to Programs. You would have your trigger flow say something like “Fills Out Form on Page Y” so then “Add to SFDC Campaign as Status=Responded”
Josh Hill says
Glad to help Tara!
Another way to do this is to use Static Lists and Fields. You’ll need to have a field for each communication option. When that flag changes, you Add or Remove the lead from the Static List.
If Data Value Changes: Opt In Email
Flow: If TRUE, Add to List
If FALSE, Remove from List
Tara Zucker says
Ok, thanks Josh. So if you set up the SF Campaigns to track the different subscriptions/interest areas, do you also need to add these same fields (Administrative, IT, etc. our diff. email communications) anywhere else in SF? I am referencing your step by step guide but our SF Admin is saying we don’t have the “Contact Preferences” (on your pg 402) anywhere in our instance.
Julie says
In Step 11, we’re supposed to update the unsubscribe text, but I am having problems with 2 things.
1. I don’t just want to replace the old unsubscribe page because I want my unsubscribe text to read something like….”To manage your email preferences, visit the email preferences page (link to page) or to unsubscribe from all emails, click here (old original 1 click opt out email page).
2. All of the Marketo support docs say to not delete this text:
%mkto_opt_out_prefix%
mkt_unsubscribe=1&mkto_tok=##MKT_TOK##
So I’m not sure how the HTML and Text should be in order for it to work the way I want. Do I have to create a token for the new unsubscribe preferences page?
Josh Hill says
Julie,
You can completely delete that text as long as you have some other page to point the leads to. The special text they insert does a couple of things that you don’t necessarily need. Just use the URL or create new HTML for it as you indicated in your #1 comment.
What Marketo does NOT want is for you to delete it all and not replace it with a compliant landing page.