How can I know which user made which BTC transaction? I am making an app, and I want my users to deposit BTC coin to my address which is an exchange address (I don't have the private keys).

How can I know which user made which transaction?

I have a way, which is to add the numeric user ID to the amount , for example if an user wants to deposit 100.00 BTC coin , and the ID is 158769, I can add the ID in the amount like this: 100.0000158769 and make it as a QR-code so the user should deposit the exact amount so I can know that he made this transaction.

But is there any other way to do it , any idea?

Thanks in advance
You give each customer a different address. That is the only reasonable approach.