lookit / lookit-api

Codebase for Lookit v2 and Experimenter v2. Includes an API. Docs: http://lookit.readthedocs.io/
https://lookit.mit.edu/
MIT License
10 stars 18 forks source link

QA: One-Click Subscribe #1362

Closed okaycj closed 5 months ago

okaycj commented 6 months ago

Summary

These are the instructions on how to QA One-Click Subscribe on the staging site (https://babieshelpingscience.com).

QA

The unsubscribe link should appear only in emails sent to participants. The study announcement emails are sent on a schedule and are not going to be able to be tested immediately.

  1. Auto 'study announcement' emails: If you've not already, sign up a child on staging and wait for the site to automatically send you an email. It would help to make sure that there is at least one 'live' study on staging and that the child you created qualifies for that study.
  2. Custom emails from researchers: Go into a study that you can both participate in and send emails from. Participate in the study and then send yourself an email from the message participants view.

For both of these email types, click the unsubscribe link in the email body.

With some email clients (e.g. gmail) you might see an unsubscribe link at the top of the email as well (a button near the to/from/subject info). That should also work.

After clicking 'unsubscribe' (either the link in the email or the button), you can verify the action by going to https://babieshelpingscience.com/account/email/ and checking that all checkboxes are unchecked. Before moving on, recheck all the boxes and save. This will help when you test unsubscribe on another email or using another method.

becky-gilbert commented 5 months ago

Hi @okaycj @ianchandlercampbell, I tested this and the unsubscribe-all and feedback/question links at the bottom of the email are both working perfectly for me. I do have a few questions.

  1. I noticed that the 3 links at the bottom of the participant-facing emails are all showing up on a single line:

Screenshot 2024-03-19 at 2 52 56 PM

Is it ok if I put in a PR to put these links on separate lines?

Fixed in #1372, see comment below.

  1. WRT to this unsubscribe-via-email method:

With some email clients (e.g. gmail) you might see an unsubscribe link at the top of the email as well (a button near the to/from/subject info). That should also work.

I'm not seeing Gmail's 'unsubscribe' button at the top of the email, but I did find that clicking on the 'show details' arrow gives me the 'unsubscribe' field with a 'unsubscribe from this sender' link - see screenshots below. I clicked on the link and got a message (inside Gmail) about unsubscribing via email, and I clicked that, which gave me a confirmation message within the email client. I can see that Gmail sent an 'unsubscribe' email on my behalf.

I think the way we set this up was that we are going to monitor the lookit email for these unsubscribe emails and unsubscribe people manually, right? Can anyone verify that they received my unsubscribe email sent to lookit-bot@mit.edu? Can the 'bot' email address receive email? And does it matter that Gmail's confirmation message says that it's from 'Unknown'?

Screenshot 2024-03-19 at 2 53 10 PM

Screenshot 2024-03-19 at 2 53 28 PM

Screenshot 2024-03-19 at 3 04 30 PM

becky-gilbert commented 5 months ago

WRT # 1 above - this was fixed in #1372. This is what the footer for participant-facing emails looks like now:

Screenshot 2024-03-20 at 2 25 19 PM

ianchandlercampbell commented 5 months ago

Looks good! If possible I would like to see the unsubscribe button that appears at the top of the email (I personally have found that useful for other marketing emails as companies implemented this). I wonder if that button is what we need, as most orgs had a footer link prior to the new regulations?

becky-gilbert commented 5 months ago

Yes, I think the unsubscribe regulations are related to unsubscribe-related email headers, which we've now included, rather than the link at the bottom of the message body.

I thought that gmail would show the 'unsubscribe' button at the top based on the inclusion of those headers, so I'm not sure why it isn't showing up. I can double check that our headers are correct and read up on when/how gmail adds that button, in case we're missing something.

ianchandlercampbell commented 5 months ago

Thank you! I think that would be helpful.

becky-gilbert commented 5 months ago

@ianchandlercampbell update on # 2 in my comment above:

It turns out that Gmail does not always show the handy 'unsubscribe' button at the top of the email, even when the sender includes the two unsubscribe headers, as we have done. Here's one explanation I found (source):

Gmail doesn't show the Unsubscribe button until it has assessed your domain and decided that you are reliable. This is to stop spammers from inserting the headers and using responses to confirm email addresses. You will need to also include links within the email body and once a number of people have used those links and you have unsubscribed them, the button will start to show.

And here's another explanation of what Gmail looks for when the decided whether or not to show that button (source):

  1. Your email includes List Unsubscribe headers
  2. The domain from which you send emails, the return path domain (or bounce domain), and the DKIM signing domain are all of high or medium reputation.
  3. You dispatch a significant volume of daily emails to Gmail users. Note that it may take between 7 to 10 days for this button to become visible.
  4. You maintain a high open rate for the volume of emails sent

We're definitely meeting some of these requirements: we are including the two unsubscribe headers and I've checked that they are correct, and our email is passing the DMARC/DKIM/SPF checks (MIT/SendGrid authentication). Here are the remaining factors that can apparently affect whether or not that button shows up in Gmail:

  1. Our domain has a medium/high reputation. I assume the MIT domain reputation is high, and our own reputation on SendGrid is listed as 99%, which I assume is also high. But apparently the issue of email domain reputation is complicated as there's no single number or data source that all email clients use. I suggest opening a new issue if we want to dig into this more.
  2. We dispatch a significant volume of daily emails to Gmail users. I don't know what Gmail considers to be a 'significant volume'. We deliver about 1200 emails/day (with a bounce rate of ~1% and spam reports under 1%).
  3. We maintain a high open rate for the volume of emails sent. I don't know what our open rate is because we have disabled SendGrid's 'email open tracking' feature.

Conclusion: I think we should wait ~2 weeks after rolling out the unsubscribe changes in production, and then if that button hasn't appeared, we can consider digging into some of the possible reasons in the list above.

ianchandlercampbell commented 5 months ago

@becky-gilbert that sounds like a plan! Reminds me of how Google also handles search indexing and "information cards" in search.

ianchandlercampbell commented 5 months ago

It looks like the unsubscribe header is not working for some reason on mine-- I can test with a different lab email if that could be the root of the issue? Not sure why I wouldn't see the header (the footer seems to be functional, testing this next).

Image

ianchandlercampbell commented 5 months ago

All unsubscribe combinations (logged in/logged out/already unsubscribed) seem to be operating as intended via the footer options.