I don’t understand from your explanation if you are using the built-in in-app filter, or if you built the filter feature yourself.
It seems you might have built your own.
If you write data to a user-specific column (the icon in the header of the column will be blue), then your filter will be user-specific.
If you write data to a non-user-specific column (the icon in the header of the column will not be blue), then your filter will be global (the same for all users).
However, to not use up too many updates, you can consider using an in-app filter with an array of matching options for each row.
Say a row is “today”, then it will also be “last 7 days”, “last 14 days”, “last month” etc.
Say a row is from 22 Nov then it will be “last month” but not the other things.
You might be able to create that in an If-Then-Else column, separate them by commas, and then split them into an array using the Split Text column, feed it as a filter in the collection.