openaustralia / oaf

OpenAustralia Foundation
https://github.com/openaustralia/oaf#readme
4 stars 3 forks source link

Unsubscribe doesn't seem to be working properly #238

Closed henare closed 8 years ago

henare commented 8 years ago

After our recent PlanningAlerts email we've had a number of people complain that unsubscribing isn't working. Luke says CiviCRM...

Says there was 193 unsubscribe requests from the email, when you click through at look at the contacts they aren’t 'on hold’ or ‘opt-out’ :S You can get to this list through the mailing report. I’d expect people with ‘unsubscribe requests’ to be opted-out or on-hold. This suggests to me that it isn’t working.

We MUST get to the bottom of this and fix it before the next mailout on the 2016-06-28.

update in case you see this in the future

Please remember if you're sending a new email that the href of the unsubscribe link SHOULD BE {action.optOutUrl}, NOT {action.unsubscribeUrl}

equivalentideas commented 8 years ago

I think there are two steps to this:

  1. [x] make sure the link to the emails we send out does what it's meant to — stop us sending any more OAF email to that address
  2. [x] make sure all the people who tried to unsubscribe in previous emails are actually unsubscribed.
equivalentideas commented 8 years ago

make sure the link to the emails we send out does what it's meant to — stop us sending any more OAF email to that address

I'm looking at what link we've included and what our other options are in civi

equivalentideas commented 8 years ago

In our emails we've been using

<p><a href="{action.unsubscribeUrl}">Unsubscribe from emails from the OpenAustralia Foundation (this won&rsquo;t affect your PlanningAlerts emails).</a></p>

The problem here, as @henare suggested to me, is that "unsubscribe" in civicrm means, remove me from the groups that this email was sent to. We want people to be able to "opt-out" (stop receiving any emails from our civicrm setup at all). I found a good description of the tags we should be using here http://civicrm.stackexchange.com/questions/4457/how-can-i-provide-mailing-receipients-an-unsubscribe-all-option Also checkout more info civicrm action tokens.

So I'm going to start by setting up our new email with the 'opt-out' tag {action.optOutUrl} and I'll check that it works.

henare commented 8 years ago

The problem here, as @henare suggested to me, is that "unsubscribe" in civicrm means, remove me from the groups that this email was sent to.

My concern was that unsubscribing wouldn't be effective if people used unsubscribe on our mailouts because we use smart groups. However that doesn't seem to be the case:

Smart groups respect people's subscription preferences. If people unsubscribe from the newsletter, they will be removed from the smart group.

However because we reimport people and tag them before each mailout I think this could still be the problem.

We want people to be able to "opt-out" (stop receiving any emails from our civicrm setup at all).

This does seem to be the only safe way around what we're doing. I think you're also right that we want people to opt-out completely anyway, i.e. they don't want email from OAF at all (even if they do want PlanningAlerts, or OA.org alerts).

Sounds like you're going down the right path to me :+1:

equivalentideas commented 8 years ago

Sounds like you're going down the right path to me 👍

Thanks for that.

This does seem to be the only safe way around what we're doing. I think you're also right that we want people to opt-out completely anyway, i.e. they don't want email from OAF at all (even if they do want PlanningAlerts, or OA.org alerts).

That also maps to what we've been saying happens in the link text “Unsubscribe from emails from the OpenAustralia Foundation (this won’t affect your PlanningAlerts emails)’.

So I'm going to start by setting up our new email with the 'opt-out' tag {action.optOutUrl} and I'll check that it works.

I think that's the next step.

equivalentideas commented 8 years ago

So I'm going to start by setting up our new email with the 'opt-out' tag {action.optOutUrl} and I'll check that it works.

Changing our unsubscribe link to use this token does the trick. Users get taken to an Opt-out page, and when they re-enter they're address they get a message saying they've opted out successfully:

screen shot 2016-06-22 at 1 53 24 pm

Their contact then gets the 'NO BULK EMAILS (USER OPT OUT)' flag screen shot 2016-06-22 at 1 55 55 pm.

I've tested that this properly removes the contact from the recipients of an email, even if they are in the group it is being sent to.

equivalentideas commented 8 years ago

I'll update this link in our next email, which should flow through because we always 'reuse' a previous email. I'm not sure how we can enforce this because we don't use templates. Maybe we could make a template? For now I think we'll just have to remember to check this:

Please remember if you're sending a new email that the href of the unsubscribe link SHOULD BE {action.optOutUrl}, NOT {action.unsubscribeUrl}

equivalentideas commented 8 years ago

The next step of this is

make sure all the people who tried to unsubscribe in previous emails are actually unsubscribed.

I'll see how that works now.

equivalentideas commented 8 years ago

I'll see how that works now.

So the way to do this I think is:

  1. [x] make a mail report with that lists all the contacts that have unsubscribed on our emails (I've had a look through old emails and I think this is what people were intending at the time).
  2. [x] assign all those contacts to a group called something like 'intended to unsubscribe'
  3. [x] update all those the contacts in the new group, using 'alter contact communications preferences' after selecting them all. Turn on "no bulk emails (user opt out)".
equivalentideas commented 8 years ago

This should be fixed now. Those steps above worked really well :point_up:

Re-open if this problem happens again.