Closed Bug 1048522 Opened 10 years ago Closed 10 years ago

add newsletter signup to about:apps page (Firefox Marketplace - Desktop)

Categories

(Tracking :: User Story, defect)

x86
macOS
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: cgalimidi, Assigned: jdavis)

References

Details

User Story

As a user I'd like to sign up to receive newsletters from the Firefox Marketplace specifically relevant to apps that work well on desktop, which i can find in the firefox marketplace

- promo for newsletter on the about:apps page
- signup mechanism
- be able to send newsletter to only the Desktop Firefox Marketplace users (flag the identity as desktop)
      No description provided.
User Story: (updated)
Blocks: 1048519
Hey there jessilyn -
 I realize you and durst are working through the details of newsletter for desktop Firefox Marketplace. 
This is a tracking bug for that effort - feel free to have conversation / questions back and forth in the bug...
Assignee: nobody → jdavis
Here's what needs to happen:

The newsletter will look and operate *very* similarly to the mozilla.org/newsletter signup form. It will show to all users *who access the Marketplace on Desktop* and the language drop-down will show so that any/everyone who sees the Marketplace and this signup box in their language, can see the newsletter languages available. (Ie they could see the Marketplace in Japanese, but we don't offer the newsletter in Japanese, so we need to show them their language options even if the signup box is in Japanese.)

This is similar to how the form works on:
https://www.mozilla.org/firefox/new/  (ie https://www.mozilla.org/ja/firefox/new/)


Please note the caveat of "show to all users who access the Marketplace on Desktop". We will want a different flag to pass through for users to access the Marketplace on Android and Firefox OS (more bugs to come on these platform pieces).


Opt-in text:

Headline:
Read all about it in our newsletter

Sub-headline/text:
Subscribe to monthly updates and keep current with Mozilla news, including the latest tips and tricks for getting the most out of your Firefox browser and the coolest Firefox Marketplace apps. It’s the perfect way for us to keep in touch!


This is the same copy as on mozilla.org/newsletter except that we added “and the coolest Firefox Marketplace apps.” Hopefully this provides Marketplace users with the info they need for signup, and keeps the l10n need as low as possible.


Success message:

Headline:
Thanks for Subscribing!

Sub-headline/text:
Thanks! Please check your inbox to confirm your subscription.

You'll receive an email from mozilla@e.mozilla.org to confirm your subscription. If you don't see it, check your spam filter. You must confirm your subscription to receive our newsletter.


These messages should already be localized and ready to roll as they are the same used for mozilla.org/newsletter.


Backend:

This email opt-in will work *very* similarly to what's on mozilla.org/newsletter - except there will be two additional flags to pass through:

MARKETPLACE_DESKTOP_FLG
MARKETPLACE_DESKTOP_DATE


Other fields to pass through (basket has it's own naming convention to map these fields to ExactTarget):
EMAIL_ADDRESS_
EMAIL_FORMAT_
SOURCE_URL
COUNTRY_
LANGUAGE_ISO2
CREATED_DATE_
MODIFIED_DATE_
MOZILLA_AND_YOU_FLG
MOZILLA_AND_YOU_DATE


This way, when someone signs up for the newsletter in the Marketplace Desktop interface, they are signed up for both the main "Firefox & You" newsletter flag (MOZILLA_AND_YOU_FLG)to get the newsletter communications), as well as the sub-interest of "Marketplace Desktop" (MARKETPLACE_DESKTOP_FLG) so we can segment this audience to send them particular Marketplace Destkop App communications).

This also means that it will trigger the double opt-in signup feature currently enabled for the "MOZILLA_AND_YOU_FLG".

If you want to get fancy, if the user is logged in with persona and signs up for the newsletter, you can change the signup box so that they do not have to re-enter their email address, and send an authenticated request to bypass the double opt-in piece since they are already behind their persona login.


I've set up these flags in ExactTarget, and am working to get the basket admin interface up and running again so I can add the FLGS to basket (Bug 1050270). The API calls will not work to basket for these fields until I'm able to add them.


Basket docs and github info can be found here:
https://wiki.mozilla.org/Mozilla.com/Newsletters


I'm cc'ing pmac, our lead basket dev, in case you have questions. 


To test/QA:
Rbillings is well versed in testing for Newsletter signups. Retornam and StephenD are also knowledgeable/familiar.


1) Make sure that Marketplace Desktop signup form works
 - Go to URL with signup box
 - Signup with unique (never before been in ExactTarget) email address, take note of email address, email format and language settings
 - Get double-opt in email in correct email format and langauge
 - confirm
 - click on "manage email preferences" link in welcome email to go to email preference center (note: welcome emails only available in EN, HU and RU at this moment - long story. I can show you another hack to get the right URL from your confirmation email if needed.)
 - make sure that these two newsletters (Firefox & You and Firefox Marketplace - Desktop) are subscribed & your language and email format settings are correct.
 - Additionally, the email address should be looked up in ExactTarget to make sure that all the fields were passed through correctly (listed above). Rbillings or I can look this up.


2) Make sure that Marketplace *Desktop* signup is not available in mobile (ie Android or Firefox OS platform). 
 - Sidenote: It may be that the Marketplace signup shown in mobile view could be the current Firefox OS Marketplace signup form: Bug 874932  (This signup form also needs to be tweaked to pass through the correct device+marketplace flag depending on device used to access the marketplace, as well as potentially tweak to show somewhere more permanently and in more languages than the 4 current supported languages (EN, ES, PT, HU) and accessing 3 times in 72 hours. This is another bug, but a caveat to know while building out this Desktop integration).



