Filtering audience by multiple criteria

I would like to send push notification to audience filtered by multiple criteria (gender, age, location, account creation date and a lot more). I can't use tags, because my filtering logic requires comparing numbers (for example 20 < age < 30).I consider using "named users" to filter my database and define audience as list of named users. Is it best approach to get this done, or maybe I missed some features in docs?

Didn't find what you were looking for?

New post



  • Hi Maciej!

    The best way to set this up would be to use the tags in your app, and combine them in a segment.

    In this case, let's say you want to send a message to anyone who is between the ages of 20 and 30.

    You would create a segment that is composed of each of those ages, from 21 to 29. When you create those tags, you'll combine them all in a logical OR statement, such that if anyone user has one of those tags, they will be eligible for that push.


    So, your app will need to collect that data before you can filter off of that data to be able to send a push. One thing to keep in mind that if you do use those tags, please try and refrain from creating tags that have any personally identifiable information about that user.




    Comment actions Permalink
  • Thank you Michael. I used wrong example to explain my needs. Since combining <100 OR statements is not big deal , what if I want filter my users by last active date? Lets say i want to filter users registered last 15 days. I need to declare tags amount equal to number of users, then if I want to send push notification to users registered less than 15 days ago I have combine >100 000 ORs. Are tags really efficient way to filter audience with logic using number comparison? Wouldn't it be better to use named users, filter users on backend, then send notification to specified group of named users?

    Comment actions Permalink
  • Maciej,


    One clarification on the tagging front. You probably do not want to use tagging to tag things that are timestamp specific, since you can and likely will end up with an unmanageable amount of tags. Tags should be used as a way to send a push to a segment of your audience based on user preference( gender, age, location, etc.) or user behavior within the app(visited x page, opened app x amount of times, etc.) and not time specific.

    For time specific things, you'll either want to use existing tools within Urban Airship to send push, if you have that data in your backend, then I would definitely do the filtering on that backend. Once you've done that, then yes, you would use Named Users to send pushes to those users.


    One other thing you might consider, is using Lifecycle Lists, which are automatically generated lists based off your audience behavior that you can use to send to a specific portion of your audience.

    In this example, you would be able to send a push notification to users who have opened the app for the first time, or even just organically opened the app in the last 7 days, 30 days, or even just yesterday.


    Alternatively, you can also use the API to upload a CSV list of Named Users. Those Named Users would be determined on your backend, based off your filtering, so then you can make updates to the CSV list as needed.

    Comment actions Permalink

Please sign in to leave a comment.