I'd like to do this at a global level; not within each program. Thanks!
This sounds like a good place for the Marketing Suspended flag to be used. Create a master global campaign that watches for any leads at your domain to be created (also remember to do as a batch update for any pre-existing leads) and mark those leads as marketing suspended. This effectively suspends them from getting any emails (except operational), but is also handy as a readymade filter.
Next you'll want to develop an "Eligible for Mailings" or "Eligible for Processing" Smart list that includes filters like "email address is not empty", "unsubscribed is false", etc. Include your marketing suspend flag in there as a filter. Then, you just need to include this smart list as a filter "Member of smart list is" in front of any campaigns where you don't want these leads to run, and they'll be excluded. Do this in front of your sync campaign, and any program membership campaigns, as well as any one-off email campaigns.
This has other value outside of just preventing internal employees from entering campaigns, but it's a good starting point.
And if you ever forget to call this smart list in your smart campaigns, because these leads are suspended, they still won't get your emails (except operational).
Hope this is at least a helpful starting point!
I use segmentations for this - and have all the business domains listed as Email address Contains. And then all of our employees sit in an Employee segment. So any campaigns created to automatically pull in leads have included: 'Segment is not employee'
This is a similar option to above but i find this easier to use.
We do the same as this, works great for us.
Same here! I'd recommend creating segmentations so you have visibility into who is actually an employee vs. marketing suspended.