It really depends on how your marketing channels are set up. But ideally, your marketing channels should collect campaign level data and generally would be set up in the following way.
1. If any tracking code/campaign exists, capture and use as the marketing channel (includes search, social, display, etc.. anything with a tracking code) 2. If no tracking code, then collect search engine or referring domain and use as marketing channel 3. If no tracking code, search engine, or display, then label as direct traffic
Most implementations will split these steps into more than just 3 steps (one step for paid search, one step for paid social, etc...) But if set up correctly, the marketing channel will be collecting both tracking codes and referring domains, and the tracking code will take precedence over referring domain.