Closed
Bug 981081
Opened 12 years ago
Closed 12 years ago
[Australis onboarding] Only capture GA events in the tour the first time a visitor interacts with it
Categories
(www.mozilla.org :: Pages & Content, defect)
Tracking
(Not tracked)
RESOLVED
FIXED
People
(Reporter: cmore, Assigned: agibson)
Details
(Whiteboard: [kb=1300369] )
It looks like if you reinstall, update, or switch channels in Firefox and that version has an onboarding tour available, the /whatsnew page and tour will be displayed again. It is unlikely that people will take the tour more than once and it is displayed again, it will corrupt the aggregate GA conversion data over time.
Can we set a cookie or another method to only show it once to any user regardless of the condition?
| Assignee | ||
Comment 1•12 years ago
|
||
There is going to be a link in the Firefox Help menu to allow people to retake the tour if they choose (not sure if this link will point to the firstrun tour or whatsnew variant yet).
However, how about we just only send GA events the first time the tour is taken by a visitor, as opposed to restricting people from taking the tour again?
| Reporter | ||
Comment 2•12 years ago
|
||
(In reply to Alex Gibson [:agibson] from comment #1)
> There is going to be a link in the Firefox Help menu to allow people to
> retake the tour if they choose (not sure if this link will point to the
> firstrun tour or whatsnew variant yet).
>
> However, how about we just only send GA events the first time the tour is
> taken by a visitor, as opposed to restricting people from taking the tour
> again?
How should we determine if the user has taken the tour already? localStorage or cookie?
| Assignee | ||
Comment 3•12 years ago
|
||
(In reply to Chris More [:cmore] from comment #2)
> How should we determine if the user has taken the tour already? localStorage
> or cookie?
The tour only runs in Firefox 29 or above, so I think we should be fine to use localStorage here.
| Reporter | ||
Comment 4•12 years ago
|
||
(In reply to Alex Gibson [:agibson] from comment #3)
> (In reply to Chris More [:cmore] from comment #2)
> > How should we determine if the user has taken the tour already? localStorage
> > or cookie?
>
> The tour only runs in Firefox 29 or above, so I think we should be fine to
> use localStorage here.
Ok, yeah, then let's just use localStorage and only send GA data until they have either have finished the tour or have closed it.
There is still the possibility that someone will cancel the tour and then play it later. If we did as described above, we wouldn't have their data when they take the tour again. That should be fine and we just need to understand what the data will represent and that's only the first time the tour is taken.
| Assignee | ||
Comment 5•12 years ago
|
||
(In reply to Chris More [:cmore] from comment #4)
> There is still the possibility that someone will cancel the tour and then
> play it later. If we did as described above, we wouldn't have their data
> when they take the tour again. That should be fine and we just need to
> understand what the data will represent and that's only the first time the
> tour is taken.
We already use a flag in the tour logic to know when someone starts the tour or clicks "not now". We can just set the localStorage flag to "true" only if the user has interacted with or started the tour. This way if they choose not to see it the first time, we can still record their data should they return later.
| Assignee | ||
Updated•12 years ago
|
Summary: Don't allow [Australis onboarding] tour to be shown more than once to the same visitor → [Australis onboarding] Only capture GA events in the tour the first time a visitor interacts with it
Comment 6•12 years ago
|
||
Hey Alex,
As a follow-up to our conversation on vidyo, can we use your logic to set a custom variable to indicate this is a users first time taking the tour? That way, we could keep all of our current events in tact, and then I can use the CV to filter out repeat tour visits.
So on click of the Let's Go CTA, please set the custom variable before you call the trackEvent:
_gaq.push(['_setCustomVar',5,'First Time Taking Firefox Tour','True',2]);
_gaq.push(['_trackEvent','Tour Interaction','click','Lets go']);
Just so you are aware of the values used in the CV:
5 = the Index (or slot) associated with a Custom Variable being used. We have lots of CV slots available - https://intranet.mozilla.org/Mozilla.org_Custom_Variable_Map
'True' or 'False' - determines whether this is a user's first time with the tour
2 = sets the scope of the CV to be at the session level.
Any questions, let me know. Thanks.
Thanks.
Gareth
| Reporter | ||
Comment 7•12 years ago
|
||
(In reply to Alex Gibson [:agibson] from comment #5)
> (In reply to Chris More [:cmore] from comment #4)
> > There is still the possibility that someone will cancel the tour and then
> > play it later. If we did as described above, we wouldn't have their data
> > when they take the tour again. That should be fine and we just need to
> > understand what the data will represent and that's only the first time the
> > tour is taken.
>
> We already use a flag in the tour logic to know when someone starts the tour
> or clicks "not now". We can just set the localStorage flag to "true" only if
> the user has interacted with or started the tour. This way if they choose
> not to see it the first time, we can still record their data should they
> return later.
+1
| Assignee | ||
Comment 8•12 years ago
|
||
(In reply to Gareth Cull [:garethc] from comment #6)
> Hey Alex,
>
> As a follow-up to our conversation on vidyo, can we use your logic to set a
> custom variable to indicate this is a users first time taking the tour? That
> way, we could keep all of our current events in tact, and then I can use the
> CV to filter out repeat tour visits.
>
> So on click of the Let's Go CTA, please set the custom variable before you
> call the trackEvent:
>
> _gaq.push(['_setCustomVar',5,'First Time Taking Firefox Tour','True',2]);
> _gaq.push(['_trackEvent','Tour Interaction','click','Lets go']);
This sounds like a great solution, as it means we can keep the tracking data and avoid having to refactor the GA event tracking code in the tour :)
Updated•12 years ago
|
Whiteboard: [kb=1300369]
| Assignee | ||
Comment 9•12 years ago
|
||
The code discussed for this bug is now on demo3 and available for testing:
https://www-demo3.allizom.org/en-US/firefox/29.0/whatsnew/
https://www-demo3.allizom.org/en-US/firefox/29.0/whatsnew/b/
https://www-demo3.allizom.org/en-US/firefox/29.0/firstrun/
| Assignee | ||
Updated•12 years ago
|
Assignee: nobody → agibson
Status: NEW → ASSIGNED
| Assignee | ||
Updated•12 years ago
|
Status: ASSIGNED → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•