instead of `uid` here i think it would be better for us to be explicit:

```js
var id = identify.id();
var email = identify.email();
var traits = identify.traits();
var username = identify.username();

if (id) traits.userID = id;
if (id || username) window.GoSquared.UserName = id || username;
window.GoSquared.VisitorName = email || username || id;
```

the main thing is that when integrations ask for a "user id" we always want to only give them the `id` property. the reason for that is that it should map directly to a database ID, which never changes, so if services (like github) let people change their username, or change their emails, if they were IDing by those properties they would end up with two different users in their analytics, if that makes sense.