The SignupExpAccountCreationComplete (and SignupExpAccountCreationImpression, which should be updated similarly while we're at this) does not say which conditions it's fired for (this should be clarified as a documentation improvement). However, I would have thought it's for all (pre, post, and control). The docs currently say, "Log server side event if we acquired the user through pre or post edit call to action", which is not consistent with that.
However, I don't see anything in the code that actually restricts to pre/post.
Another issue is that we previously (when preparing the second deployment after bugfixes, https://trello.com/c/dw4XzcAC/418-implement-instrumentation-for-the-trackedpagecontentsavecomplete-schema) specified that only users on an edit page would get a token.
That means users creating an account may not yet have a token. However, there was some discussion on IRC that we may want to token all users hitting the create account page (even so, if they have JavaScript off they won't get one, so we can either not log the event if they have no token or make token optional, like https://meta.wikimedia.org/wiki/Schema:TrackedPageContentSaveComplete). If we do assign a token for visits to the create account page, we'll want to log the create account impression in JavaScript (otherwise, the server will check for a token before the client can assign one due to the 'create account' visit).
Finally, I think it should use AddNewAccount (https://www.mediawiki.org/wiki/Manual:Hooks/AddNewAccount), since that actually fires for new accounts, so e.g. refreshing a page or bookmarking/returning will not cause extra firings.
Similarly, UserCreateForm is a simpler and more performant (since there's not an extra if on every unrelated page load) way of checking if they're on the signup page (but it only works if we don't need to assign a token to every visitor the 'create account' page).
Version: master
Severity: normal