Please let me know if you have any questions.
Depends on: 1050270
Summary: add newsletter signup to about:apps page → add newsletter signup to about:apps page (Firefox Marketplace - Desktop)
I'm unclear on what you mean by "adding flags" -- the flags described don't appear to be in mozilla.org/newsletter -- or else they're things that get set BY basket and not what's sent TO basket -- or else I just don't understand. 

My guess is that you're talking about fields that basket needs, but are all of them sent from the user's POST submission?

Because on mozilla.org/newsletter, I see:

  <input type="hidden" name="newsletter" value="mozilla-and-you">
  <input type="hidden" name="source_url" value="https://www.mozilla.org/en-US/newsletter/">
  <input id="id_email" name="email" placeholder="YOUR EMAIL HERE" required="required" type="email" />
  <select aria-required="true" id="id_country" name="country" required="required">...</select>
  <select aria-required="true" id="id_lang" name="lang" required="required">...</select>
  <input checked="checked" id="id_fmt_0" name="fmt" type="radio" value="H" /> (etc)
  <input id="id_privacy" name="privacy" required="required" type="checkbox" />

But nothing in there matches what's described above as needing to be passed:

EMAIL_ADDRESS_
EMAIL_FORMAT_
SOURCE_URL
COUNTRY_
LANGUAGE_ISO2
CREATED_DATE_
MODIFIED_DATE_
MOZILLA_AND_YOU_FLG
MOZILLA_AND_YOU_DATE

Am I right in assuming that those HTML fields get mapped to these all-caps fields (which are for either basket or ExactTarget, but that mapping happens elsewhere)? For example, the basket API mentions fields "email" and "newsletters", with the latter being a comma-delimited list, but that doesn't match what's above either.

So right now, based on the info in comment #2, I'm assuming we would have:

    <input type="hidden" name="newsletter" value="mozilla-and-you">
    <input type="hidden" name="newsletter" value="some new string to map to MARKETPLACE_DESKTOP?">

... (which creates our comma-delimited list value for "newsletter" on submission) and then we need to pass (like the existing form does) values for these named fields: source_url, email, country, lang, fmt, privacy.

CCing Liz for the double-opt-in part; CCing Mathieu as he's building this.
Blocks: 1046460
(In reply to David Durst [:ddurst] from comment #3)

> My guess is that you're talking about fields that basket needs, but are all
> of them sent from the user's POST submission?

You are correct. 

> Am I right in assuming that those HTML fields get mapped to these all-caps
> fields (which are for either basket or ExactTarget, but that mapping happens
> elsewhere)? For example, the basket API mentions fields "email" and
> "newsletters", with the latter being a comma-delimited list, but that
> doesn't match what's above either.

You are correct. This is what I had meant by "(basket has it's own naming convention to map these fields to ExactTarget)" in c#0. The all-caps fields are in ExactTarget. They are mapped from ExactTarget to the basket code inside of the Basket admin. 

The Basket admin is currently down (Bug 1050270), so I have been unable to add the value name that you need to complete this form.

This is what I had meant to convey in c#o:

"I've set up these flags in ExactTarget, and am working to get the basket admin interface up and running again so I can add the FLGS to basket (Bug 1050270). The API calls will not work to basket for these fields until I'm able to add them."


> 
> So right now, based on the info in comment #2, I'm assuming we would have:
> 
>     <input type="hidden" name="newsletter" value="mozilla-and-you">
>     <input type="hidden" name="newsletter" value="some new string to map to
> MARKETPLACE_DESKTOP?">

I will add this "some new string to map to MARKETPLACE_DESKTOP" (it will probably be "marketplace-desktop" as soon as Bug 1050270 is resolved.)


> ... (which creates our comma-delimited list value for "newsletter" on
> submission) and then we need to pass (like the existing form does) values
> for these named fields: source_url, email, country, lang, fmt, privacy.

Correct. Pmac can shed some more light on all the individual fields listed above and how they map in the POST submission. Pmac, is this information included in the basket docs?
So you don't need to know about the flags :ddurst. Those are just implementation details on the basket side. All you need to know is that you need to send the following to basket:

newsletters: mozilla-and-you,marketplace-desktop
source_url: <url of the form page>
country: <2 letter country code>
language: <language code>

That should do it (assuming "marketplace-desktop" is the correct identifier. Jess?). Basket will handle the rest. The full docs for the subscribe API in basket is here:

https://github.com/mozilla/basket/#newssubscribe

There are other options, but this is all you should need. If your server-side is Python you can use the basket-client package we have: https://github.com/mozilla/basket-client
(In reply to Paul McLanahan [:pmac] from comment #5)

> That should do it (assuming "marketplace-desktop" is the correct identifier.
> Jess?). 

I can't add the identifier for this new subscription flag until I can get access to the basket admin (Bug 1050270)
'marketplace-desktop' identifier for this new subscription flag is now available in basket on prod, stage and dev. 

Please let me know if you run into any issues.
No longer blocks: 1046460
Blocks: 1057542
No longer blocks: 1048519
Depends on: 1049216
When I go to about:apps in my Firefox Nightly on desktop, I get "The address isn't valid".
Hi Martijn.

Prior to launch, it was decided that it was no longer accessible at "about:apps" but rather through Tools->Apps (as well as an available customization under the "hamburger" menu).
Blocks: 1097152
No longer blocks: 1057542
doing an alternate solution instead
   1097152: [project] add newsletter signup to Marketplace
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.