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)
Tracking
(Not tracked)
RESOLVED
FIXED
People
(Reporter: malexis, Assigned: garethc)
References
Details
(Whiteboard: [kb=1544719] )
Designs due this week.
Go live Sept 8.
Updated•11 years ago
|
Flags: needinfo?(garethcull.bugs)
| Assignee | ||
Comment 1•11 years ago
|
||
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)
Comment 2•11 years ago
|
||
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)
| Assignee | ||
Comment 3•11 years ago
|
||
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']);
Comment 4•11 years ago
|
||
(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.
Comment 5•11 years ago
|
||
Gareth, just to confirm, is there no tracking for the "Update your Firefox" button (for Fx 29/30)?
Comment 6•11 years ago
|
||
The GA requests from comment #3 are implemented and on demo2: https://www-demo2.allizom.org/en-US/firefox/sync/
| Assignee | ||
Comment 7•11 years ago
|
||
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!
Comment 8•11 years ago
|
||
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
| Assignee | ||
Comment 9•11 years ago
|
||
Ok. That should work given that the variations of the page are tied to specific versions. Thanks.
| Assignee | ||
Comment 10•11 years ago
|
||
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!
Comment 11•11 years ago
|
||
(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
| Assignee | ||
Comment 12•11 years ago
|
||
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!
Comment 13•11 years ago
|
||
(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.
| Assignee | ||
Comment 14•11 years ago
|
||
Looks good. I can see those outbound events coming into GA. Thanks!
Comment 15•11 years ago
|
||
Closing this one.
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
| Assignee | ||
Comment 16•11 years ago
|
||
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 → ---
Comment 17•11 years ago
|
||
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)
Comment 18•11 years ago
|
||
(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)
Updated•11 years ago
|
Whiteboard: [kb=1544719]
Comment 19•11 years ago
|
||
Commit pushed to master at https://github.com/mozilla/bedrock
https://github.com/mozilla/bedrock/commit/94eb86c69e4bcee203e7a148ac5ee993f8feb6a2
Ensure GA call waits for async UiTour function
Bug 1058830
Comment 20•11 years ago
|
||
Closing as per Comment 19.
Status: REOPENED → RESOLVED
Closed: 11 years ago → 11 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•