Pass User Emails on to our Marketing Team #993
Comments
|
The idea would be that we subscribe new FxA users to our Firefox newsletter via the Basket API built by the Engagement team. |
|
@pmclanahan, how do we bypass the double opt-in when we've already verified the user's email? |
I'll have to double check, but I'm pretty sure that you're right. Optin = true. Validated means you're sure the email is real. It bypases DNS record checks.Sent from my mobile. Please excuse my brevity. |
|
Will our TOS/PP agreements need to be updated to allow this? Two lines from the Privacy Policy:
Is marketing material considered a "Firefox cloud service"?
Does that mean if a user deletes their Firefox account, marketing will be notified and the user removed from their list? |
Good question. I don't know. @mikaland2?
Yes. |
|
The answer is probably no, b/c the purpose of an email associated with a firefox account (to get services) is different from the purpose of an email associated with marketing (to get newsletters and updates). So if a user deletes the FxA, it will, AFAIK, only delete the data associated with the account. The user has to separately unsubscribe from emails (which can be done at anytime by selecting the unsubscribe option on a Mozilla email. There may be other ways to do this also). Urmika Devi ----- Original Message -----
Good question. I don't know. @mikaland2?
Yes. Reply to this email directly or view it on GitHub: |
|
If I deleted my Firefox Cloud Services account, I personally wouldn't expect to be removed from a newsletter as well. I assume I could sign up for the newsletter even if I didnt have a Firefox Account, so mentally I'd consider those two separate silos. But I guess the definitive solution would be to add a checkbox to the "Delete account" page where we say "Remove me from the Firefox newsletter" and leave it deselected by default. That gives the user the option of quickly unsubscribing if they successfully rage quit their account (or remain on the list if they so choose). Just my $0.01 CDN. |
|
We already have email unsubscribe methods, and should stick with the existing methods as much as possible before creating a new one. You will have to check with the engagement team before implementing a second box on opting out of emails. Urmika Devi ----- Original Message ----- If I deleted my Firefox Cloud Services account, I personally wouldn't expect to be removed from a newsletter as well. I assume I could sign up for the newsletter even if I didnt have a Firefox Account, so mentally I'd consider those two separate silos. But I guess the definitive solution would be to add a checkbox to the "Delete account" page where we say "Remove me from the Firefox newsletter" and leave it deselected by default. That gives the user the option of quickly unsubscribing if they successfully rage quit their account (or remain on the list if they so choose). Just my $0.01 CDN. Reply to this email directly or view it on GitHub: |
|
From a legal perspective, the answer I'm hearing from @mikaland2 is "no, we don't need to automatically unsubscribe the user if she deletes her FxA". From a UX and user expectation perspective, it's not as clear cut to me. The discussion here assumes the user understands the distinction between the two. It's obviously easier if we don't unsubscribe on delete, though. |
|
@pmclanahan do I understand correctly that anyone can call /user/subscribe with |
|
It turns out that |
|
If it doesn't apply to all newsletters, it should (some newsletters do - example is here: http://www.mozilla.org/en-US/newsletter/). The engagement team is responsible for this area. Let me know of any newsletters that you came across that don't have email verification, so we can get that fixed. ----- Original Message ----- It turns out that Reply to this email directly or view it on GitHub: |
|
Ok. I think that we'll need What's the timeline on having that turned back on? |
Should be in the next week or so.Sent from my mobile. Please excuse my brevity. |
|
I just read the full thread here and got the full context (sorry, I didn't realize the initial request is that you want a way for users who create Fxa accounts to easily sign-up for engagement newsletters with minimal extra email verification, since the user just completed that process). Sign-up for engagement emails requires (1) separate opt-in to the Websites Privacy Notice (2) language selection (3) country selection and (4) email verification process. Totally fine if you can remove the last step (since it's repetitive) - so long as the user opts-into receiving engagement emails to the same email address they used for Firefox Account sign up. Is this possible? |
|
Can we store the bit on the sync server, in the user's Firefox profile? |
|
The FxOS Basket JS Client has been moved to: https://github.com/mozilla-b2g/gaia/blob/master/shared/js/basket_client.js |
|
@ckarlof, @pmclanahan - I am looking at the list of newsletters available in https://basket.mozilla.org/news/newsletters/, the available newsletters are: Are we signing the user up for one of these, or a new one? |
|
|
|
We should confirm with Jessilyn, but I believe it will be |
|
@ckarlof, @mikaland2 - are we using http://www.mozilla.org/privacy/ as the link to the privacy policy? This is what is linked to from http://www.mozilla.org/en-US/newsletter/ |
|
It should link to: http://www.mozilla.org/en-US/privacy/websites/ We're going to change the name so the context of the document is more clear to users. Instead of being called the "Websites Privacy Notice" it will probably become "Websites, Emails & Cookies Privacy Notice" I'll file a bug with the webdev team to correct the link from http://www.mozilla.org/en-US/newsletter/ |
|
Chris and I had a long and rambling discussion yesterday about how we could approach this problem. I am attempting to write down some of that context so that it is not lost forever. There are four use cases we must consider when talking about email marketing:
We tossed around a number of approaches:
Each has its own pain points. 1 is additional work for the basket folks. 2 feels gross if not done right. 3 may be "yet another server". Since 2 and 3 involves newsletter management via external services, they require a way of discovering a user's basket token, if one exists. One proposed discover mechanism is to have the oauth or profile server be able to query the basket server for the information. The basic flow for 3 would be something like: @ckarlof - feel free to edit this and fill in omissions and errors. |
|
@shane-tomlinson, we have a different idea on how to do this. The idea is to create endpoints on the Basket API that accept Browser ID assertions. We presented a proposal to the engagement team, and agreed to move forward. Next action is for @warner to drill down on the details of the Basket API changes. @shane-tomlinson, this approach will let us do everything from the client side (verification link landing page and account dashboard) via BrowserID assertions and no proxies. You can continue to get the front-end UI ready until the Basket API changes are ready. One additional ask from the engagement team is that we only solicit the user to sign up for the newsletter if her preferred language is one that the newsletter supports. You can see that list here, but we should double check with @pmclanahan. |
|
@shane-tomlinson, if it helps, I scraped all the countries in the UPDATE: And the languages are dumped in a comment at the bottom: https://gist.github.com/pdehaan/0e781908fc64cca705b5#comment-1264897 |
|
@pdehaan, you passed the job interview, but we need the languages, not the countries. |
|
The reason the countries are there is because I think they are constructing locales out of them, e.g., |
|
Well languages are even easier since it's a short list (not that it matters, it's just a script). I updated the gist above with a comment, but I'll inline it here too: [
{"id": "Bahasa Indonesia"},
{"de": "Deutsch"},
{"en": "English"},
{"es": "Español"},
{"fr": "Français"},
{"pl": "Polski"},
{"pt": "Português"},
{"hu": "magyar"},
{"ru": "Русский"}
] |
|
Thanks @pdehaan! |
|
If we need a complete country->possible locale list, the CLDR from unicode.org has the info. |
|
There's also the JSON output of basket. We're not constructing locales. We simply store the users country and preferred language. The countries list is constructed with information in product-details which is in turn extracted from the Firefox codebase and is simply "all the countries". The list of languages represents the ones into which the newsletter is translated, and as you can see from my first link above varies per newsletter. |
|
Also product-details has that full country list translated into 85 languages |
|
Basket server API request filed in https://bugzilla.mozilla.org/show_bug.cgi?id=1041074 . This will enhance Basket's @ckarlof and I came up with two steps for using this from the FxA side. In the first (temporary) approach, we do this:
This ensures that the user has a Basket server account set up before they see the "done" message. If we decide to automatically sign users up for a newsletter at this time, we can change the fxa-content-server implementation to submit a non-empty newsletters= argument. If we decide to present an opt-in subscription box, we can change the API to accept a flag (or list of newsletters) and pass them on to the Basket server. Then in the longer-term approach, we:
The dashboard page, when we get around to building it, will:
Seem reasonable? We want to minimize the coupling between fxa-auth-server and anything else, and we certainly don't want account creation to block on external servers, but it seems like things are a lot cleaner (and more reliable) if we can do this server-to-server instead of going through the browser-side client. Also, we want to discourage folks from using the |
|
@ckarlof, has all the useful content and actions from this issue been moved into the bugzilla tracking bug? If so then we should close this one out to avoid splitting context. |
|
I think this is indeed stale. Tracking bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1041074 |
This is the engineering part of #992
@ckarlof @pmclanahan to fill in the details.
The text was updated successfully, but these errors were encountered: