Question

Photo of Andrew Metz

0

Unsubscribe from the following lists without log-in

Currently it seems like the "Only unsubscribe me from the following lists" appears only when the person is logged in. It would be great if it was there all the time... Doesn't the person info already get passed to the "Edit Email Preference" block and couldn't that be used to allow the person to update which lists they want to be subscribed to? 

I'm worried that if people don't want a particular type of email (say Kid's info) they'll unsubscribe from everything without logging in... most people aren't logged, if they even have a log-in when the click "unsubscribe"

  • Photo of Josiah Rocke

    2

    The stock unsubscribe html is constructed in such a way that the user only partially authenticates. I don't know if this is by design or not. You need to change the Unsubscribe code to use the page number, not the page route. You can find it here: Communications => Communications Mediums => Email (click  to open settings)

    Default code: '{{ 'Global' | Attribute:'PublicApplicationRoot' }}Unsubscribe/{{ Person | PersonTokenCreate:43200,3 }}?CommunicationId={{ Communication.Id }}'

    The yellow text is causing the problem. To fix it, change to this: '{{ 'Global' | Attribute:'PublicApplicationRoot' }}page/276?rckipid={{Person | PersonTokenCreate}}'

    Changing to using the page/xxx?rckipid will allow the user to fully authenticate and allow them to see and unsubscribe to lists.





    • Andrew Metz

      My default code looks a little different


      {{ 'Global' | Attribute:'PublicApplicationRoot' }}Unsubscribe/{{ Person.UrlEncodedKey }}


      should it be...
      {{ 'Global' | Attribute:'PublicApplicationRoot' }}page/276?rckipid={{ Person.UrlEncodedKey }}?CommunicationId={{ Communication.Id }}


      or what you originally posted?

    • Andrew Metz

      OK... for some reason (after much hair pulling) it only works without "?CommunicationId={{ Communication.Id }}" at the end.
      Like this:
      {{ 'Global' | Attribute:'PublicApplicationRoot' }}page/276?rckipid={{ Person | PersonTokenCreate }}


      HOWEVER. this does partially authenticate the person so it shows them as logged in... but with no access to their account... so the "login" menu button shows "Hello ...." and the log out option shows in the menu (but no "My Account")


      I'm not sure if this matters?

  • Photo of Josiah Rocke

    1

    Sorry, drop the Communication ID bit but leave the PersonTokenCreate (not UrlEncodedKey)

    Like this: {{ 'Global' | Attribute:'PublicApplicationRoot' }}page/276?rckipid={{Person | PersonTokenCreate}}

    I just tested it out and it fully authenticated me. (could click on "Hello" and to be my account).D

    Did you modify your CMS security settings?



    • Ken Roach

      Josiah! You da man! Thank you so much for this solution! Andrew - thanks for asking the question!

  • Photo of Craig Mashburn

    0

    I was just noticing my unsubscribe link was again not logging in. I suspect upgrading to new version might be re-writing these changes??

    Might want to check your settings.