Closed
Bug 1102610
Opened 11 years ago
Closed 11 years ago
Analytics and testing for new tour pages
Categories
(www.mozilla.org :: Analytics, defect)
Tracking
(Not tracked)
RESOLVED
FIXED
People
(Reporter: cmore, Unassigned)
References
Details
Attachments
(1 file)
28.12 KB,
image/jpeg
|
Details |
Scope:
* Web analytics events on all major in-page events (most already exists in current tours)
* Add event tracking to new search/opt-in CTAs
* Add key/value cohort pair to FHR
* Ensure that optimizely is able to vary both page and TourUI content.
Test plan coming.
Reporter | ||
Comment 1•11 years ago
|
||
I've contacted optimizely and if we go over our max amount of unique users tested in 30 days, we will just get charged per 1,000 unique users. We may stay under the max and if not, we'll have a one-time bill to pay. I have verified that it won't shut off.
Reporter | ||
Comment 2•11 years ago
|
||
Gareth and I ran an optimizely test on this page:
https://www.mozilla.org/en-US/firefox/33.1.1/firstrun/
We changed the "Take a quick tour" in the door hanger by using this optimizely code:
$("#firstrun > #strings").attr({"data-title":"Take a quick tour!"});
As long as the strings that we need to vary on are somewhere in the page, we should be able to create experiments that optimize whatever goal we need to test for. It doesn't matter if the page are data attributes in a div vs. content within the body. If the content is accessible via JavaScript, we can change it on the fly.
Reporter | ||
Comment 3•11 years ago
|
||
Update: We are going to try to do this without using optimizely and build in the sampling and variations directly within the whatsnew page.
A few metrics notes:
* The first dice roll (opt in vs forced) will need to be changed often after launch from 0 to 100% probability to either of the paths.
* The second dice roll (even split between the 3 variations) will probably have to be modified at some point to not be even. Options: 33,33,33; 0,50,50; 0,0,100, etc. By default they will be even split among all 3 variations, at some point we may have to eliminate one or two variations thus evenly splitting the probability among the remaining variations.
* All of the same custom events used in onboarding tours should be used.
* On top of the existing GA events, we will need to add new events/custom variables to takes into account the dice rolls and the 3 variations per path.
* We will also need to set the paths (treatments) and actions taken by the user to the UITour to evaluate long-term impact on choices.
The GA and UITour tagging is being documented here:
https://docs.google.com/a/mozilla.com/spreadsheets/d/1F7-mz7cgSLTpD6uahMezU0Oe_qs9UxYtsf_iEXFTXxQ/edit#gid=0
Reporter | ||
Comment 4•11 years ago
|
||
Gareth: Can you review the GA events and custom variables in the comment above?
bsmedberg/dzeber: Can you review the UITour tagging for the path and the action the user has taken?
Flags: needinfo?(garethcull.bugs)
Flags: needinfo?(dzeber)
Flags: needinfo?(benjamin)
Reporter | ||
Comment 5•11 years ago
|
||
Alex: Can you review comment 3 and reply if you have any specific concerns now with these metrics?
Flags: needinfo?(agibson)
Comment 6•11 years ago
|
||
Looks good to me Chris,
- I don't think we'll need an "non-en-us" event since other locales won't hit this page.
- I also wonder if we should apply some more descriptive labeling for the events to make things easier to follow? There are three designs "Ravioli", "Flare", "Independence", so I'm guessing we could just use things like "whatsnew_forced_independence" instead of "whatsnew_forced_1C" (I'm assuming this is how things break down). Thoughts?
- Also, do the custom GA variables that do not accompany a GA event (non-usa, non-google) still need a dummy event to trigger them? I think Gareth has used this in the past.
Flags: needinfo?(agibson)
Comment 7•11 years ago
|
||
In the opt-in cases, it appears that we're not measuring anything until the user explicitly accepts or declines, is that correct?
I'm a little worried about that because if the user just closes the firstrun tab (without either accepting or declining) we wouldn't get any event at all. Could we add a "Shown" event or replace "Close" with "Shown":
three-way:
_gaq.push(['_trackEvent', 'whatsnew srch-chg page Interactions', 'Door Hanger', 'Shown']);
_gaq.push(['_trackEvent', 'whatsnew srch-chg page Interactions', 'Door Hanger', 'Switch']);
_gaq.push(['_trackEvent', 'whatsnew srch-chg page Interactions', 'Door Hanger', 'Close']);
or two-way:
_gaq.push(['_trackEvent', 'whatsnew srch-chg page Interactions', 'Door Hanger', 'Shown']);
_gaq.push(['_trackEvent', 'whatsnew srch-chg page Interactions', 'Door Hanger', 'Switch']);
Since the ratio we really care about optimizing is "switch/shown".
Flags: needinfo?(benjamin)
Comment 8•11 years ago
|
||
(In reply to Benjamin Smedberg [:bsmedberg] from comment #7)
> Could we add a "Shown" event or replace "Close" with "Shown":
>
I agree that we need to know the overall number of users who were shown the page, and I think recording the three events is most robust. What does the "Close" event mean for the opt-in pages - explicitly declined?
For the forced cases, will it be the case that the total pages shown is = "Try" + "Close"?
Flags: needinfo?(dzeber)
Reporter | ||
Comment 9•11 years ago
|
||
I would have assumed we were going to add all of the show events and other in-page actions like we do in most tours when I created that doc, but I talked to Alex and he is starting from scratch. The doc above was mainly for people interacting with the door hanger assuming we had show events. We'll spec out a complete one now.
Reporter | ||
Comment 10•11 years ago
|
||
We will already have all of the basic show data on the page because the Google Analytics tag is on all of www.mozilla.org by default. We just need to add some more events to capture it all. We're on it.
Reporter | ||
Comment 11•11 years ago
|
||
bsmedberg dzeber: Gareth and I met and we made a bunch of changes to the UITour and GA event tagging. Check it out now and see if you have any concerns before we move forward.
Flags: needinfo?(garethcull.bugs)
Flags: needinfo?(dzeber)
Flags: needinfo?(benjamin)
Comment 13•11 years ago
|
||
Yes, looks fine.
Questions to double-check my understanding of the terminology: for each branch, should the count of ShowHanger equate to the # users who updated and saw the What's New page? Should we expect that # Try/Switch + # Close = # ShowHanger?
Flags: needinfo?(dzeber) → needinfo?(chrismore.bugzilla)
Reporter | ||
Comment 14•11 years ago
|
||
(In reply to dzeber from comment #13)
> Yes, looks fine.
>
> Questions to double-check my understanding of the terminology: for each
> branch, should the count of ShowHanger equate to the # users who updated and
> saw the What's New page? Should we expect that # Try/Switch + # Close = #
> ShowHanger?
Good question. For un-modified Firefox who see these whatsnew pages, try/switch + close = showHanger. Though, if the user has removed their search bar, they won't be counted in the showHanger. This happened to me this morning and we don't want to assume every person successfully had the door appear just because they hit the page with the correct version. The numbers should line up in probably the major of use cases and not all, which is why we explicitly are setting an event when the door hanger appears.
Flags: needinfo?(chrismore.bugzilla)
Reporter | ||
Comment 15•11 years ago
|
||
Alex: can you review line 2 & 3 for the firstrun page and line 23 for the whatsnew page?
https://docs.google.com/a/mozilla.com/spreadsheets/d/1F7-mz7cgSLTpD6uahMezU0Oe_qs9UxYtsf_iEXFTXxQ/edit#gid=0
All cool?
Flags: needinfo?(agibson)
Comment 16•11 years ago
|
||
(In reply to Chris More [:cmore] from comment #15)
> Alex: can you review line 2 & 3 for the firstrun page and line 23 for the
> whatsnew page?
>
> https://docs.google.com/a/mozilla.com/spreadsheets/d/1F7-
> mz7cgSLTpD6uahMezU0Oe_qs9UxYtsf_iEXFTXxQ/edit#gid=0
>
> All cool?
I think this should be fine Chris, thanks
Flags: needinfo?(agibson)
Comment 17•11 years ago
|
||
Analytics as per the doc in Comment 15 have been implemented and are now up on demo5 for testing.
For testing setup see instructions in bug 1102404.
Comment 18•11 years ago
|
||
Am testing now...will update the bug with results shortly.
Gareth
Comment 19•11 years ago
|
||
Here's a screencap of the test results showing all of the different whatsnew variation events being captured correctly in GA. Still need to test /firstrun/.
http://cl.ly/image/3B2P2j3F2s15
cmore...do you also want to verify? It looks good to me.
I have one other question, for users that have removed the search bar from their browser and are presented with the post tour page with no doorhanger, do we want to want to have an event trigger for them?
Something like: _gaq.push(['_trackEvent', 'whatsnew srch-chg interactions','No Search Bar','ViewPage']);
Flags: needinfo?(chrismore.bugzilla)
Reporter | ||
Comment 20•11 years ago
|
||
(In reply to Gareth Cull [:garethc] from comment #19)
> Here's a screencap of the test results showing all of the different whatsnew
> variation events being captured correctly in GA. Still need to test
> /firstrun/.
>
> http://cl.ly/image/3B2P2j3F2s15
>
> cmore...do you also want to verify? It looks good to me.
>
> I have one other question, for users that have removed the search bar from
> their browser and are presented with the post tour page with no doorhanger,
> do we want to want to have an event trigger for them?
>
> Something like: _gaq.push(['_trackEvent', 'whatsnew srch-chg
> interactions','No Search Bar','ViewPage']);
Gareth:
Can you fill in column H that you have verified every line in this doc? Just put yes/no.
https://docs.google.com/a/mozilla.com/spreadsheets/d/1F7-mz7cgSLTpD6uahMezU0Oe_qs9UxYtsf_iEXFTXxQ/edit#gid=0
We could add an event for when the door hanger is not displayed.
Alex: For the conditional on when to display the door hanger or not, are you able to know exactly when the search box is not active to be able to send a GA event?
Flags: needinfo?(garethcull.bugs)
Flags: needinfo?(chrismore.bugzilla)
Flags: needinfo?(agibson)
Comment 21•11 years ago
|
||
(In reply to Chris More [:cmore] from comment #20)
> We could add an event for when the door hanger is not displayed.
>
> Alex: For the conditional on when to display the door hanger or not, are you
> able to know exactly when the search box is not active to be able to send a
> GA event?
Yes I can do this
Flags: needinfo?(agibson)
Comment 22•11 years ago
|
||
cmore: i'm updating the doc now. Also, included a column for a screencap of the verified data coming into GA.
agibson: As per conversations in IRC, here's the event to be triggered when 'yahoo' is set as the default search provider.
_gaq.push(['_trackEvent', 'whatsnew srch-chg interactions','yahooDefault','ViewPage']);
Flags: needinfo?(garethcull.bugs)
Reporter | ||
Comment 23•11 years ago
|
||
agibson: Check out last 4 lines of the tagging doc:
https://docs.google.com/a/mozilla.com/spreadsheets/d/1F7-mz7cgSLTpD6uahMezU0Oe_qs9UxYtsf_iEXFTXxQ/edit#gid=0
We've added a few exception event to handle edge cases.
Let us know when those are ready to verify.
Thanks!
Flags: needinfo?(agibson)
Comment 24•11 years ago
|
||
Verified the following events are working:
YahooDefault and OtherDefault on /firstrun/: http://cl.ly/image/0P0y241e0g2g
Default Button Click: http://cl.ly/image/11033H2b241L
I've updated the spreadsheet. Just waiting on the remaining events to be implemented as per comment 23.
Gareth
Comment 25•11 years ago
|
||
(In reply to Chris More [:cmore] from comment #23)
> agibson: Check out last 4 lines of the tagging doc:
>
> https://docs.google.com/a/mozilla.com/spreadsheets/d/1F7-
> mz7cgSLTpD6uahMezU0Oe_qs9UxYtsf_iEXFTXxQ/edit#gid=0
>
> We've added a few exception event to handle edge cases.
>
> Let us know when those are ready to verify.
>
> Thanks!
Added the extra events and pushed to demo5 for verification, thanks!
Flags: needinfo?(agibson)
Reporter | ||
Comment 26•11 years ago
|
||
Gareth: After you get all of the line items verified, we need to create a spreadsheet of the key metrics that we will want to report on during the first few weeks of December. We need to get that rolling this week since your time off is right around the corner. If you don't do automated pulls, I will probably just export unsampled data on a regular basis and do pivot table conversion rates.
Flags: needinfo?(garethcull.bugs)
Comment 27•11 years ago
|
||
Updated the spreadsheet. Remaining Events verified here: http://cl.ly/image/3H1J170t3W2s
I'll start putting together a spreadsheet now based on demo-5 data then you should be able to adjust the filter to pull production data from GA.
Gareth
Flags: needinfo?(garethcull.bugs)
Comment 28•11 years ago
|
||
Links to dice roll code for reference:
opt-in / forced doorhanger: https://github.com/mozilla/bedrock/commit/9ca90fc28123c48e804d7eb40b613aef718da1e0#diff-1d93649c46a3e53687ec98af24c7deb2R177
page variation: https://github.com/mozilla/bedrock/commit/9ca90fc28123c48e804d7eb40b613aef718da1e0#diff-1d93649c46a3e53687ec98af24c7deb2R167
Comment 29•11 years ago
|
||
Am I reading this right that users who already have Yahoo as default get entered in the experiment as "Forced"?
https://github.com/mozilla/bedrock/commit/9ca90fc28123c48e804d7eb40b613aef718da1e0#diff-1d93649c46a3e53687ec98af24c7deb2R316
I'm presuming that Yahoo would be default either because it was set by the user prior to updating or because it was reset on updating to 34 and then a paveover was done.
Flags: needinfo?(agibson)
Comment 30•11 years ago
|
||
(In reply to dzeber from comment #29)
> Am I reading this right that users who already have Yahoo as default get
> entered in the experiment as "Forced"?
>
> https://github.com/mozilla/bedrock/commit/
> 9ca90fc28123c48e804d7eb40b613aef718da1e0#diff-
> 1d93649c46a3e53687ec98af24c7deb2R316
>
> I'm presuming that Yahoo would be default either because it was set by the
> user prior to updating or because it was reset on updating to 34 and then a
> paveover was done.
Yes we're currently always showing those who have Yahoo set as default the forced door hanger. Can you say for certain this is not what we should be doing? It's easy enough to update and show them the default view, but I need to know for certain what we should be doing here.
Flags: needinfo?(agibson) → needinfo?(dzeber)
Comment 31•11 years ago
|
||
We don't want to count them in the GA testing branches (1[ABC]).
I'm not sure about which Whatsnew view they should get though. Should users who already have Y! as search default see the default Whatsnew page?
Flags: needinfo?(dzeber) → needinfo?(benjamin)
Comment 32•11 years ago
|
||
(In reply to dzeber from comment #31)
> We don't want to count them in the GA testing branches (1[ABC]).
>
> I'm not sure about which Whatsnew view they should get though. Should users
> who already have Y! as search default see the default Whatsnew page?
I can change it to still make sure they don't get counted in the GA testing branches (1[ABC]). Although Chris / Gareth might already be able to differentiate the data seeing as we are also adding a separate FA event for users with Yahoo already as default.
Need a definitive answer to this quick if we are going to push to prod today.
Comment 33•11 years ago
|
||
For now I've gone with the assumption that users who already have Yahoo as their default will see the default whatsnew page (Sync promo). They will not see the page variations or doorhanger.
for those users we will still track the following GA event:
['_trackEvent', 'whatsnew srch-chg interactions', 'All', 'yahooDefault']
If this needs to change, please let me know ASAP. In the mean time, I am going to proceed with a pull request so we can get this into code review.
Comment 34•11 years ago
|
||
If they have y! as default, they are likely a paveover install. It's up to cpetit which message he would like to show them, but I think that the default sync-promo page is at least acceptable for first-ship.
Flags: needinfo?(benjamin)
Comment 35•11 years ago
|
||
(In reply to Benjamin Smedberg [:bsmedberg] from comment #34)
> If they have y! as default, they are likely a paveover install. It's up to
> cpetit which message he would like to show them, but I think that the
> default sync-promo page is at least acceptable for first-ship.
Thanks - this is an easy last minute change so let's go with this for Dec 1. If we would like to show pave-over users some other messaging we can always do this post-launch.
Reporter | ||
Comment 36•11 years ago
|
||
rebecca: Check out this tagging document:
https://docs.google.com/a/mozilla.com/spreadsheets/d/1F7-mz7cgSLTpD6uahMezU0Oe_qs9UxYtsf_iEXFTXxQ/edit#gid=0
Column E & F are the treatment tags that are being set onload and on specific in-page interactions. The treatment tags are being saved in Firefox. The treatment tags are name and value pairs and you can see all of the names/values in those two columns.
1) open about:healthreport
2) click raw data
3) search for the string treatment
4) Write Y or No for column J in the spreadsheet if you are able to find the name/value in about:healthreport.
Not all name/values will be there as they are only set depending on which variation you see and what page you are looking at and what the dice roll was. The flow can be viewed here:
https://drive.google.com/file/d/0B5fr2uXG8zVqS3E1YjJoU3d2SkU/view
Flags: needinfo?(rbillings)
Comment 37•11 years ago
|
||
Verified all variations except lines 23-26. The only missing FHR value is on the whatsnew_Default page.
Flags: needinfo?(rbillings)
Comment 38•11 years ago
|
||
Lines 23-26 generate GA events, but leave no record in FHR. For example I can see the Declare button on the page, but cannot find any declareButton [or variations thereof] in the raw FHR data.
Reporter | ||
Comment 39•11 years ago
|
||
(In reply to Rebecca Billings [:rbillings] from comment #38)
> Lines 23-26 generate GA events, but leave no record in FHR. For example I
> can see the Declare button on the page, but cannot find any declareButton
> [or variations thereof] in the raw FHR data.
For the declare button to show up in the data, you have to click the declare button.
Gareth, agibson: can you help finish verifying comment 36?
Flags: needinfo?(garethcull.bugs)
Flags: needinfo?(agibson)
Comment 40•11 years ago
|
||
Lines 23-26 don't have any FHR events associated with them, so I think we're fine there.
I see `whatsnew_Default` in about:healthReport OK (see attached screenshot), which is being recorded if the user is not in US timezone, or has neither google or yahoo set as their default search engine choice.
It's worth noting that We're not recording any FHR data if 'yahoo' is already the default search engine (as per line 25 in the doc).
Flags: needinfo?(agibson)
Comment 41•11 years ago
|
||
Gareth, do we want to record FHR data for users with yahoo set as their default (see Comment 40)? If so, please let me know and I can make a quick follow up PR.
Comment 42•11 years ago
|
||
Alex, let's record FHR data for users with Yahoo if it is easy to quickly add this in. Also, i'm seeing declare button events come through in GA: http://cl.ly/image/11033H2b241L
Let me know if there is anything else you need.
Flags: needinfo?(garethcull.bugs)
Comment 43•11 years ago
|
||
Talked to Gareth on Vidyo and we're going to set "whatsnew_Default" FHR data for those with Yahoo as their default, as well as those without the searchbar in their UI.
Opened a pull request here: https://github.com/mozilla/bedrock/pull/2551
Comment 44•11 years ago
|
||
Commits pushed to master at https://github.com/mozilla/bedrock
https://github.com/mozilla/bedrock/commit/b882e8d4aa385e8815bfa0ac16d84a12ac666e63
[fix bug 1102610] Update FHR analytics for whatsnew
https://github.com/mozilla/bedrock/commit/939bd19cfa45b20e79d7101e76cbb783f3d4829d
Merge pull request #2551 from alexgibson/bug-1102610-update-fhr-whatsnew-analytics
[fix bug 1102610] Update FHR analytics for whatsnew
Updated•11 years ago
|
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Reporter | ||
Comment 45•11 years ago
|
||
We are seeing good data in GA for all variations! All good here. Thanks everyone.
You need to log in
before you can comment on or make changes to this bug.
Description
•