experimenter
experimenter copied to clipboard
Interactions between sticky required and first run
Once we have enabled the checkbox to select the first run experiments, in the next we will implement the interactions between the following:
- is_first_run
- sticky_targeting
- advanced_targeting
implement logic as follows:
If is_first_run is enabled, force is_sticky to be true
┆Issue is synchronized with this Jira Task
➤ Jared Lockhart commented:
So there’s a couple things we need to deal with.
- Yes a first run experiment must also be sticky
- A first run experiment also requires some kind of ‘first run’ targeting, but we could do this a couple ways:
- We could inject a first run clause directly into the targeting string if is_first_run is selected, and leave advanced_targeting out of it altogether, which leaves that option free for some other particular advanced targeting if they need it
- We could force the selection of a mobile first run advanced targeting and then not need to do any special logic in the actual targeting string method, which may be simpler to implement in some ways, but then we lock the user out of using advanced targeting for other things if they need it, and i don’t think we have any other workflows right now that force the selection of an advanced targeting and then disabling the field so this might not be a great way to do it
Tarik Eshaq Just mentioned the other day that there is a flag in the mobile targeting that says whether it’s first run but now I can’t remember what it was, but it’s only available for Firefox iOS/Android and not Focus iOS/Android so that’s not a super portable solution. The tests we ran just used the existing mobile first run targeting that checks the profile creation date so for the sake of portability and using what we’ve already tested that might be good enough for now until we can implement a more specific field, like a first run bool that’s available in all mobile apps. That might also be worth filing as a followup as part of this epic?