Closed Bug 1058830 Opened 11 years ago Closed 11 years ago

GA Events tracking for new Sync product page

Categories

(www.mozilla.org :: Analytics, defect)

Production
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: malexis, Assigned: garethc)

References

Details

(Whiteboard: [kb=1544719] )

Designs due this week. Go live Sept 8.
Flags: needinfo?(garethcull.bugs)
Hey Mike, Do you have all of the conditional states for this new page? Let me know. Thanks. Gareth
Flags: needinfo?(garethcull.bugs) → needinfo?(malexis)
Gareth, the states are: 1. Firefox 31+ (signed-in to Sync) <-- default 2. Firefox 31+ (signed-out of Sync) 3. Firefox 29 or 30 4. Firefox 28 or older 5. Firefox for Android 6. Not Firefox (any other browser) If you can get me the appropriate code to drop in for GA for each states, I can add it.
Flags: needinfo?(malexis)
Hey Steven, Can we trigger the following events: 1) After the page has loaded, can we call the following event that identifies the state of the user: _gaq.push(['_trackEvent', '/sync/ Page Interactions', 'load', state]); where state is: Latest Version of Firefox or Higher: Signed-In Latest Version of Firefox or Higher: Signed-Out Previous 2 Versions of Firefox Older Version of Firefox Firefox for Android Not Firefox Are you able to determine the latest version and continually set this as we move forward with new Firefox releases? 2) On click of the following buttons, please set: Download Firefox Button: _gaq.push(['_trackEvent', 'Firefox Downloads', 'download click', 'Firefox']); Download Firefox for Android: _gaq.push(['_trackEvent', 'Firefox Downloads', position, 'Firefox for Android']); where position is button at either the top or bottom of the page: top bottom Sync CTA _gaq.push(['_trackEvent', '/sync/ Page Interactions', 'button click', 'Sync CTA']);
(In reply to Gareth Cull [:garethc] from comment #3) > Are you able to determine the latest version and continually set this as we > move forward with new Firefox releases? Excellent question. This will need some careful consideration, as some of the version checks are due to Fx versions with certain versions of Sync functions, and other version checks are just to make sure Fx is up-to-date. I'll bring this over to the implementation bug. I'll add the other GA events as requested. Thanks.
Gareth, just to confirm, is there no tracking for the "Update your Firefox" button (for Fx 29/30)?
The GA requests from comment #3 are implemented and on demo2: https://www-demo2.allizom.org/en-US/firefox/sync/
Hey Stephen, I wasn't aware of that CTA. Thanks for bring it up. For clicks on 'Update your Firefox' button, please set: _gaq.push(['_trackEvent', 'Firefox Downloads', 'update click', 'Firefox']); Thanks!
Gareth, I've added the update event. Since the detection of Firefox versions done for differences in Sync APIs in specific versions, rather than relative versions, can I suggest we update the GA strings accordingly: Firefox 31 or Higher: Signed-In Firefox 31 or Higher: Signed-Out Firefox 29 or 30 Firefox 28 or Older Firefox for Android Not Firefox
Ok. That should work given that the variations of the page are tied to specific versions. Thanks.
Hey Stephen, Few things: 1) I noticed the two Firefox 31 or Higher versions were not being detected in GA. It only returns an unknown. Can you please check this? Here's a screencap of what i'm seeing come into GA: http://cl.ly/image/1b3P0I0B1D3z by version. 2) I noticed we aren't tracking any outbound text links. Could you please capture this as well with the following event on click? _gaq.push(['_trackEvent', '/sync/ Page Interactions', 'outbound link click', href]); 3) What variation does the Fx for Android button appear near the top? Thanks!
(In reply to Gareth Cull [:garethc] from comment #10) > 1) I noticed the two Firefox 31 or Higher versions were not being detected > in GA. It only returns an unknown. Can you please check this? Here's a > screencap of what i'm seeing come into GA: http://cl.ly/image/1b3P0I0B1D3z > by version. This is likely due to the whitelisting required to test the Sync API in Firefox 31+ on the demo server. Can you try again with these additional testing instructions? https://bugzilla.mozilla.org/show_bug.cgi?id=1046251#c14 > 2) I noticed we aren't tracking any outbound text links. Could you please > capture this as well with the following event on click? > _gaq.push(['_trackEvent', '/sync/ Page Interactions', 'outbound link click', > href]); Should I be catching any links at all on the page, or should I specifically target the links in the content of this particular page?x > 3) What variation does the Fx for Android button appear near the top? The "DOWNLOAD FIREFOX FOR ANDROID" button appears in the Fx31+ & Signed-In state. You might not have seen this due to the white-list testing requirements mentioned above.
OS: Mac OS X → All
Hardware: x86 → All
Answers below. > This is likely due to the whitelisting required to test the Sync API in > Firefox 31+ on the demo server. Can you try again with these additional > testing instructions? > https://bugzilla.mozilla.org/show_bug.cgi?id=1046251#c14 Great. I've set this up and can now see the Firefox 31+ events showing up in GA: http://cl.ly/image/182i2u260D41 > Should I be catching any links at all on the page, or should I specifically > target the links in the content of this particular page?x Just target links within the main content of this page. Don't worry about headers or footers. I believe they are just links to our support site. > The "DOWNLOAD FIREFOX FOR ANDROID" button appears in the Fx31+ & Signed-In > state. You might not have seen this due to the white-list testing > requirements mentioned above. Great. I can see the top button now and the event is working properly. Let me know when you have those outbound links working. Thanks Stephen!
(In reply to Gareth Cull [:garethc] from comment #12) > Let me know when you have those outbound links working. Thanks Stephen! This is now in place.
Looks good. I can see those outbound events coming into GA. Thanks!
Closing this one.
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Hey Steven, I'm doing the analysis for the sync page and am seeing about 25% of users being classified as unknown. They seem to be running version Fx32. I thought this was only an issue on the demo server as comment mentioned below. Is this something you can look into? Please let me know. Thanks. (In reply to Steven Garrity [:sgarrity] from comment #11) > (In reply to Gareth Cull [:garethc] from comment #10) > > 1) I noticed the two Firefox 31 or Higher versions were not being detected > > in GA. It only returns an unknown. Can you please check this? Here's a > > screencap of what i'm seeing come into GA: http://cl.ly/image/1b3P0I0B1D3z > > by version. > > This is likely due to the whitelisting required to test the Sync API in > Firefox 31+ on the demo server. Can you try again with these additional > testing instructions? > https://bugzilla.mozilla.org/show_bug.cgi?id=1046251#c14
Status: RESOLVED → REOPENED
Flags: needinfo?(steven)
Resolution: FIXED → ---
This is a tricky one to debug. I haven't been able to replicate the issue in production on development. Looking at the source: https://github.com/sgarrity/bedrock/blob/a379189f979edfd8463c15d8c0eb55ab20c8797c/media/js/firefox/sync.js#L43 It seems like the case where someone in Firefox 31 or newer gets detected, but the following function doesn't get run: Mozilla.UITour.getConfiguration('sync', function (config) { ... }); CC:ing agibson here for any possible insights. Alex, do you of any circumstances where a Firefox 31/32/33 client wouldn't run that function?
Flags: needinfo?(steven) → needinfo?(agibson)
(In reply to Steven Garrity [:sgarrity] from comment #17) > This is a tricky one to debug. I haven't been able to replicate the issue in > production on development. > > Looking at the source: > > https://github.com/sgarrity/bedrock/blob/ > a379189f979edfd8463c15d8c0eb55ab20c8797c/media/js/firefox/sync.js#L43 > > It seems like the case where someone in Firefox 31 or newer gets detected, > but the following function doesn't get run: > > Mozilla.UITour.getConfiguration('sync', function (config) { ... }); > > CC:ing agibson here for any possible insights. Alex, do you of any > circumstances where a Firefox 31/32/33 client wouldn't run that function? There are some in-progress Firefox bugs that can prevent UITour API from working, such as e10s tabs etc. But I would not think this would be anywhere near 25% of users. Looking at the code however, I wonder if we have a simple race-condition here? Mozilla.UITour.getConfiguration is an async function. It fires an event to Firefox and waits for a response before executing the callback. Until that happens, the JS continues to run and gaTrack() could get hit first, resulting in 'unknown'. I would hedge a bet that this is the issue.
Flags: needinfo?(agibson)
Whiteboard: [kb=1544719]
Closing as per Comment 19.
Status: REOPENED → RESOLVED
Closed: 11 years ago11 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.