On-chain privacy when receiving is simple when using HD wallets. Generate a new address when receiving and that address has never been used before. It looks like a new wallet to chainanalysis.

But when you pay, it will merge both addresses coins and it will reveal your identity.

Your wallet should have coin control so you can choose which utxos to spend. Of it doesn't request it or move to a different wallet. When you spend try to have one utxos input if possible so you're always splitting never combining. If you must combine then wait for when fees are low and use a coinjoin tool.

The question was about receiving, not paying.