Solved

Filter on user domain not working

  • 5 September 2021
  • 6 replies
  • 455 views

Badge

Hi,

 

I try to filter out my internal users with the domain, with a condition like “domain is not claap”.

When I do a segment “domain is claap”, the segment is correctly filtered to list all my claap internal users.

However, when I do the segment “domain is not claap”, some of the suers with a claap domain (not all of them) are not correctly filtered out. Note that I also tried all variants “does not contain”, and so on…

This pb also appears when I filter on the email directly.

I tried to investigate on the root cause (either our instrumentation or the way Amplitude works), but I can’t understand why the filter works to include but not to exclude.

 

For instance the screenshot below illustrates this with a specific user. I would expect segment 2 to return 559 users and not 560 (ie all users).

 

Am I missing something?

 

Thanks for your help!

icon

Best answer by Denis Holmes 6 September 2021, 11:26

View original

6 replies

Userlevel 6
Badge +8

Hi @robin.bonduelle ,

 

The reason you are seeing users in the chart was because Amplitude is an events-based platform, which means that events are logged with event properties and the user properties present at the time the event was fired. In your chart, users were showing up because we are looking for users who performed Any Event with their email not equal to the users email in the screenshot at the time of the event. So it would seem that there are users in this range who are performing some event where they didn’t have this email at that time but may have had it elsewhere, causing them to appear . Some more information on the tracking of events and properties can be found here. I would also suggest for you to view this article here which explains glob matching and its use.

 

I hope this explains your situation! If not, feel free to message me with your chart link, email you use for Amplitude and the Organization and I will look into it for you. Thanks!
 

Badge

Hi Denis, 
Thanks a lot, that makes sense. These users first send some events before being fully signed up (and then before we get their email), so I guess this is why these related events show up.

However, how can I then filter out my internal user with an actual value? We are a fully remote team so filtering out the IP address won’t work, and we are a very early company in free version right know, so we don’t access the cohorts at this stage.

Thanks for your help.

Userlevel 6
Badge +8

Hi @robin.bonduelle ,

 

Glad that helped! I would filter on the Any Event. This means we can filter on any event that meets a particular condition. So I would filter on Any Event where email=youremail AND where email != (none) so as to not include users who were not given an email at the time of the event. This should help filter out your internal employees :)

Badge

OK, but in this case, it would filter out users that are not logged at all no?

Userlevel 6
Badge +8

Hi @robin.bonduelle Unfortunately, it would exclude users who do not have an email or are not logged in with that email, yes. However, you could also use the Identify API https://developers.amplitude.com/docs/identify-api and you could use that to update a user property such as email=youremail@domain.com. If you can send this with their first logged event when they are registered, this email property will propagate for all events moving forward (unless it is updated with a new value or if it is removed). So then you could filter on the users email to target internal users. You do need to call the Identify API and update the user property for the user though. 

I hope this helps! Comment again though if you need any further clarification :)

Badge

Super clear, thx a lot Denis!!

Reply