Having a "Direct" source could be for several reasons, like:
Just like in Google Analytics, direct traffic is basically a catch-all bucket. If Google can’t figure out where the visitor came from (no UTM, no referral), it drops them into "Direct."
The best way to avoid traffic from showing up as direct is to always use UTM parameters in the links shared via email, chat, newsletters, or offline campaigns.