When recipients click "Unsubscribe" in my mailings, it takes them to a page where they can unsubscribe from every group the mailing was sent to. Is there a way to let them opt-out of one and not the other, and also is there a way to let them opt-out of all future mailings? Sorry if this is listed somewhere. I've searched and looked in the docs but haven't come across this.

  • 2
    Thank you for educating me on Unsubscribe vs. Opt Out. In my mail footer I had been using only {action.unsubscribeUrl}. Now I have added {action.optOutUrl} as a means of letting them opt out of all future mailings, which is the feature I was looking for. I'm still not able to figure out how to get {action.unsubscribeUrl} provide the option to select which list to unsubscribe from if the user is in more than one that the mailing was sent to. Thank you again for this help. Clearly I'm the front end user trying to figure out my own setup. Yikes.
    – Emily
    Commented Aug 6, 2015 at 22:05

2 Answers 2


There is no built-in "Unsubscribe All" function in CiviCRM, though there is a User Opt Out option from CiviMail, as well as a Do Not Email setting.


The unsubscribe link is provided by the {action.unsubscribeUrl} (URL) or {action.unsubscribe} (email) tokens.

The unsubscribe email, even if not provided as a token in the message, is supplied in the email headers as the List-Unsubscribe address. Someone who unsubscribes by email is removed from every list used to send the message. For example, if you send a newsletter to two groups, Donors and Volunteers, and [email protected] is on both, Joe would no longer receive messages from either Donors or Volunteers.

More commonly, people would click on the unsubscribe link, and be brought to a confirmation page to be asked

Are you sure you want to be removed from the mailing list(s) shown below …

You are requesting to unsubscribe this email address

The confirmation is in place to prevent accidental removals when people follow the link from forwards or replies. If confirmed, the contact is not deleted from the Group, but their group status is changed to Removed.

As of 4.6.5, there appears to be no way to unsubscribe from all groups at once, nor even to pass individual group IDs to the unsubscribe, unlike subscribing where group IDs can be passed to {action.subscribeUrl} as {action.subscribeUrl.gid}. On Drupal, it might be possible to handle subscriptions using Webform CiviCRM Integration and a bit of jQuery to select/unselect multiple checkboxes.

Because unsubscriptions are on a list-by-list basis, people unsubscribing from all current lists would not prevent them from being added to any newly created lists.


In contrast to the unsubscribe options, a user Opt Out ({action.optOutUrl} or {action.optOut} tokens) does not affect group membership status; it is an independent field on the contact itself. Contacts which have NO BULK EMAILS (User Opt Out) selected will be removed from all CiviMail mailings. So if you add the contact to any new mailing lists you create in the future, they will not receive messages from those lists, either.

The confirmation message for an opt-out link is different from that of an unsubscribe link:

You are requesting to opt out this email address from all mailing lists

There is no way to prevent an opt-out, though that feature has been requested in the past.

Do Not Email

A third option, which I believe can only be set by an admin or through a custom setup, not only prevents the distribution of CiviMail to a contact, but prevents an admin from sending a direct message as well.


There's four tokens that are relevant to what you're asking. Unsubscribe via e-mail, unsubscribe via web, opt-out via e-mail, opt-out via web.

Opt-out will opt someone out of all future mailings. Unsubscribe via web SHOULD allow someone to pick which group(s) they're unsubscribing from. If that's not your experience, please update the question to explain what it's not allowing you to do.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.