This is an Advanced GAM solution.
Gmail query documentation
Advanced GAM documentation
Get list of non-suspended users
gam redirect csv ./Users.csv all users print users fields primaryemail
Add label to each user
gam redirect stdout - multiprocess csv Users.csv gam user "~primaryEmail" label "OldMessages"
Label messages old than a year; adjust as desired; see Gmail query documentation
To test, omit doit
gam redirect stdout - multiprocess csv Users.csv gam user "~primaryEmail" modify messages query "older_than:1y" addlabel "OldMessages" maxtomodify 0 doit
Ross